菜单

Emqx实例

下载

一、免费注册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 发布消息
首页添加一个按钮,生成点击事件,事件代码如下

language 复制代码
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 给订阅消息变量添加事件


确定后,跳转到事件代码页面,输入代码如下

language 复制代码
void HmiApp::v3_tri_cb(uint16_t code, LvEvent e) {
	//变量[订阅消息]值变化触发函数
	string s;
	vm->getChar("订阅消息", s);//获取接收到的消息
	cout<< s <<endl;//在控制台输入消息
}

6.3 运行
启动给两三秒后,控制台输出提示

上一个
在MQTT IOT启动前修改配置
下一个
附加MQTT参数-r --will-retain --will-topic --will-payload
最近修改: 2026-03-17Powered by