STM32MP157实现串口接收数据上云-4G设备向云发送数据


前言

本篇分享:

这次将会用几篇博客分享STM32MP157实现串口接收数据上云的一个基础功能,实现STM32MP157的串口在接收到数据时能上传至服务器,让用户可以随时随地查看一个设备的实时信息。

在上一篇博客中我们已经在云平台创建好了展示数据的设备,本篇将分享如何使用电脑串口调试助手向4G模块发送指令,实现4G模块向云平台发送数据


4G设备向云发送数据:

一.AT指令

第一部分(使4G模块处于正常工作状态):

AT\r				    //模块开机状态下发送AT\r匹配波特率
AT+CGMI\r				//读取模块厂商信息
AT+CGMR\r				//读取详细的固件版本AirM2M_V5364_AT_S_NOTTS才支持
AT+CPIN?\r				//查询卡是否插好
AT+CSQ\r				//查询设置信号质量
AT+CREG?\r				//查询网络注册状态
AT+CGATT?\r				//查询附着GPRS网络
AT+CSTT="","","" \r		//设置自动选择APN
AT+CIICR\r				//激活移动场景,激活后能获取到IP
AT+CIFSR\r				//查询IP,只有获取到IP后才能上网

首先,可以用一个USB转TTL串口模块将电脑与4G模块连接,并使用串口调试助手向4G模块发送指令。

这里推荐使用有保存串口发送数据的串口调试助手,如格西烽火:

在这里插入图片描述
波特率设置成9600、115200都可以

连接上后,向4G模块发送AT指令,向4G模块发送上述指令无error返回即表明4G模块处于正常工作模式

第二部分(建立连接):

这部分使用三条AT指令用于实现4G模块与云平台的连接,格式如下图所示

AT+MCONFIG="ClientID","username","password"\r 
AT+SSLMIPSTART="域名 ","端口"\r
AT+MCONNECT=1,120\r		 

第二部分建立连接的AT指令首先需要得到MQTT连接参数

这里简述一下阿里云平台的操作,点击之前创建的设备,点击查看DeviceSecret,一键复制设备证书,打开阿里云参数小工具

在这里插入图片描述
将复制的设备证书粘贴至此处,下方就能生成连接所需的MQTT连接参数了

在这里插入图片描述

接着,按照格式分别将设置MQTT、建立连接的AT指令补充完整

补充完整后的AT指令如下:

AT+MCONFIG="863488057879453|securemode=3,signmethod=hmacmd5|","863488123279453&a1cdS8zCRA0","4AE94260C41231FE1DD13F2CC65DB1B9"\r			//设置MQTT
AT+SSLMIPSTART="a1cd16zCRA0.iot-as-mqtt.cn-shanghai.aliyuncs.com","1883"\r		//建立连接
AT+MCONNECT=1,120\r		 //建立会话

至此所有连接需要用到的AT指令都已知晓。

二.连接阿里云

首先,使用USB转TTL串口模块实现电脑与4G模块的通讯。

然后,发送AT\r至4G模块,待4G模块返回OK后即可逐一发送后续指令。

第二部分指令发送完成后返回阿里云设备界面发现设备已在线并更新最后上线时间。

在这里插入图片描述
第三部分(上传数据):

上传数据的AT指令格式如下所示:

AT+MPUB="Topic",1,0,"payload"\r //发送数据

三.上传数据

完成上述步骤后即可开始上传数据,先禁用设备再启用,使设备断开连接。

在这里插入图片描述
然后,补全上传数据的AT指令。

点击产品,设置一个功能。

在这里插入图片描述
再点击添加标准功能,根据需求添加一个标准功能,这里选择添加电压功能。

在这里插入图片描述
添加完成后,点击设备模拟器模拟属性的上报

在这里插入图片描述
模拟发送一个数据。

在这里插入图片描述
可以看到设备到云平台消息中划线部分就是我们要的数据。

将Topic和payload按照格式将AT指令补充完整: AT+MPUB=“Topic”,1,0,“payload”\r

发送数据其他的Topic类型可以在产品-Topic类列表里查找。

至此上传数据的AT指令已补充完整。

最后,使用USB转TTL串口模块连接电脑与4G模块。

然后,发送AT\r至4G模块,待4G模块返回OK后即可逐一发送后续指令即可实现数据上传。

注意,在串口助手中发送数据中的引号要改为 \\22并在AT指令结尾处添加 \r,否则无法正常发送,补充完后的指令如下所示。

AT+MPUB="/sys/a1cd16zCRA0/863488057879453/thing/event/property/post",1,0,"{\\22id\\22:1661139282955,\\22params\\22:{\\22CurrentVoltage\\22:37},\\22version\\22:\\221.0\\22,\\22method\\22:\\22thing.event.property.post\\22}"\r //发送数据

上传成功的数据将在物模型中显示

更换数值则修改payload中对应的值即可,如这里即是更改CurrentVoltage:后的值。

在这里插入图片描述
至此,4G设备已成功向云发送数据。


结语

以上就是全部内容,如有错误请批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AゞOctopus๊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值