银尔达IOT物联网开发平台:iot.yinerda.com
更多资料访问:https://yinerda.yuque.com/yt1fh6/iot
功能支持4G设备的连接,管理;支持设备数据点定义,解析,处理,储存,统计;支持微信小程序/APP管理对接;通过电话、短信、微信、邮件等报警信息通知;支持服务与服务器对接;支持服务器边缘计算数据;支持私有化部署,log替换,特殊功能定制。
本文描述YED物模型协议的数据格式。YED物模型协议是MQTT协议,银尔达定义的一个应用逻辑通讯协议,带有确认机制,能保证数据尽量达到接收方。与服务器定定义的数据点高度相关,能轻松满足业务逻辑需求,灵活扩展。
协议通过固定的上行和下行topic,然后通过解析数据内部的cmd命令去处理业务逻辑。
一、约定
设备使用MQTT协议与服务器通讯,数据格式为JSON格式,编码为utf-8。
MQTT支持3.1.1版本。
MQTT协议的客户端ID,用户,密码在创建产品,添加设备后获取。
MQTT QOS只支持0,清楚会话为1,topic 不做持久保存。
注意创建的产品密码要妥善保管。
二、设备管理说明
2.1、设备连接
服务器通过MQTT三要素进行识别合法设备连接,如果不合法服务器需要拒绝连接。
MQTT三要素四客户端ID,用户和密码,在创建产品的时候就已经确认了。其中密码是后期可以修改的,已修改全部设备都同时修改。
2.2、设备激活
只要设备授权了,并且与服务器有通讯,设备就算激活。
2.3、设备在线
MQTT连接上后在线
2.4 、设备离线
MQTT断开离线。
MQTT连接中,但是5分钟没收到任何交互数据,表示离线,并且服务器主动断开MQTT连接。
2.5、重发机制
不管是服务器发给设备,还是设备上报给服务器,都要求接受方法应答设备,如果超时没应答,需要重发。
对于服务器的主动发送数据,需要设备应答。服务器最大重发3次,重发间隔5秒,都超时表示异常,并且提示设备离线并且主动断开之前的设备连接。
对于设备主动发送的数据,是否需要等待服务器的应答,服务器不关心,设备是否需要由自己的业务逻辑确定,是否重复。
2.6、消息ID
消息ID是保证数据到达的重要方法。每一条数据都带有消息ID,消息ID保证上一条和下一条不一样即可,当发送方发送消息ID后,接收方的应答必须携带相同的消息ID,表示对应的消息应答成功。
对于服务器主动发送的did,有可能用永远都不重复。
对应设备主动发送的did。只要保证与上一条不同即可,可以做一个自动增加的变量来做did。
三、系统保留数据点
系统保留数据点,就是系统默认已经创建了一些必要的字段,用户不需要再重新创建,可以直接使用上传。如果这些字段的功能不满足你需求,可以重新创建其他名字的字段替代。
| 表示ID |
显示名称 |
类型 |
读写 |
作用 |
| imei |
IMIE |
字符串 |
只读 |
设备的IMEI编码,一般是4G模块有,唯一属性 支持IMEI编码的设备才上报,建议注册包上报一次 设备详情里面显示 |
| mac |
MAC |
字符串 |
只读 |
设备的MAC地址 支持MAC地址的设备才上报,建议注册包上报一次 设备详情里面显示 |
| iccid |
ICCID |
字符串 |
只读 |
SIM卡ICCID,可以用来管理SIM卡,查询SIM卡流量等,基本是必要的 建议注册包上报一次 设备详情里面显示 |
| imsi |
IMSI |
字符串 |
只读 |
SIM卡IMSI,可以用来管理SIM卡,查询SIM卡的归属运营商等 建议注册包上报一次 设备详情里面显示 |
| pver |
硬件版本 |
字符串 |
只读 |
建议注册包上报一次 设备详情里面显示 |
| fver |
固件版本 |
字符串 |
只读 |
建议注册包上报一次 设备详情里面显示 |
| rssi |
信号强度 |
整形 |
只读 |
0-100% 用来指示设备信号强度,会显示在APP顶部状态栏中。 建议随着dup命令,周期心跳上报 控制顶部菜单信号强度显示 |
| pele |
电量 |
整形 |
只读 |
0-100% 用来指示设备电量,会显示在APP顶部状态栏中 只有能采集的才需要上报,建议随着dup命令,周期心跳上报 控制顶部菜单电量显示 |
四、注册包命令-reg
设备连接服务器的时候发送,

最低0.47元/天 解锁文章
783

被折叠的 条评论
为什么被折叠?



