小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub

1. 前言

之前在小熊派开发板上移植了TencentOS-tiny系统,通过使用ESP8266连接WIFI对接腾讯云平台IoThub:

  • 小熊派移植TencentOS-tiny+ESP8266+MQTT对接腾讯云平台IoThub

然而我的手头还有一个M26 2G 模组和一个EC20 Cat.4 4G模组,所以就准备玩起来,因为MQTT是基于TCP通信的,所以先使用串口助手发送AT命令进行模组TCP通信测试:

  • 移远 M26 GSM模组(2G通信模组)AT指令测试 TCP 通信过程
  • 移远 EC20 模组(4G通信模组)AT指令测试 TCP 通信过程

之后我基于TencentOS-tiny的AT框架,使用M26/EC20实现了SAL层(Socket Abstract Layer)的API,也就是平常说的M26 / EC20 驱动:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第1张图片
接下来讲述如何通过M26和EC20这两个模组对接云端。

2. 云端配置工作

云端配置工作和使用ESP8266对接完全一样,不再赘述。

  • 小熊派移植TencentOS-tiny+ESP8266+MQTT对接腾讯云平台IoThub

3. 使用M26 GSM模组对接云端

打开之前使用ESP8266的工程,去掉esp8266.c,添加m26.c:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第2张图片
再添加m26.h所在头文件路径:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第3张图片
接下来修改mqtt_example.c文件。

首先修改开始的头文件:

//#include "esp8266.h"
#include "m26.h"

修改宏定义:

#define USE_M26

在mqtt_demo函数中添加初始化函数调用:

#ifdef USE_M26
	m26_sal_init(HAL_UART_PORT_0);
#endif

编译,下载,查看串口输出,可以看到数据上报成功:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第4张图片
在云端可以看到设备上线:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第5张图片
在云端下发一条数据测试:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第6张图片
至此,使用M26模组基于MQTT对接平台测试成功。

4. 使用EC20 4G模组对接云端

打开之前使用ESP8266的工程,去掉esp8266.c,添加ec20.c:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第7张图片

再添加ec20.h所在头文件路径:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第8张图片

接下来修改mqtt_example.c文件。

首先修改开始的头文件:

//#include "esp8266.h"
//#include "m26.h"
#include "ec20.h"

修改宏定义:

//#define USE_ESP8266
//#define USE_M26
#define USE_EC20

在mqtt_demo函数中添加初始化函数调用:

#ifdef USE_EC20
	ec20_sal_init(HAL_UART_PORT_0);
#endif

编译,下载,查看串口输出,可以看到数据上报成功:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第9张图片

在云端可以看到设备上线:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第10张图片

在云端下发一条数据测试:
小熊派移植 TencentOS-tiny+M26/EC20+MQTT 对接腾讯云平台IoThub_第11张图片

至此,使用EC20模组基于MQTT对接平台测试成功。

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

你可能感兴趣的:(TencentOS-tiny)