HarmonyOS技术社区 · 2020年11月16日

【开发板试用报告】学习MQTT开发

协议简介

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

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

image.png

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

Wifi连接

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

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

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

image.png

编译Mqtt第三方软件

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

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

image.png

搭建MQTT服务器

参考:https://baijiahao.baidu.com/s...

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,成功运行打印信息如下;

image.png

安装MQTT客户端

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

image.png

开始测试

开发板
IP:192.168.124.13

MQTT服务器
IP:192.168.124.10 port:1883

MQTT客户端
IP:192.168.124.29

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

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

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

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

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

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

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

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


作者:HarryP0tter
想了解更多内容,请访问:
51CTO和华为官方战略合作共建的鸿蒙技术社区
https://harmonyos.51cto.com#jssq

推荐阅读
关注数
3013
内容数
446
华为鸿蒙相关技术,活动及资讯,欢迎关注及加入创作
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息