TencentOS-tiny+ESP8266+mqttclient对接腾讯云平台IoThub

1. 硬件准备

本文中我准备的腾讯官方EVB_MX_Plus开发板和ESP8266 WIFI通信模组:

2. 云端产品创建

在云端创建产品的过程和下文相同,不再赘述。

3. mqttclient

mqttclient是一个高性能、高稳定性的跨平台MQTT客户端,基于socket API之上开发,可以在嵌入式设备(FreeRTOS/LiteOS/RT-Thread/TencentOS tiny)、Linux、Windows、Mac上使用,拥有非常简洁的API接口,以极少的资源实现QOS2的服务质量,并且无缝衔接了mbedtls加密库。

项目作者JiejieTop,项目地址为:https://github.com/jiejieTop/mqttclient

该开源组件遵循 Apache License v2.0开源协议。

项目架构如下:

4. 在TencentOS-tiny中使用mqttclient

mqttclient已经适配了TecentOS-tiny操作系统,源码如下:

并且针对官方提供的EVB_MX_Plus官方板,也有一份对应的工程,修改云端对接信息之后即可上云:

在本文中为了演示如何使用mqttclient,不使用该官方工程,基于helloworld从头演示如何使用。

4.1. 在项目工程中添加MQTT组件相关文件

在工程中新建deviceshalatmqttclient组, 并添加下列源文件:


上述文件分别位于TencentOS-tiny\devices\esp8266TencentOS_tiny\net\at, TencentOS_tiny\components\connectivity\mqttclientTencentOS_tiny\platform\hal\st\stm32l4xx\src目录下

最后添加mqttclient.c文件:

此处添加board\TencentOS_tiny_EVB_MX_Plus\BSP\Src下的mqttclient.c示例文件。

再将这些文件包含的头文件路径也添加:

最后修改mqttclient.c文件:

4.2. 一些额外的修改

本实验中直接复制之前的Helloworld工程中,没有做lpuart1的接收中断处理,所以进行如下操作。

stm32l4xx_it.c替换为stm32l4_it_module.c

5. 实验现象

在云端查看设备是否上线:

在云端向设备下发数据,设备接收到数据后在串口打印日志:

至此,使用mqttclient组件对接IoThub测试成功。

接收更多精彩文章及资源推送,欢迎订阅我的微信公众号:『mculover666』。

猜你喜欢

转载自blog.csdn.net/Mculover666/article/details/106244447