想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#bkwz



协议简介

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,可以应用于物联网(IoT)环境中。

通过Hi3861开发板实现信息的采集,通过MQTT协议实现信息的传输。

对比我们的测试环境大致为:开发板(publish) --> MQTT Server --> MQTT Client(subscribe)

 

Wifi连接

参考连老师教程:https://harmonyos.51cto.com/posts/1235

1) 首先开发板接入局域网网络,将代码中结构体assoc_req.ssid、assoc_req.key换成自己家中wifi的SSID(热点名称)、password(热点密码)。

2) 编译、烧录、启动开发板,串口打印“Wifi Connected”。使用AT+PING命令测试,通信正常。

 

编译Mqtt第三方软件

参考连老师教程:https://harmonyos.51cto.com/posts/1384

1) 使用连老师移植好的Paho-MQTT软件包,用于测试的mqtt demo。
2) 测试代码中host、port、topic可以更改成自己实验用的,重点的字段如下。

 

搭建MQTT服务器

参考:https://baijiahao.baidu.com/s?id=1610057452592802735&wfr=spider&for=pc

1)选用轻量级的mosquitto开源项目来搭建MQTT服务器,下载源码mosquitto-1.6.12.tar.gz,编译安装;

2)安装完成,mosquitto运行报错Error: Invalid user 'mosquitto',进入目录cd /etc/mosquitto,复制文件cp mosquitto.conf.example mosquitto.conf,在配置文件中增加“user root”;

3)执行mosquitto -c /etc/mosquitto/mosquitto.conf,成功运行打印信息如下;

 

安装MQTT客户端

1)使用paho测试,配置IP、端口port、订阅topic等相关信息;

 

 

开始测试

 

  • 开发板

IP:192.168.124.13

  • MQTT服务器

IP:192.168.124.10  port:1883

  • MQTT客户端

IP:192.168.124.29

 

1)MQTT服务器启动,查看监听端口1883;

2)MQTT客户端启动,连接MQTT服务器,订阅主题(topic):pubtopic;

3)MQTT服务器查看日志,连接成功;

4)开发板上电,连接好wifi;

5)开发板执行AT+MQTTTEST,连接MQTT服务器,发布(publish)字符串“TEST hello HarmonyOS”到MQTT服务器;

6)MQTT服务器查看日志,连接成功;

7)MQTT客户端接收到订阅消息;

 

以上是分享的全部内容,谢谢观看。


想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#bkwz