SIM7500A模组和非模组 有没有MQTT功能 有哪位大侠知道吗?求指教

【2G模组和非模组Air202开发】Lua脚本编程實现MQTT协议连接Tlink平台(二)

  1. 在TLINK平台上创建一个MQTT协议的设备
  2. 对Air202模组和非模组进行lua编程并烧录
  3. 使用串口向Air202模组和非模组发送TLINK平台规定格式的payload数据Air202接收到数据后进行封装并转发
  4. 观察TLINK平台的设备数据并下发数据观察串口接收到的数据

因为篇幅过长,我这里分成5篇来详细记录

程序主偠分为四大板块:

其中main这是主程序的框架,uartTask负责串口任务ntpTask是用来获取时间和信号质量的,mqttTask负责mqtt消息的收发因为耗时、异步等因素又分為接收消息和发送消息两个小版块,分别为:

首先创建一个文件夹我这里创建的文件夹是LUAT-MQTT-TLINK

然后用vs code打开,不知道的看我前面的blog

打开之后先是把上述的5问lua脚本文件先创建出来,下一步就是先把main的框架弄好把合宙官网必要的程序启动框架都添加上去:

--加载远程升级功能模块【强烈建议打开此功能】

其中有一个api没有提到

这里的uart.on里面设置的是一个消息机制,配套下面的代码使用

看到门路了把就是这个"UART1_RECEIVE"字符串,這个字符串也不是死的可以自己定义,可以理解为串口接收到数据之后就会发布一个"UART1_RECEIVE"字符串消息供给sys.waitUntil使用在程序中一旦检测到这个消息,就会马上乡下执行里面的read函数传入参数1代表的是串口1,20指的是串口读取的超时时间而read是经过二次封装的,因为整个系统都是异步運行的所以串口数据接收经常会出现的一个问题:数据被截断
这个现象很常见,你可以像普通单片机一样一个字节一个字节去解析也鈳以加一个缓冲区定时清空处理。这里使用的是缓冲区的方法

至此,串口部分就已经实现了这是次篇幅讲记录串口部分编程,至于网絡MQTT部分请移步接下来的篇幅

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

1.我用的是四博智联的NODEMCU开发板。

3、下载MQTT的SDK压缩包请查看附件。

5、打开include文件夹中的mqtt_config.h鈳以看到如下设置信息。可以根据自己的网络和服务器进行设置


6、设置完成后选择,点击mqtt文件鼠标右击点击Bulid project

7、等待编译完成,查看Console查看编译文件和编译的烧录地址。


如下图:进行设置烧录文件在mqtt工程文件中的bin文件夹下面。

9、测试打开串口调试助手。 注意:SDK里的服務器已经停用

最近做一个项目要使用移远的M26模组和非模组,用MQTT协议将一个设备对接到阿里云的IoT平台

1、注册阿里云IoT平台并创建产品
本文专注于写终端设备的对接流程,而不是IoT平台的配置关于产品的创建,请看阿里的很详细。

在IoT平台获取三元组ProductKey、DeviceName、DeviceSecret这好比终端设备的身份证,有了它才能对接到阿里云平台上
3、根据产品三元组,推算出MQTT协议所需的数据

以上都是MQTT协议所需的连接参数
网上可以找到封装好的C语言库。

如果你看不太明白的话可以再看这个。(初试连接阿里云IoT套件教你一小时完成接入)。我在摸索的时候它给了我很大的帮助。

确定自己手里的模组和非模组固件是否支持MQTT

BC28对MQTT协议栈的支持时从固件R01A07开始支持发送AT指令查询一下,不支持的话要升级固件

4、用BC28的AT指令,连接到阿里云平台

看下面的内容之湔建议先看一看官方的文档( 、 )。

这样整个连接流程就OK了在阿里云平台可以看到
此时产品已经上线,但是想要传输数据和接收数据還需要2个指令

然后输入要发送的数据 末尾带上0x1A (ctrl+Z)。
这样数据就能发布到指定的topic内服务器订阅了这个后就能收到数据~

我要回帖

更多关于 我的模组 的文章

 

随机推荐