一、免费注册https://www.emqx.com/zh,并启动MQTT实例,客户端认证增加用户名,密码。
略
二、ApusIDE中新建项目
三、设备管理->右键->添加

选择MQTT->选择通用物联网平台->下一步

输入名称->完成
四、双击刚添加的设备(设备管理下)


4.1 如上图,分别点击左侧两个添加按钮

选择网络,下一步

输入EMQX的服务地址及端口
4.2 左侧列表选中网络,右侧协议列表中显示“通用物联网协议”,双击

如上图输入:用户名密码是上面EMQX风站上的客户端认证时添加的;服务器证书下载下来,放到 资源/图片 目录中

附加发布参数:如-r 将发布消息保留(参考mosquitto_pub用法)
附加订阅参数:如--will-topic "device/123/status" --will-payload "offline" --will-retain (参考mosquitto_sub用法)
五、添加发布变量并发布消息
5.1 双击工程设置,进入实时变量,添加变量

5.2 设置变量

如上图设置,其中:
地址:为MQTT发布主题
数据类型:选字符串
字节数:为1即可,不用设置
5.3 发布消息
首页添加一个按钮,生成点击事件,事件代码如下
void Frm01::wMButton1_clk_cb(uint16_t code, LvEvent e) {
Dvchar dv = (Dvchar)vm->get("变量_3");//获取上图中的变量
dv->setAddress("testtopic");//设置发布主题
dv->set("message:hello Simtutai!");//发布信息
}
5.6 下载安装mosquitto后,将mosquitto_sub.exe复制到【测试】目录下

5.7 运行后点击按钮
控制台输出:

六、添加订阅变量并订阅消息
6.1添加两个变量(注意不同的软元件类型)

注意接收缓存的字节数要足够接收订阅的消息长度

注意订阅主题的字节数要足够长
6.2 给订阅消息变量添加事件


确定后,跳转到事件代码页面,输入代码如下
void HmiApp::v3_tri_cb(uint16_t code, LvEvent e) {
//变量[订阅消息]值变化触发函数
string s;
vm->getChar("订阅消息", s);//获取接收到的消息
cout<< s <<endl;//在控制台输入消息
}
6.3 运行
启动给两三秒后,控制台输出提示
