物联网开发第二站:使用4G物联网模块AT指令连接移动onenet云平台


前言

如果同学已经看过我上一章的内容的话,这章就会非常简单。没看过我上一章的同学请先移步到:
物联网开发第一站:使用MQTTX调试软件接入移动OneNet物联网平台

本章主要讲如何使用物联网模块连接移动onenet与平台
用到工具:
1.windows10个人电脑
2.串口调试助手
3.移远EC800Z物联网模块+物联网卡或普通手机卡
4.USB转TTL工具

同学们如果没有EC800Z模块的话可以用其它模块代替,但要注意模块需要带有MQTT协议的固件,购买模块的时候可以咨询技术支持或售货员。以我用过的几款不同的4G模块经验来讲他们的MQTT指令格式大致是一样的,本章主角是EC800Z因为我手头只有这个了。


一、MQTT模块指令介绍

直接看文章抬头指令集,这里大致讲解一下本章使用的指令和注意事项,避免踩坑。
如果同学们对这些AT指令已经有所了解可直接进入本文 第二章 AT联网流程

1.AT+QMTCFG

AT+QMTCFG指令是用来配置MQTT协议的一些基本参数,包括保活时间、遗嘱消息、MQTT协议版本、SSL模式等等
这里我们只用设置保活时间和MQTT协议版本号就可以了。
在这里插入图片描述
需要注意AT+QMTCFG指令要在联网之前设置才会有效
模块默认的MQTT版本是3,刚开始测试连接MQTT器时一直报错,后来才发现是协议版本不适配,所以要提前设置协议版本。

2. AT+QMTOPEN

AT+QMTOPEN=<client_idx>,<host_name>,
该指令是用来连接服务器的,一共三个参数分别为 标识符、IP/域名、端口号
在这里插入图片描述

3. AT+QMTCONN

AT+QMTCONN=<client_idx>,[,,]
用来连接MQTT服务器,一共三个参数:
标识符:0-5 和前面一样
设备编号:onenet设备的ID名称
登录名:onenet的产品名称
登录密码:用token工具计算出来的字符串详见物联网开发第一站:使用MQTTX调试软件接入移动OneNet物联网平台
在这里插入图片描述
上线成功后返回 0,0,0
打开onenet查看设备状态
在这里插入图片描述

4. AT+QMTSUB

AT+QMTSUB=<client_idx>,,,[,,…]
参数分别为
标识符:0-5同上
消息标识符:只有当=0 时,该参数值为0
订阅主题 $sys/h5AnXVLTt8/LWJ2024060101/thing/property/post/reply
消息质量:0 最多发送一次、1 最少发送一次、2 只发送一次
在这里插入图片描述

5.AT+QMTPUBEX

AT+QMTPUBEX=<client_idx>,,,,,
发布主题消息
一共6个参数:
标识符:0-5同上
消息标识符:只有当=0 时,该参数值为0
消息质量:0 最多发送一次、1 最少发送一次、2 只发送一次
服务器是否保存消息:0 不保存,1 保存
主题名称:$sys/h5AnXVLTt8/LWJ2024060101/thing/property/post
消息长度:字节数:例如{“id”:“2173255418”,“version”:“1.0”,“params”:{“level”:{“value”:40}}}一共67个字节包括转义符

指令发送成功后,模块会回复‘>’接下来就是要发送消息主体了
{“id”:“2173255418”,“version”:“1.0”,“params”:{“level”:{“value”:40}}}
发送成功回复
+QMTPUBEX: 0,0,0
在这里插入图片描述
发布成功后打开onenet进入设备详情界面查看参数,记得打开实时刷新按钮,上报数据会定时刷新
在这里插入图片描述

二、完整AT联网流程

1.直接上干货

[2024-06-17 15:22:32.409]# SEND ASCII>
AT


[2024-06-17 15:22:32.513]# RECV ASCII>
AT

OK


[2024-06-17 15:22:33.313]# SEND ASCII>
ATE0


[2024-06-17 15:22:33.419]# RECV ASCII>
ATE0

OK


[2024-06-17 15:22:34.961]# SEND ASCII>
AT+QMTCFG="keepalive",0,30


[2024-06-17 15:22:35.073]# RECV ASCII>

OK


[2024-06-17 15:22:38.113]# SEND ASCII>
AT+QMTCFG="version",0,4


[2024-06-17 15:22:38.220]# RECV ASCII>

OK


[2024-06-17 15:23:09.825]# SEND ASCII>
AT+QMTOPEN=0,"mqtts.heclouds.com",1883


[2024-06-17 15:23:10.062]# RECV ASCII>

OK


[2024-06-17 15:23:10.374]# RECV ASCII>

+QMTOPEN: 0,0


[2024-06-17 15:23:14.521]# SEND ASCII>
AT+QMTCONN=0,"LWJ2024060101","h5AnXVLTt8","把生成的token放进来"


[2024-06-17 15:23:14.640]# RECV ASCII>

OK


[2024-06-17 15:23:14.953]# RECV ASCII>

+QMTCONN: 0,0,0


[2024-06-17 15:23:29.600]# SEND ASCII>
AT+QMTSUB=0,1,"$sys/h5AnXVLTt8/LWJ2024060101/thing/property/post/reply",0


[2024-06-17 15:23:29.717]# RECV ASCII>

OK


[2024-06-17 15:23:29.985]# RECV ASCII>

+QMTSUB: 0,1,0,0


[2024-06-17 15:23:36.394]# SEND ASCII>
AT+QMTPUBEX=0,0,0,0,"$sys/h5AnXVLTt8/LWJ2024060101/thing/property/post",67


[2024-06-17 15:23:36.511]# RECV ASCII>

> 

[2024-06-17 15:23:40.489]# SEND ASCII>
{"id":"2173255418","version":"1.0","params":{"level":{"value":40}}}

[2024-06-17 15:23:40.607]# RECV ASCII>

OK


[2024-06-17 15:23:40.730]# RECV ASCII>

+QMTPUBEX: 0,0,0


[2024-06-17 15:23:40.919]# RECV ASCII>

+QMTRECV: 0,0,"$sys/h5AnXVLTt8/LWJ2024060101/thing/property/post/reply","{"id":"2173255418","code":200,"msg":"success"}"

2.对比MQTTX

在这里插入图片描述

在这里插入图片描述
为方便理解附上一张对比图,左边是使用模块AT指令发送与接收,右边是MQTTX调试软件的发送与接收


总结

以上就是今天要讲的内容,欢迎大家指点
下一篇:使用stm32单片机与EC800Z 4G模块实现智能温湿度传感器入网

  • 31
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
STM32系列是一种微控制器芯片系列,其中HAL库是STM32提供的一个高级应用层库,可以方便地进行硬件抽象和外设驱动。ESP8266-01S是一种常用的物联网模块,可以通过Wi-Fi连接互联网。OneNET是华为提供的物联网云平台,可以将设备的数据上传到云端。 要在STM32系列芯片上利用HAL库连接ESP8266-01S模块,并实现数据上传到OneNET平台,需执行以下步骤: 1. 初始化STM32的串口和GPIO配置,以连接ESP8266-01S模块。通过串口与模块进行通信,以发送AT指令控制模块的工作。 2. 通过串口发送AT指令,使ESP8266-01S模块连接到Wi-Fi网络。这些AT指令包括设置Wi-Fi SSID、密码等,并执行连接操作。 3. 通过串口发送AT指令,使ESP8266-01S模块OneNET平台建立TCP或UDP连接。这些AT指令包括设置服务器地址和端口号,并执行连接操作。 4. 编写STM32的C代码,通过HAL库函数,将需要上传的数据封装为JSON格式,并发送到ESP8266-01S模块。 5. ESP8266-01S模块收到数据后,通过已建立的TCP或UDP连接,将数据上传到OneNET平台。通过发送AT指令模块将数据作为HTTP请求发送到OneNET的数据接口。 6. 在OneNET平台上可以配置数据接口和数据流。数据接口是OneNET平台提供的用于接收数据的API接口,数据流是数据的分类和整理方式。 通过以上步骤,可以实现STM32系列芯片利用HAL库连接ESP8266-01S模块,并通过模块将数据上传到OneNET平台。这样,可以方便地将STM32芯片连接物联网,并通过OneNET平台实现远程监控和管理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值