物联网设备要互动,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,选择设备接入与管理,点击产品管理
点击添加产品
根据自己产品填写,注意:节点类型选择直连设备,接入协议选择MQTT,点击确定
点击详情
将右上角自动注册打开
记住产品ID和产品key
三、创建设备
填入设备名,选择产品,这里我使用的是模块的imei来做设备名称
四、查看onenet接入协议
MQTT设备连接_开发者文档_OneNET (10086.cn))
可以看到,登入onenet时,mqtt的clientID、username和password都有指定
clientId即为刚才创建的设备名称
username为创建的产品ID
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
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
可以从平台上看到设备已经在线了
3.发布与订阅消息
onenet studio有固定的通信TOPIC,可以到官网查看,这里演示下设备属性上报与响应的主题
通信主题_开发者文档_OneNET (10086.cn)
订阅消息:
AT+MSUB="$sys/Wf5IXIGcZn/868655072230313/thing/property/post/reply",0 OK SUBACK
发布
向设备上报属性的主题发布消息,消息携带设备的属性,不同的产品具有不同的属性,可以在设备物模型处查看
例如:在文章开始创建的产品具有如下图所示的属性
向上报属性的主题发布一条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"}
可以看到平台已经有数据更新