<p class="a" style="text-indent:24.0pt"><span style="text-indent: 24pt; font-family: 宋体;">本例程使用</span><span lang="EN-US" style="text-indent: 24pt;">Air202 S5</span><span style="text-indent: 24pt; font-family: 宋体;">开发板实现雅鲁科技滴云</span><span lang="EN-US" style="text-indent: 24pt;">DiverseCloud</span><span style="text-indent: 24pt; font-family: 宋体;">数据接入,使用</span><span lang="EN-US" style="text-indent: 24pt;">AT</span><span style="text-indent: 24pt; font-family: 宋体;">指令进行</span><span lang="EN-US" style="text-indent: 24pt;">TLV</span><span style="text-indent: 24pt; font-family: 宋体;">与</span><span lang="EN-US" style="text-indent: 24pt;">JSON</span><span style="text-indent: 24pt; font-family: 宋体;">两种数据帧格式的</span><span lang="EN-US" style="text-indent: 24pt;">MQTT</span><span style="text-indent: 24pt; font-family: 宋体;">发布。目标是可在平台查看到发布的数据内容。从而实现设备到云端的整个数据流程。</span><br></p><p class="a" style="text-indent:24.0pt"><span lang="EN-US">Tip</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">:合宙</span><span lang="EN-US">AT</span><span style="font-family:宋体;mso-ascii-font-family:Calibri; mso-hansi-font-family:Calibri">指令也可实现</span><span lang="EN-US">TLV</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">格式的数据解析,可通过</span><span lang="EN-US">AT+MQTTMODE</span><span style="font-family:宋体;mso-ascii-font-family: Calibri;mso-hansi-font-family:Calibri">进行</span><span lang="EN-US">ASCII</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">到</span><span lang="EN-US">HEX</span><span style="font-family:宋体;mso-ascii-font-family:Calibri; mso-hansi-font-family:Calibri">的切换,并使用滴云提供的</span><span lang="EN-US">Tlv SDK</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">包进行数据包封装即可实现数据自动解析。</span><span lang="EN-US"><o:p></o:p></span></p><p class="a" style="text-indent:24.0pt"><span style="font-family:宋体;mso-ascii-font-family: Calibri;mso-hansi-font-family:Calibri">流程为:登录</span><span lang="EN-US">/</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">注册滴云平台</span><span lang="EN-US">-></span><span style="font-family:宋体;mso-ascii-font-family:Calibri; mso-hansi-font-family:Calibri">新建产品</span><span lang="EN-US">-></span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">新建设备</span><span lang="EN-US">-></span><span style="font-family:宋体;mso-ascii-font-family:Calibri; mso-hansi-font-family:Calibri">准备好开发板</span><span lang="EN-US">-></span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">配置开发板为</span><span lang="EN-US">AT</span><span style="font-family:宋体;mso-ascii-font-family:Calibri; mso-hansi-font-family:Calibri">指令模式</span><span lang="EN-US">-></span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">根据滴云平台提供参数与所需发布的数据进行开发板的</span><span lang="EN-US">AT</span><span style="font-family:宋体;mso-ascii-font-family:Calibri; mso-hansi-font-family:Calibri">指令控制</span><span lang="EN-US">-></span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">在平台查看发布的数据。</span></p><p class="a" style="text-indent:24.0pt"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">SDK <span style='box-sizing: border-box; color: rgb(0, 0, 0); font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "WenQuanYi Micro Hei", "Microsoft Yahei", sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: -21pt; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;'>github 仓库:</span><a style='box-sizing: border-box; background-color: rgb(255, 255, 255); color: rgb(51, 122, 183); text-decoration: none; font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "WenQuanYi Micro Hei", "Microsoft Yahei", sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: -28px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;' href="https://github.com/DthinGroup/DiverseCloud.git" target="_blank" rel="noopener">https://github.com/DthinGroup/DiverseCloud.git</a></span></p><p class="a" style="text-indent:24.0pt"><span style="font-family:宋体;mso-ascii-font-family: Calibri;mso-hansi-font-family:Calibri">滴云物联网平台地址:</span><span lang="EN-US"><a href="https://mozu.wiki/2021/05/15/luatdoc-584.html?url=https://www.dthing.net/developer/index.jsp" >https://www.dthing.net/developer/index.jsp</a><o:p></o:p></span></p><p class="a" style="text-indent:24.0pt"><span style="font-family:宋体;mso-ascii-font-family: Calibri;mso-hansi-font-family:Calibri">没有账户的可自行注册一个账户。注册完成后登陆滴云平台。</span><span lang="EN-US"><o:p></o:p></span></p><h1 style="margin-left:0cm;text-indent:9.0pt;mso-list:l0 level2 lfo1"><a name="_Toc8146622"><span lang="EN-US">1</span>准备工作</a></h1><h3 style="margin-left:0cm;text-indent:14.0pt;mso-list:l0 level3 lfo1"><a name="_Toc8146623"><!--[if !supportLists]--><span lang="EN-US">1.1<span style="font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 7pt; line-height: normal; font-family: " roman";"="" new="" times=""> </span></span><!--[endif]-->硬件</a><span lang="EN-US"><o:p></o:p></span></h3><p class="a" style="text-indent:24.0pt"><span style="font-family:宋体;mso-ascii-font-family: Calibri;mso-hansi-font-family:Calibri">使用的开发板为合宙</span><span lang="EN-US">Air202
S5开发板,相关说明文档地址如下
链接地址:http://www.openluat.com/Product/gprs/Air202S5.html
1.2 下载、调试工具
链接地址:http://www.openluat.com/Product/gprs/Air202S5.html
2
AT指令实现MQTT
JSON格式发布
2.1
平台端配置
2.1.1
添加产品
登录滴云开发者控制台https://www.dthing.net/developer/index.jsp
2.1.2
获取MQTT配置参数
这是刚创建好的产品,点击DTU配置来获取相应的MQTT配置参数
2.1.3
添加设备
进入设备管理界面
进入设备列表
添加设备
添加一个设备标识为1.2.3.4的设备,发布的MQTT消息体内JSON数据“deviceTag”的值需要与此处设置的设备标识对应
设备地址是用于使用应用模板的情况下在GIS图层上定位设备使用
到此平台端的基础配置就已经完成。接下来进行开发板的相关操作。
2.2
开发板切换AT版本
已切换成AT版本的请忽略此步骤。
将开发板的跳帽跳至HOST模式,使用usb线连接电脑,并安装驱动。
开发板按下开机键开机后,根据软件的提示完成版本下载切换操作。
等待下载完成
完成AT版本切换后就可以使用AT指令进行开发板的控制了。
2.3
AT指令实现ASCII的数据发布
将开发板的跳帽跳至UART1模式,使用usb线连接电脑,并安装驱动。
开机后,可使用串口助手进行测试,测试时使用的波特率是9600bps 8 N 1
如下为实现ASCII数据JSON格式操作的指令,可参考Luat AT指令手册
手册地址:http://www.openluat.com/Product/file/rda8955/AirM2M%20无线模块AT命令手册V3.90.pdf
AT |
AT测试 |
OK |
|
AT+CGREG? |
查询当前GPRS注册状态 |
+CGREG: 0,1 OK |
|
AT+CGATT? |
查看当前GPRS附着状态 |
+CGATT: 1 OK |
|
AT+CSTT=”CMNET” |
启动任务, 设置APN为“CMNET”(移动卡) |
AT+CSTT=”CMNET” OK |
|
AT+CIICR |
激活移动场景, 获取IP地址 |
AT+CIICR OK |
|
AT+CIFSR |
查询分配的IP地址 |
AT+CIFSR 10.28.166.25 |
|
AT+MCONFIG=”cellid”,”AAAA”,”BBBB“ |
设置MQTT参数,AAAA\BBBB分别为滴云平台提供的账号、密码 内嵌的双引号用\22 表达 |
OK |
|
AT+MIPSTART=” |
这里, 请填上用户自己的mqtt服务器的IP地址或域名地址, 以及端口号注: 当使用SSL链接进行数据传输时, 链接命令格式为: AT+SSLMIPSTART= |
AT+MIPSTART=”47.111.26.51 “,1883 OK |
|
AT+MCONNECT=1,60 |
建立mqtt会话 |
CONNACK OK |
注:在MIPSTART返回CONNECT OK后才能发MCONNECT命令,而且要立即发,否则会被服务器踢掉。 |
AT+MPUB=”dev001/v3/000/air202″,2,0,”[{\22updatedTime\22:\222019-5-27 |
发布, 消息格式缺省为ASCII格式 内嵌的双引号用\22 表达 |
OK PUBACK |
|
AT+MDISCONNECT |
模块主动发起关闭MQTT连接 |
OK |
|
AT+MIPCLOSE |
关闭TCP链接 |
OK |
|
AT+CIPSHUT |
关闭移动场景 |
OK |
|
2.4
DiverseCloud查看数据
在平台平台端若需要查看到数据,需要进行数据字典配置,以对应数据帧内的dataTag和平台UI显示的数据属性。
3
AT指令实现MQTT
TLV格式发布
3.1
平台端配置
3.1.1
新建产品
l
由于使用的标识码识别机制为雅鲁机制因此勾选“兼容”
l
数据解析为HEX的TLV格式解析
l
产品类别根据实际情况设置,本章发布的数据为电表数据因此选择电表
l
设备接入协议为MQTT。
l
技术参数部分用于用户对产品信息的查看不影响平台对数据的解析
3.1.2
获取MQTT配置参数
这是刚创建好的产品,点击DTU配置来获取相应的MQTT配置参数
3.1.3
创建设备
3.2 开发板切换AT版本
已切换成AT版本的请忽略此步骤。
将开发板的跳帽跳至HOST模式,使用usb线连接电脑,并安装驱动。
开发板按下开机键开机后,根据软件的提示完成版本下载切换操作。
等待下载完成
完成AT版本切换后就可以使用AT指令进行开发板的控制了。
3.3
AT指令实现HEX的数据发布
将开发板的跳帽跳至UART1模式,使用usb线连接电脑,并安装驱动。
开机后,可使用串口助手进行测试,测试时使用的波特率是9600bps 8 N 1
如下为实现ASCII数据JSON格式操作的指令,可参考Luat AT指令手册
手册地址:http://www.openluat.com/Product/file/rda8955/AirM2M%20无线模块AT命令手册V3.90.pdf
AT |
AT测试 |
OK |
|
AT+CGREG? |
查询当前GPRS注册状态 |
+CGREG: 0,1 OK |
|
AT+CGATT? |
查看当前GPRS附着状态 |
+CGATT: 1 OK |
|
AT+CSTT=”CMNET” |
启动任务, 设置APN为“CMNET”(移动卡) |
AT+CSTT=”CMNET” OK |
|
AT+CIICR |
激活移动场景, 获取IP地址 |
AT+CIICR OK |
|
AT+CIFSR |
查询分配的IP地址 |
AT+CIFSR 10.28.166.25 |
|
AT+MCONFIG=”cellid”,”AAAA”,”BBBB” |
设置MQTT参数,AAAA\BBBB分别为滴云平台提供的账号、密码 内嵌的双引号用\22 表达 |
OK |
|
AT+MIPSTART=” |
这里, 请填上用户自己的mqtt服务器的IP地址或域名地址, 以及端口号注: 当使用SSL链接进行数据传输时, 链接命令格式为: AT+SSLMIPSTART= |
AT+MIPSTART=”47.111.26.51 “,1883
OK |
|
AT+MCONNECT=1,60 |
建立mqtt会话 |
CONNACK OK |
注:在MIPSTART返回CONNECT OK后才能发MCONNECT命令,而且要立即发,否则会被服务器踢掉。 |
AT+MQTTMODE=1 |
切换消息格式为HEX格式,模块默认为ASCII模式 |
OK |
|
AT+MPUB=”dev001/v3/000/air202″,2,1,”AAFE02001B0202040302000100000000000001052742824BEEDDEE” |
发布HEX格式数据, 消息格式缺省为ASCII格式前面需要AT+MQTTMODE=1来进行模式转换 |
OK
PUBACK |
|
AT+MDISCONNECT |
模块主动发起关闭MQTT连接 |
OK |
|
AT+MIPCLOSE |
关闭TCP链接 |
OK |
|
AT+CIPSHUT |
关闭移动场景 |
OK |
|
3.4
DiverseCloud查看数据
在滴云平台查看数据
使用测试软件测试:用测试软件发送TAG:39(电表C相电压),小数位数为2,数值23456(实际值为使用2个小数位即234.56)
在平台查看到C相电压数据为234.56。
4 AT指令控制软件
这个小软件在是本人编写的一个简易测试软件用来使用AT指令控制air202,懒得自己输指令的同学可以用这个软件测试。需要.NET framework 4.0以上环境支持,没有安装的同学可在微软官方下载。
下载链接: https://pan.baidu.com/s/1ie4GCl9w82yn_f0C-e7o5Q#list/path=%2F
提取码: 5m93
刚上电的模块测试流程为:
l
发送AT测试指令
l
查询注册状态图
l
查询附着状态
l
根据运营商设置APN
l
激活移动场景
l
查询IP
l
根据平台提供的MQTT参数设置MQTT参数
l
设置MQTT服务器地址及端口
l
建立MQTT连接
l
根据JSON格式及主题信息设置发布内容并发布
l
完成测试后关闭MQTT连接
l
关闭TCP连接
l
关闭移动场景
在MQTT发生断链时请查询MQTT连接状态再由设置APN重新开始
发布成功的截图
了解更多内容可以登录http://www.dthing.net查看