2503 MQTT Porting SOP

Porting steps:

1:下载MQTT源码文件
https://github.com/eclipse/paho.mqtt-sn.embedded-c

2:在2503工程中新加一个task或service,将MQTTPacket\src目录下
的文件添加自定义到工程中

3:将MQTTPacket\samples下的transport.c和transport.h添加到工程

4: MQTTPacket\src目录下主要是MQTT协议包的封装和解析,2503平台并不需要修改,只需要根据2503 socket框架,对transport.c和transport.h进行适当调整。

5:参考已知的MQTT sample调用MQTT api实现消息的订阅和发布

MQTT debug:

1:wireshark抓包工具,最新版本已经支持MQTT协议,无需另外安装插件支持MQTT协议解析
https://www.wireshark.org/download.html

2:MQTT server
若当前设备使用WIFI进行网络连接,可以同PC组建局域网,在局域网环境下,PC可安装MQTTfx来进行MQTT测试:
Local tool MQTTfx安装以及server搭建:
https://blog.csdn.net/d_o_n_g2/article/details/77097115?locationNum=7&fps=1https://cloud.tencent.com/developer/article/1101803

若设备采用GPRS网络,则需要连接公用服务器进行测试:

非加密连接端口
Server: test.mosquito.org
Port: 8883

SSL加密连接:
Server: iot.eclipse.org
Port:1883

 

MQTT  test  example:

当前验证示例是直接在现有的mmi task中的mmi_service module添加的MQTT,并在开机阶段调用触发,客户可根据产品需求自行添加。


1:在plutommi/service目录下新建MQTT文件夹并将MQTT开源代码中的MQTTPacket/src目录下文件以及transport.c和tranport.h复制到MQTT folder,新建mqtt_main.c实现non-blocking socket测试,blocking_mqtt_main.c验证blocking socket mqtt功能【2503平台默认支持non-blocking socket, blocking socket need apply patch】

2:在make/plutommi/mmi_service中的mmi_service.mak中添加需要编译的src和include路径

3:具体transport socket调整以及mqtt_main.c以及blocking_mqtt_main.c demo实现请参考demo package 中的代码,最后调用mqtt_test_entry/blocking_mqtt_test_entry入口函数即可。

 

blocking MQTT wireshark :


Non-blocking MQTT wireshark :



 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论