在工控系统中,组态软件可以帮助用户通过可视化界面来完成对设备的监控与控制。虽然市面上已经有很多成熟的组态软件供应商,但是有些用户需要自己编写组态软件来满足自身需求,因此自建工控组态app成为了一种很重要的需求。
本篇文章将介绍一种简单、免费的自建工控组态app的方法,基于Blynk这个第三方平台,并结合Arduino来实现的。Blynk是一个为物联网创建的平台,可以帮助用户快速搭建自己的物联网应用。
工作原理
使用Blynk,用户可以将Arduino和组态app进行连接,通过Blynk提供的可视化设计工具,用户可以方便地定制自己的用户界面,并实现数据传输和控制逻辑。通过在Arduino上编写简单的固件程序,来实现与各种传感器、执行器的交互,并通过Blynk实现与用户的交互。
步骤
1. 准备硬件设备
在使用Blynk之前,我们需要准备两个硬件设备,一个是开发板(例如Arduino),一个是WIFI或者蓝牙模块。你可以通过 Ethernet 或 Wi-Fi 等协议连接到互联网,也可以通过蓝牙与手机进行通信。
2. 安装Blynk库
我们需要在Arduino IDE中安装Blynk库,在arduino的“工具”菜单栏中,依次选择“开发板——管理开发板”,在搜索框中输入Blynk,选择最新版本的Blynk库进行安装。
3. 创建Blynk账户并新建项目
在Blynk的官网上注册账户,并登录账户后,在左侧菜单栏中选择“新建项目”,输入项目名称、设备类型和连接方式。在连接方式中,选择WIFI或蓝牙模块,并将Device中的AuthToken复制下来备用。点击“创建项目”按钮。
4. 创建用户界面
在Blynk的管理面板中,点击“新增部件”,选择相应的组件,比如开关、滑动条、按钮等,然后将组件拖动到画布上。
5. 编写Arduino程序
这里以led灯为例,演示如何让led灯跟随组态app中的按钮控制。
首先需要在Arduino中增加WiFi连接逻辑,并在setup部分调用Blynk.begin(auth, wifi_name, wifi_password)方法进行初始化。
接着,在loop部分,可以调用Blynk.run()方法,开始接受组态app发送的消息。
由于LED灯是数字输出,因此可以直接调用Arduino的digitalWrite()方法,在收到组态app发送的控制消息后,进行开灯或关灯操作。
完整的Arduino代码如下:
#include
#include
// Authentication Token
char auth[] = "AuthToken";
// WiFi parameters
char ssid[] = "WiFi_name";
char pass[] = "WiFi_password";
// Digital pin
int ledPin = 2;
void setup()
{
// Serial port for debugging purposes
Serial.begin(115200);
// Connect to WiFi
Blynk.begin(auth, ssid, pass);
// Set the digital pin as output
pinMode(ledPin, OUTPUT);
}
void loop()
{
// Check if the Blynk app is connected
if(Blynk.connected()) {
// Run Blynk
Blynk.run();
// Receive the message from the Blynk app
int ledStatus = Blynk.virtualRead(V0);
// Update the LED status
if(ledStatus == 1) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
} else {
// Attempt to reconnect to server
Blynk.connect();
}
}
6. 编译和上传程序
在Arduino IDE中选择相应的开发板和对应的端口,并点击上传按钮,将程序上传到设备中。
7. 连接设备和组态app
将设备和WIFI模块进行连接,并在组态app中选择刚刚创建的项目,开始控制和监控设备的状态。
结论
通过这个简单的例子,我们可以看到利用Blynk平台和Arduino开发板,可以非常快速和便捷地创建自己的工控组态App。当然,Blynk还提供了很多其他的功能,比如邮件通知、数据记录、语音控制、设备管理等等,可以更多的满足自己的需求。