# 设备登录认证
# 设备登录流程

# 登录请求
请求URL:/iot/rx/login
请求方式:POST
请求头:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
请求参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
产品密钥 | productKey | String[1,16] | 是 | 在平台创建产品时自动生成的密钥 |
设备密钥 | deviceSecret | String[1,32] | 是 | 在平台创建设备时自动生成的密钥 |
设备通讯地址 | deviceAddr | String[1,64] | 是 | 在平台创建设备时填入的通讯地址 |
请求示例:
{
"productKey": "productKey",
"deviceSecret": "secret",
"deviceAddr": "addr"
}
1
2
3
4
5
2
3
4
5
返回参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
授权令牌 | token | String[1,32] | 是 | 用于验证接口权限 |
状态码 | code | int[1,4] | 是 | |
错误码 | msg | String[1,32] | 是 |
返回示例:
{
"code":200,
"msg":"SUCCESS",
"data":{
"token":"e10adc3949ba59abbe56e057f20f883e"
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
错误码:
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请检查请求参数 |
400 | DEVICE_NO_TEXIST | 设备不存在 | 请检查设备三元组是否存在 |
400 | DEVICE_LOGGED_IN | 设备已登录 | 请检查设备是否已经在线 |
# 设备心跳
请求URL:/iot/rx/heartbeat
请求方式:POST
请求头:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
授权令牌 | token | String[1,32] | 是 | 设备登录时获取的TOKEN |
请求参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
返回参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
状态码 | code | int[1,4] | 是 | |
错误码 | msg | String[1,32] | 是 |
返回示例:
{
"code":200,
"msg":"SUCCESS"
}
1
2
3
4
2
3
4
错误码:
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
401 | INVALID_TOKEN | 无效的token | 请先请求设备登录接口 |
# 设备实时数据上送
请求URL:/iot/rx/properties
请求方式:POST
请求头:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
授权令牌 | token | String[1,32] | 是 | 设备登录时获取的TOKEN |
请求参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
采样时间 | timestamp | String[1-13] | 是 | 数据的采样时间 |
数据数组 | data | JsonArray | 是 | 数据数组(数据结构参照下方) |
变量Data数据参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
属性唯一标识 | identifier | String[1,128] | 是 | 设备详情属性里的属性详情获取 |
采样值 | value | String | 是 | 设备采样上来的测点值 |
请求示例:
{
"timestamp":"1620791347000",
"data":[
{"identifier":"1_0_1","value":"1"},
{"identifier":"1_1_1","value":"3.3"},
{"identifier":"1_2_1","value":"测试一下"}
]
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
返回参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
状态码 | code | int[1,4] | 是 | |
错误码 | msg | String[1,32] | 是 |
返回示例:
{
"code":200,
"msg":"SUCCESS"
}
1
2
3
4
2
3
4
错误码:
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
401 | INVALID_TOKEN | 无效的token | 请先请求设备登录接口 |
# 设备告警事件上送
请求URL:/iot/rx/event
请求方式:POST
请求头:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
授权令牌 | token | String[1,32] | 是 | 设备登录时获取的TOKEN |
请求参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
采样时间 | timestamp | String[1-13] | 是 | 数据的采样时间 |
事件唯一标识 | identifier | String[1-128] | 是 | 事件唯一标识 |
触发状态 | status | String[1-1] | 是 | 事件触发状态:0-恢复,1-触发 |
事件参数 | data | JsonArray | 是 | 事件参数 |
变量Data数据参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
参数ID | id | String[1,128] | 是 | 事件内参数的唯一标识 |
参数据类型 | type | String[1-8] | 是 | 参数数据类型- 文本/text(所有常规的数据类型都由文本接收)、图片/picture、文件/file |
参数值 | value | String | 是 | 事件参数值 |
请求示例:
{
"timestamp":"1620791347000",
"data":[
{"identifier":"1_0_1","value":"1"},
{"identifier":"1_1_1","value":"3.3"},
{"identifier":"1_2_1","value":"测试一下"}
]
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
返回参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
状态码 | code | int[1,4] | 是 | |
错误码 | msg | String[1,32] | 是 |
返回示例:
{
"code":200,
"msg":"SUCCESS"
}
1
2
3
4
2
3
4
错误码:
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
401 | INVALID_TOKEN | 无效的token | 请先请求设备登录接口 |
# 设备命令执行结果上送
请求URL:/iot/rx/event
请求方式:POST
请求头:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
授权令牌 | token | String[1,32] | 是 | 设备登录时获取的TOKEN |
请求参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
采样时间 | timestamp | String[1-13] | 是 | 数据的采样时间 |
事件唯一标识 | identifier | String[1-128] | 是 | 事件唯一标识 |
触发状态 | status | String[1-1] | 是 | 事件触发状态:0-恢复,1-触发 |
事件参数 | data | JsonArray | 是 | 事件参数 |
变量Data数据参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
参数ID | id | String[1,128] | 是 | 事件内参数的唯一标识 |
参数据类型 | type | String[1-8] | 是 | 参数数据类型- 文本/text(所有常规的数据类型都由文本接收)、图片/picture、文件/file |
参数值 | value | String | 是 | 事件参数值 |
{
"timestamp":"1620791347000",
"data":[
{"identifier":"1_0_1","value":"1"},
{"identifier":"1_1_1","value":"3.3"},
{"identifier":"1_2_1","value":"测试一下"}
]
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
返回参数:
参数名称 | 变量 | 类型[长度限制] | 必填 | 描述 |
---|---|---|---|---|
状态码 | code | int[1,4] | 是 | |
错误码 | msg | String[1,32] | 是 |
返回示例:
{
"code":200,
"msg":"SUCCESS"
}
1
2
3
4
2
3
4
错误码:
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
401 | INVALID_TOKEN | 无效的token | 请先请求设备登录接口 |
← 注意事项和附件 HTTP设备数据下行 →