附录二:设备初始化
2.1 功能概述
设备初始化:对设备进行初始化操作,这里的设备包含以下几种:
1. RF 网关
2. RF 耳标
3. Lora 耳标
注意事项:设备初始化使用特定的商户号,商户无需对接。
2.2 请求地址:
http://iot.znskiot.com:6208/tags
2.3 信息依赖
同步返回信息,不依赖异平台推送
2.4 HTTP 请求方式
POST
2.5 返回格式
JSON
2.6 请求参数
参数名称 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
action | String | 是 | 参数取值为:"init" |
payload | String | 是 | 携带参数(视设备类型有增减): masterid|activekey|type (RF网关类型) masterid|activekey|type|deviceid|deviceid|number (RF耳标类型) masterid|activekey|type|deviceid|gatewayid|number (Lora耳标类型) |
payload参数说明
masterid、activekey 与前面的接口中payload参数对应字段功能和取值一致,其中masterid 限定为 1002
type:
设备类型,具体为:
type取值 含义 / 功能描述 备注 0 RF 网关 编号由服务器分配并返回 1 RF 耳标 - 3 Lora 耳标 - deviceid:
设备编号。其中当设备类型 RF耳标 时,设备可以批量初始化,前面的 deviceid 表示批量初始化的起始设备编号,后面的 deviceid 表示批量初始化的结束设备编号。设备编号须连续。单独进行 RF耳标 初始化时,前后两个 deviceid 保持一样就行。
number: 批量初始化时的设备数量。不得大于 1000
gatewayid: 设备对应的网关编号
RF网关初始化说明
RF网关与服务器之间使用 HTTP协议 通讯,需要分配通讯密钥 key 来进行设备认证。
RF网关初始化 就是由服务器预分配RF网关的编号和对应的通讯密钥 key,其中的 key 需填写到网关的后台配置里
RF耳标初始化说明
RF耳标通过RF网关将设备信息推送到服务器。
RF耳标 就是预分配RF耳标的编号。支持批量初始化。
Lora耳标初始化说明
Lora耳标 在上电后就会向网关上报信息,网关将信息上传至服务器,服务器将记录Lora耳标的硬件编号(NodeID)和硬件地址(NodeMac)以及上行网关信息。
Lora耳标初始化 就是在Lora耳标上传信息到服务器后的 30秒 内,将数字编号与硬件编号对应起来。
2.7 请求示例
初始化RF网关:
curl -d "action=init&payload=1002|KbVhTjhWNz1586826744|0" http://iot.znskiot.com:6208/tags
初始化RF耳标(编号1003001至1004000,共1000个):
curl -d "action=init&payload=1002|KbVhTjhWNz1586826744|1|1003001|1004000|1000" http://iot.znskiot.com:6208/tags
初始化Lora耳标(通过网关1000021对Lora耳标1002001进行初始化):
curl -d "action=init&payload=1002|KbVhTjhWNz1586826744|3|1002001|1000021|1" http://iot.znskiot.com:6208/tags
2.8 服务响应
请求成功时服务器同步返回下面的JSON格式结果。
初始化RF网关:
{
"action":"init",
"payload":"msgseq|type|deviceid|key|number",
"error":"error_code"
}
其中**deviceid**为服务器分配的RF网关编号,**key**为通讯密钥,**number**固定为1
具体可能为:
{
"action":"init",
"payload":"10025697456|0|1000012|ac6555bfe23f5fe7e98fdcc0cd5f2451|1",
"error":"error_code"
}
初始化RF耳标:
{
"action":"init",
"payload":"msgseq|type|number",
"error":"error_code"
}
其中**number**为初始化成功的RF耳标数量
具体可能为:
{
"action":"init",
"payload":"10025697456|1|1000",
"error":"error_code"
}
初始化Lora耳标:
{
"action":"init",
"payload":"msgseq|type|deviceid",
"error":"error_code"
}
具体可能为:
{
"action":"init",
"payload":"10025697456|3|1002001",
"error":"error_code"
}
error 参数说明
error 参数的 error_code 为错误的响应码,参照【附录一:错误的响应码】相关说明