菜单

通用物联网云平台(MQTT IOT)驱动

下载

1.添加设备

2.配置接口与协议

不同物联网平台认证方式可能不同,不需要的参数,空着即可。

2.1 亚马逊

2.2 阿里云

 

注意模拟器和HMI都要配置一遍,区别较大是【证书】及【密钥】的路径,模拟器和HMI配置不一样

如:服务器证书,复制到“资源/图片"下

则:

模拟器配置应填: ./res/pic/emqxsl-ca.crt  (注意:证书路径斜杠,如用"\"则应为:.\\res\\pic\\emqxsl-ca.crt)

HMI配置应填:/customer/prm/res/pic/emqxsl-ca.crt

 

3.发布消息

如工程不需要发布消息,跳过此步

3.1添加一个用于发布消息的设备变量

 

*软元件类型:选PubVariable

*地址:表示要发布的主题。如需发布不同的主题,可在执行发布重新设置

*字节数:注意要大于等于实际发布消息的长度

3.2组态

设计页中,放一个【功能键】,添加点击事件,代码如下:

void Frm02::wMButton2_clk_cb(uint16_t code, LvEvent e) {
    /*wMButton2(发布)的点击事件*/
    Dvchar dv = (Dvchar)vm->get("变量_9");//获取设备变量
    dv->setAddress("pubtopic");//如需改变发布主题,加这句
    dv->set("message:hello!");//发布信息
}

3.3 运行测试发布功能

用MQTTX等第三方软件连接并订阅所测试的主题,测试是否收到HMI发布的消息。

 

4.订阅消息

参数配置正确,则会自动启动订阅。如工程不需要订阅消息,跳过此步。

4.1添加一个用于发布订阅的设备变量

*软元件类型:选SubVariable

*地址:表示要订阅的主题。如需发布不同的主题,可在执行发布重新设置;如发布多个主题,用|分隔,如 a|b|c

*字节数:注意要大于等于实际接收消息的长度

4.2 接收订阅的消息

设置值变化函数

代码如下:

void HmiApp::v10_tri_cb(uint16_t code, LvEvent e) {
    //变量[变量_10]值变化触发函数
    string v;
    vm->getChar("变量_10", v);
    cout<<v<<endl;//处理接收到的消息
}

4.3 接收到的消息的主题

如您还关心消息来自哪个主题,添加如下变量

*软元件类型:选SubTopic

*地址:无意义

*字节数:注意要大于等于实际主题的长度

参照4.2对接收到的主题进行处理。

5.模拟器运行需要将mosquitto_pub.exe放到测试目录下

因是可执行文件,请自行下载安装mosquitto,安装后将mosquitto_pub.exe复制过来

https://mosquitto.org/files/binary/win64/mosquitto-2.0.21a-install-windows-x64.exe

6.try it!

见演示工程https://help.simtutai.cn/docs/MQTT-tong-yong-wu-lian-wang-iot-aws-aliyun-emqx-tuya-deng

最近修改: 2025-06-05Powered by