简单免费自建工控组态app

在工控系统中,组态软件可以帮助用户通过可视化界面来完成对设备的监控与控制。虽然市面上已经有很多成熟的组态软件供应商,但是有些用户需要自己编写组态软件来满足自身需求,因此自建工控组态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还提供了很多其他的功能,比如邮件通知、数据记录、语音控制、设备管理等等,可以更多的满足自己的需求。