1. 前言
之前在小熊派开发板上移植了TencentOS-tiny系统,通过使用ESP8266连接WIFI对接腾讯云平台IoThub:
然而我的手头还有一个M26 2G 模组和一个EC20 Cat.4 4G模组,所以就准备玩起来,因为MQTT是基于TCP通信的,所以先使用串口助手发送AT命令进行模组TCP通信测试:
之后我基于TencentOS-tiny的AT框架,使用M26/EC20实现了SAL层(Socket Abstract Layer)的API,也就是平常说的M26 / EC20 驱动:
接下来讲述如何通过M26和EC20这两个模组对接云端。
2. 云端配置工作
云端配置工作和使用ESP8266对接完全一样,不再赘述。
3. 使用M26 GSM模组对接云端
打开之前使用ESP8266的工程,去掉esp8266.c,添加m26.c:
再添加m26.h所在头文件路径:
接下来修改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
编译,下载,查看串口输出,可以看到数据上报成功:
在云端可以看到设备上线:
在云端下发一条数据测试:
至此,使用M26模组基于MQTT对接平台测试成功。
4. 使用EC20 4G模组对接云端
打开之前使用ESP8266的工程,去掉esp8266.c,添加ec20.c:
再添加ec20.h所在头文件路径:
接下来修改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
编译,下载,查看串口输出,可以看到数据上报成功:
在云端可以看到设备上线:
在云端下发一条数据测试:
至此,使用EC20模组基于MQTT对接平台测试成功。
接收更多精彩文章及资源推送,欢迎订阅我的微信公众号:『mculover666』。