跳转至

ONENET

一、ONENET 简介

ONENET 是中国移动提供的物联网开放平台,支持设备接入、数据管理、应用开发、增值服务等能力,为城市、行业、生活等场景提供智能化解决方案。

二、本教程实现的功能概述

本文为大家介绍 Air780E 如何接入 ONENET,并且会介绍如何进行一次完整的 ONENET 的上下行交互处理。

三、准备硬件环境

"工欲善其事,必先利其器"。在正式介绍本功能示例之前,需要先准备好以下硬件环境。

3.1 Air780E 开发板

使用 Air780E 核心板,如下图所示:

点击链接购买:Air780E 核心板淘宝购买链接

此核心板的详细使用说明参考:Air780E 产品手册 中的《开发板 Core_Air780E 使用说明 VX.X.X.pdf》,写这篇文章时最新版本的使用说明为:《开发板 Core_Air780E 使用说明 V1.0.5.pdf》;核心板使用过程中遇到任何问题,可以直接参考这份使用说明 pdf 文档。

3.2 SIM 卡

准备一张可以上网的 SIM 卡,可以是物联网卡,也可以是自己的手机卡;

注意:SIM 卡不能欠费,可以正常上网!!!

3.3 PC 电脑

准备一台电脑;

电脑操作系统为:WIN10 以及以上版本的 WINDOWS 系统。

注意:电脑有 USB 口,并且可以正常上网!!!

3.4 数据通信线

准备一根数据线,此数据线的作用是,连接 Air780E 开发板和 PC 电脑,通过 AT 命令完成业务逻辑的控制和交互;

注意:数据线是 USB 数据线(连接 Air780E 开发板的一段是 Type-C 接口),一般来说这种数据线如下图所示:

如何判断 TYPE-C 充电线具有数据传输功能?以小米 13 手机为例,数据线一端插入电脑 USB2.0 端口,另一端 TypeC 插入手机,如果手机界面提示如红框,表明此数据线具有数据传输功能,可用于接下来与 Air780E 模组的数据接收和发送。

3.5 组装硬件环境

按照 SIM 卡槽上的插入方向,插入 SIM 卡,注意不要插反!

如下图所示,将 SIM 卡用力推入卡槽,听到咔嚓声音后即可。

USB 数据线,连接电脑和 Air780E 开发板,如下图所示:

Windows 电脑,打开“设备管理器”,当长按 POW 按键,绿灯亮起,“端口”应该新增“COMxx”,表示电脑与 Air780E 数据通信正常,可以进入下一步测试环节了。

四、准备软件环境

4.1 Luatools 工具

要想烧录 AT 固件到 4G 模组中,需要用到合宙的强大的调试工具:Luatools;

详细使用说明参考:Luatools 工具使用说明

4.2 AT 固件

4G 模组中必须烧录正确的 AT 固件才能支持 AT 命令功能;

通过 Luatools 可以烧录 AT 固件;

有两种方式可以获取到 Air780E 模组的最新 AT 固件,二选一即可;

第一种方式是通过 Luatools 获取,如下图所示,可以直接选中最新版本的 AT 固件:

第二种方式是访问:Air780E 固件版本 ,找到最新版本的固件即可。

4.3 PC 端串口工具

在量产的项目硬件设计中,一般都是由主控 MCU 通过 UART 给 4G 模组发送命令实现具体的业务逻辑;

在本教程中,为了测试方便,没有使用主控 MCU;

而是使用了 PC 电脑上的一个串口工具 LLCOM 给 4G 模组发送命令来实现演示功能;

LLCOM 的下载链接:LLCOM ,llcom 使用说明参考下图。

五、使用方法举例

5.1 确认开发板正常开机并联网正常

本次教程所用固件版本是 v1170,通过 luatools 烧录过固件后可以通过打印来判断设备情况,具体参考下图:

5.2 连接 ONENET 所需相关指令

点击链接查看合宙 4G 模组 MQTT 指令

六、云平台配置与效果展示

6.1 登录与创建产品

注意:ONENET 物联网平台经过很多次更新,老版 ONENET(多协议接入)-> 新版 ONENET->ONENET Studio->ONENET 物联网开放平台,本次示例为最新的 ONENET 物联网开放平台最为演示平台

需要登录官网平台概览 - ONENET 物联网平台 (10086.cn)注册 ONENET 账号并创建一个产品,后面我们会在此项目中进行演示

在完成一系列安全认证(绑定身份证并进行人脸验证)以后,将鼠标移动到左上角的"全部产品服务"即可看到物联网开放平台在哪,点击进入即可

在物联网管理平台,按下图三步,选择适合自己的产品定义,这里以智慧生活-> 家居安防-> 温湿度传感器为例,

选择智能化方式为"设备接入"

点击设备接入以后,创建产品,带* 的为必选项,接入协议必须选择"MQTT",数据协议可以选择"OneJson"也可以选择"自定义/透传",区别只是上传和下发数据的时候的格式,如果你选择了 OneJson,则上传数据和接受平台下发数据必须要按照 ONENET 定义的 josn 格式来上传/解析。

开发方案选“自定义方案”,回到“产品开发”页面,点击“设置物模型”,设置三个我们需要的属性

6.2 添加设备

产品创建好以后就该添加设备进对应的产品了。在产品列表中找到"设备管理",单击进去,设备名称选择所用模块的 IMEI,可以在模块屏蔽盖上查看·

6.3 设备注册

ONENET 平台对设备接入有严格的安全策略,需通过身份认证,目前平台提供 IMEI 和设备秘钥两种鉴权方式,我们这里介绍设备秘钥方式,即方案 2。

6.3.1 生成设备秘钥鉴权 Token

设备秘钥鉴权 Token 需要三个参数,产品 ID、设备名、设备秘钥。

Token 生成工具

点击下载 Token 生成工具

6.3.2 MQTT 工具测试 ONENET 连接

点击下载 llcom 串口测试工具

在 ONENET 平台查看推送结果

如下图,点击设备管理,点击“属性页”,选中“实时刷新”,可以看到最新数值更新

订阅主题示例

$sys/Sr8K21BjHb/868327075408114/thing/#

发布主题示例

$sys/Sr8K21BjHb/868327075408114/thing/property/post

JSON 报文示例

{
"id": "123",
 "version": "1.0",
   "params": {
    "voltage": {
      "value": 2392
    },
    "temp": {
    "value": 24.2
    },
    "Light": {
    "value": true
    }
  }

6.4 使用 MQTT 协议 用 AT 命令与 ONENET 建立连接

ATI                     //查询版本号
AirM2M_780E_V1170_LTE_AT
OK

AT+CGREG?               //查询当前GPRS注册状态
+CGREG: 0,1             //<stat>=1,标识已经注册GPRS网络,而且是本地网
OK

AT+CGATT?               //查看当前GPRS附着状态
+CGATT: 1               //<state>=1,标明当前GPRS已经附着
OK

AT+MCONFIG=868327075408114,Sr8K21BjHb,version=2018-10-31&res=products%2FSr8K21BjHb%2Fdevices%2F868327075408114&et=98102959372322222&method=md5&sign=tbU%2FAsjnRkQw88SW6qKNmw%3D%3D              
                        //填写clientid、用户名、密码;可以带引号可以不带
OK

AT+MIPSTART="mqtts.heclouds.com","1883"               
                        //填写mqtt服务器的域名和端口号
OK
CONNECT OK

AT+MCONNECT=1,60        //建立mqtt会话;注意需要返回CONNECT OK后才能发此条指令,并且要立即发,否则就会被服务器踢掉
OK
CONNACK OK              //连接成功,成功后才能发布消息或者订阅消息

AT+MSUB="$sys/Sr8K21BjHb/868327075408114/thing/#",0        //订阅主题
OK
SUBACK

AT+MPUB="$sys/Sr8K21BjHb/868327075408114/thing/property/post",0,0,"{\\22id\\22:\\22123\\22,\\22version\\22:\\221.0\\22,\\22params\\22:{\\22voltage\\22:{\\22value\\22:2792},\\22temp\\22:{\\22value\\22:28.1},\\22Light\\22:{\\22value\\22:true}}}"                                                                                        //发布主题
OK
+MSUB: "$sys/Sr8K21BjHb/868327075408114/thing/property/post/reply",39 byte,{"id":"123","code":200,"msg":"success"}                      //收到服务器下发的消息,+MSUB的URC上报

_//最大4100个字节。字符串类型,须用双引号括住。_
_注:消息中内嵌的_
_双引号请用\22表达;_
_控制字符回车\r(0x0D)请用\0D表达;_
_控制字符换行\n(0x0A)请用\0A表达;_
_控制字符反斜杠(0x5C)请用\5C表达_
_如果是MCU发消息,可能需要用\\22,\\0D,\\0A,\\5C来表达,即\需要转义成\\_
_"{\\22temp\\22\\22:\\2225.00\\22}"_

AT+MDISCONNECT              //模块需要先关闭mqtt连接
OK

AT+MIPCLOSE                 //关闭tcp连接
OK

七、常见问题

7.1 发布主题转义字符格式错误

{\"id\":\"123\",\"version\":\"1.0\"\"params\":{\"voltage\":{\"value\":2292},\"temp\":{\"value\":23.2},\"Light\":{\"value\":false}}}

改正办法:双引号请用\22 表达

给读者的话

本篇文章由清源莲子开发;

本篇文章描述的内容,如果有错误、细节缺失、细节不清晰或者其他任何问题,总之就是无法解决您遇到的问题;

请登录合宙技术交流论坛,点击文档找错赢奖金-Air780E-AT-软件指南-应用实例-ONENET

用截图标注+文字描述的方式跟帖回复,记录清楚您发现的问题; 我们会迅速核实并且修改文档; 同时也会为您累计找错积分,您还可能赢取月度找错奖金!