MQTT协议开发
本示例将演示如何在BearPi-HM_Nano开发板上使用MQTT协议。
一、准备工作
参考BearPi-HM_Nano十分钟上手教程完成开发环境搭建、代码获取等工作,以及熟悉代码的编译和烧录流程。
二、下载MQTT消息代理工具Mosquitto
下载“mosquitto-2.0.14-install-windows-x64.exe” 点击跳转

下载后双击安装包,安装工具,安装完毕后,打开电脑设备管理器,在“服务”中开启mosquitto服务。

修改安装路径下的mosquitto.conf文件 修改515行附近代码

修改216行附近代码,其中192.168.0.173
为自己的电脑的IP地址

三、下载Eclipse Paho MQTT 工具
下载“org.eclipse.paho.ui.app-1.1.1-win32.win32.x86_64.zip” 点击跳转

解压缩后,双击paho.exe,打开后的Eclipse Paho UI开始界面,点击上图中的 十字图标,就能新建一个MQTT的客户端的连接,如下图所示

输入正确的MQTT服务端的连接地址,比如,本例中的连接地址是tcp://localhost:1883,然后点击“连接”按钮,这个时候,如果MQTT服务端没有设置密码(默认情况是没有密码的)的话,这个时候,我们就能看到连接得到状态是“已连接”,如下图所示:

这个时候我们就能订阅消息了。选择“订阅”下方的绿色十字图标,就可以输入订阅的主题(topic)的名字,比如我们设置主题名称为“pubtopic”,并点击 “订阅”按钮,如下图所示

四、修改对接IP
将代码中对接的IP修改为电脑在命令行窗口里输入 ipconfig
查询的电脑的本地IP

五、编译调试
修改 applications\sample\BearPi\BearPi-HM_Nano
路径下 BUILD.gn 文件,指定 iot_mqtt
参与编译。
#"D1_iot_wifi_sta:wifi_sta",
#"D2_iot_wifi_sta_connect:wifi_sta_connect",
#"D3_iot_udp_client:udp_client",
#"D4_iot_tcp_server:tcp_server",
"D5_iot_mqtt:iot_mqtt",
示例代码编译烧录代码后,按下开发板的RESET按键,Eclipse Paho MQTT 工具上会接收到开发板发布的消息。

往开发板发送一条消息主题为“substopic”,内容为“Hello HarmoayOS!”的MQTT消息。然后点击“发布”按钮,这个时候,我们就能看到消息已经发送成功。

且开发板的串口上也打印出接收消息成功的信息。
