合宙Air780EP模块——AT指令MQTT接入OneNET开发指南

2024-08-19


物联网设备要互动,Air780EP模块是桥梁。


用AT指令告诉MQTT:“帮我把话带给OneNET吧!”MQTT就忙着打包数据,像寄信一样传给OneNET。


OneNET收到后,处理、存着或再转发。这过程,Air780EP和MQTT是最佳拍档,让设备互联变得轻松又靠谱。


想不想试试这简单又神奇的操作?


那就来吧!

本文详细讲解了基于合宙的Air80EP开发板,使用AT指令,通过MQTT接入OneNET平台的教程。

OneNET Studio提供了强大的数据处理能力、灵活的设备接入方式以及丰富的API接口。

官网地址:OneNET - 中国移动物联网开放平台

一、材料准备


为了顺利展开本次接入实践,需要准备以下关键材料:

Air780EP开发板一套:

合宙Air780EP模组采用了微安级极致低功耗设计,长连接待机功耗(5分钟心跳)低至450微安,该模组支持中国移动、电信、联通三大运营商的4G网络,实现了全网通覆盖,采用LGA高集成封装,多达109个SMT焊盘管脚。支持AT指令集、和LuatOS脚本开发,除了MQTT协议外,还支持TCP、UDP、HTTP、WebSocket、FTP、NTP等多种网络协议。


USB线:作为连接开发板与PC电脑的重要纽带,请选用质量可靠、传输速度稳定的USB线,以确保数据传输的顺畅无阻。

PC电脑:请确保电脑系统稳定,已安装必要的驱动程序和串口通信软件,以便能够顺利与Air780EP(V)开发板进行交互。

串口工具:作为与Air780EP(V)开发板进行AT指令交互的必备软件,串口工具将帮助您发送指令、接收响应,并实时监控设备状态。

准备就绪后,您就可以按照本指南的步骤,逐步完成Air780EP开发板通过MQTT协议接入OneNET Studio的全过程。

二、在onenet上创建产品


打开OneNET官网,进入控制台,进入Onenet Studio,选择设备接入与管理,点击产品管理

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第1张


点击添加产品

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第2张


根据自己产品填写,注意:节点类型选择直连设备,接入协议选择MQTT,点击确定

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第3张


点击详情

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第4张


将右上角自动注册打开

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第5张

记住产品ID和产品key

三、创建设备

填入设备名,选择产品,这里我使用的是模块的imei来做设备名称

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第6张

四、查看onenet接入协议

MQTT设备连接_开发者文档_OneNET (10086.cn))

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第7张

可以看到,登入onenet时,mqtt的clientID、username和password都有指定

clientId即为刚才创建的设备名称

username为创建的产品ID

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第8张

password是需要经过加密计算得来的鉴权token

计算方法详见如下文章,这篇文章测试时直接使用onenet提供的测试工具来计算鉴权密码,鉴权计算测试工具下面连接中下载

接入安全认证_开发者文档_OneNET (10086.cn)

五、连接onenet

1.查询卡、网络注册状态

具体交互流程如下所示

查询SIM卡状态 AT+CPIN? +CPIN: READY OK 查询信号质量 AT+CSQ +CSQ: 16,0 OK 查询网络附着状态 AT+CGATT? +CGATT: 1 OK AT+CGDCONT? +CGDCONT: 1,"IP","cmiot","10.126.200.230" OK

2.MQTT直连onenet

设备注册参数如下:

mqttClientId: devicename mqttUsername: productID mqttPassword: token

参数 说明
devicename 设备名称
productID 平台分配的产品id
token 经过鉴权算法得到的token
具体交互流程如下所示


下图为工具计算出的token

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第9张

AT+MCONFIG="868655072230313","Wf5IXIGcZn","version=2018-10-31&res=products%2FWf5IXIGcZn%2Fdevices%2F868655072230313&et=1721630715&method=md5&sign=DPqCcsPQAQok9Gt7mNPTbA%3D%3D" OK AT+MIPSTART="studio-mqtt.heclouds.com",1883 OK CONNECT OK AT+MCONNECT=1,120 OK CONNACK OK


可以从平台上看到设备已经在线了

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第10张

3.发布与订阅消息

onenet studio有固定的通信TOPIC,可以到官网查看,这里演示下设备属性上报与响应的主题

通信主题_开发者文档_OneNET (10086.cn)

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第11张

订阅消息:

AT+MSUB="$sys/Wf5IXIGcZn/868655072230313/thing/property/post/reply",0 OK SUBACK

发布

向设备上报属性的主题发布消息,消息携带设备的属性,不同的产品具有不同的属性,可以在设备物模型处查看

例如:在文章开始创建的产品具有如下图所示的属性

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第12张

向上报属性的主题发布一条payload格式错误的消息 AT+MPUB="$sys/q23GT8XVOu/868739055238251/thing/property/post",0,0,"{}" OK 平台返回缺少参数 +MSUB: "$sys/q23GT8XVOu/868739055238251/thing/property/post/reply",47 byte,{"id":null,"code":2403,"msg":"required msg id"} 如下是正常流程 AT+MPUB="$sys/Wf5IXIGcZn/868655072230313/thing/property/post",0,0,"{\22id\22:\22123\22,\22params\22:{\22Capacity\22:{\22value\22:62}}}" OK 平台返回成功 +MSUB: "$sys/Wf5IXIGcZn/868655072230313/thing/property/post/reply",39 byte,{"id":"123","code":200,"msg":"success"}


可以看到平台已经有数据更新

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第13张

合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第14张
合宙Air780EP模块——AT指令MQTT接入OneNET开发指南 (https://ic.work/) 技术资料 第15张




文章推荐

相关推荐