银尔达IOT物联网开发平台:iot.yinerda.com
更多资料访问:https://yinerda.yuque.com/yt1fh6/iot
功能支持4G设备的连接,管理;支持设备数据点定义,解析,处理,储存,统计;支持微信小程序/APP管理对接;通过电话、短信、微信、邮件等报警信息通知;支持服务与服务器对接;支持服务器边缘计算数据;支持私有化部署,log替换,特殊功能定制。
本文描述YED物模型协议的HTTPS通讯数据格式。HTTP协议用于低功耗,设备不常在线或者长期休眠场景。涉及到到服务器设置参数和设备上报状态2个命令。
注意HTTP协议之能做数据采集,监控使用,然后非实时控制设备。不能实时控制设备。如果需要实时控制设备,让设备及时响应,要用MQTT协议。
一、约定
HTTPS协议,编码是UTF-8,数据是JSON格式
服务器地址:https://iot.yinerda.com/device/dev_msg/http/产品ID
方法:POST
头部信息:Content_type=application/json
DevcieId=设备id
Body:银尔达物模型数据
二、设备管理说明
2.1、设备连接,
HTTPS 每个包的头部包含设备设备ID(产品ID_设备ID) 用于鉴权。
2.2、设备激活
只要设备授权了,并且与服务器有通讯,设备就算激活。
2.3、设备在线/离线
HTTP 协议设备是不经常连接服务器的。有2种情况。
一种是周期与服务器通讯的设备,如果超过1.5倍周期时间设备没有与服务器通讯,就说明设备离线了。比如通讯周期1个小时,超过1.5小时没通讯就离线了。
一种是长期不在线设备,这种无法检查设备是否直线,所以不提示设备是否在线。
这2种模式在创建产品的时候就要选择好,周期通讯时间也要提前设定,只是可以后期修改。永不在线,周期在线(单位分钟)。
2.4、服务器参数更新
当设备上报paramver后,服务器判断系统参数班,当服务器保存了设备的最新参数后,服务器需要返回当前最新的参数办号和参数。
当设备删除,解绑后,服务器不在返回新参数。
注意当设备删除,解绑后被重新绑定后需要强制返回新参数。
新设备的产生版本默认为0
2.5、消息ID
消息ID是设备上报数据的时候自带的,服务器在应答的时候需要返回一样的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命令,周期心跳上报 控制顶部菜单电量显示 |
| paramver | 参数版本 | 整形 | 只读 | 系统自动生成的,设备上传的比较实用 |
四、注册包命令-reg
设备连接服务器的时候发送,重新连接服务器的时候第一个发送的数据包。这些数据点是否系统默认给设备添加的,用户不需要去手动添加。服务器可以通过注册包判断设备重连。
| 功能 | 字段 | 类型 | 必须 | 值说明 |
| 功能字段 | cmd | 字符串 | 是 | “dreg”,固定 |
| 消息ID | did | 字符串 | 是 | |
| ICCID | iccid | 字符串 | 否 | SIM 卡ICCID,用来查询SIM卡信息 |
| IMSI | imsi | 字符串 | 否 | SIM 卡IMSI,用来查询SIM卡信息 |
| 硬件版本 | pver | 字符串 | 否 | |
| 固件版本 | fver | 字符串 | 否 | |
| 信号强度 | rssi | 整形 | 否 | |
| 时间戳 | times | 字符串 | 否 | 时间搓ms |
| 参数版本 | paramver | 整形 | 否 | 当前参数版本 |
| 实例 | { “cmd”:“dreg”, “did”:“1”, “iccid”:“1234567891234567890000”, “fver”:”DTU_1.1.1” } | |||
| { “cmd”:“dreg”, “did”:“1”, “iccid”:“1234567891234567890000”, “fver”:”DTU_1.1.1”, "paramver":0 } | ||||
服务器应答
| 功能 | 字段 | 类型 | 必须 | 值说明 |
| 功能字段 | cmd | 字符串 | 是 | “dregbck”,固定 |
| 消息ID | did | 字符串 | 是 | 与设备上报的消息ID相同 |
| 结果 | rst | 整形 | 是 | 0:表示成功 1:未授权 |
| 参数版本 | paramver | 整形 | 否 | 当前参数版本, 只有请求里面包含了paramver后,并且服务器有新参数后才需要返回 |
| 参数 | param | JSON对象 | 否 | 当前参数 只有请求里面包含了paramver后,并且服务器有新参数后才需要返回 |
| 实例 | { “cmd”:“regbck”, “did”:”1”, “rst”:0 } | |||
| { "cmd ": "regbck ", "did ": "1 ", "paramver":1, "param": { "sw1 ": 0, "sw2 ": 1, "alarmtemp1 ": [-100, 100], "alarmtemp2 ": { "HighTemp ": -100, "LowTemp ": 100 } } } | ||||
五、设备主动上报数数据点命令-dup
设备主动上报状态,设备周期上报,设备状态变化后上报会用到。
| 功能 | 字段 | 类型 | 必须 | 值说明 |
| 功能字段 | cmd | 字符串 | 是 | “dup”,固定 |
| 消息ID | did | 字符串 | 是 | |
| 时间戳 | times | 字符串 | 否 | 时间搓ms |
| 参数版本 | paramver | 整形 | 是 | 当前参数版本 注意这个参数版本和下面的param没关系,只是服务器用来判断参数是否更新的 |
| 参数 | param | 数组 | 是 | 数组里面包含了实际设备需要的JSON数据点名称 |
| 实例 | { “cmd”:“dup”, “did”:“12345678”, “param”: { “sw1” :0, “sw2”:1, “alarmtemp1”:[-100,100], } } | |||
服务器应答
| 功能 | 字段 | 类型 | 必须 | 值说明 |
| 功能字段 | cmd | 字符串 | 是 | “dupbck”,固定 |
| 消息ID | did | 字符串 | 是 | 与设备上报的消息ID相同 |
| 处理结果 | rst | 整形 | 是 | 0:成功 1:未授权 |
| 参数版本 | paramver | 整形 | 否 | 当前参数版本, 只有请求里面包含了paramver后,并且服务器有新参数后才需要返回 |
| 应答参数 | param | 数组 | 否 | 当前参数 只有请求里面包含了paramver后,并且服务器有新参数后才需要返回 |
| 成功实例 | { “cmd”:“dupbck”, “did”:“12345678”, “rst”:0 } | |||
| { “cmd”:“dupbck”, “did”:“12345678”, “rst”:0, "paramver":20, "param": { "sw1 ": 0, "sw2 ": 1, "alarmtemp1 ": [-100, 100], "alarmtemp2 ": { "HighTemp ": -100, "LowTemp ": 100 } } } | ||||
880

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



