设备管理协议

设备管理协议

为了方便对 IoT 设备维护,监控控和管理,本协议定义了多个通用的设备服务。

通用设备管理服务

下面列出了事物可用的通用设备管理服务,实现下面的服务即可通过管理后端统一设备。

ID NAME FULL NAME NOTE
0 security Security 设备加密和认证等安全服务
1 server Server 服务器连接参数服务
2 access Access Control 设备功能访问控制服务
3 device Device 设备信息服务
4 connectivity Connectivity Monitoring 网络连接信息服务
5 firmware Firmware Update 设备固件信息服务
6 location Location 设备位置信息服务
7 statistics Connectivity Statistics 设备网络连接统计服务
8 config Parameter Configuration 设备参数配置服务

Security 安全

通过这个服务读写设备的密钥等安全信息。

注意为了安全, 不能通过云端来读写这个服务,只能用配置工具读写。

ID NAME TYPE FULL NAME VALUE NOTE
0 uri string Server URI 0~255 服务器的 URI
1 bootstrap boolean Bootstrap Server - 指出是否 Bootstrap 服务器
2 mode integer Security Mode 0~4 安全模式
3 key string Public Key or Identity - 客户端的证书或公钥
4 serverKey string Server Public Key - 服务器的证书或公钥
5 secret string Secret Key - 客户端的私钥

mode - 安全模式

  • 1 密钥模式
  • 2 公钥模式
  • 3 没有安全模式

Server 服务器

通过这个服务读写设备的服务器地址等信息。

注意为了安全, 不能通过云端来读写这个服务,只能用配置工具读写。

ID NAME TYPE FULL NAME VALUE NOTE
0 serverId integer Short Server ID - 服务器 ID
1 lifetime integer Lifetime - 注册有效期,单位为秒
2 minPeriod integer Default Minimum Period - 观察模式默认最小周期
3 maxPeriod integer Default Maximum Period - 观察模式默认最大周期
4 disable action Disable - 是否禁止
5 timeout integer Disable Timeout - 禁止超时时间
8 update action Registration Update - 立即更新注册
9 request action Registration Request - 立即重新启动并注册
12 bootstrapped time Last Bootstrapped - 最后一次启动和注册时间
17 retryCount integer Communication Retry Count - 连接重试次数
18 retryTimer integer Communication Retry Timer - 连接重试间隔

Access Control 访问控制

暂时没有实现

Device 设备

可通过这个服务读取设备信息,重启设备,恢复出厂设置等

ID NAME TYPE FULL NAME VALUE NOTE
0 manufacturer string Manufacturer XXX 制造商名称
1 modelNumber string Model Number DT01 设备型号字符串
2 serialNumber string Serial Number 345000123 序列号
3 firmwareVersion string Firmware Version 1.0 固件版本
4 reboot action Reboot - 重启系统
5 factoryReset action Factory Reset - 恢复出厂设置
6 powerSources integer Available Power Sources 0 可用的电源
7 powerVoltage integer Power Source Voltage 3800 3800mV, 当前电压
8 powerCurrent integer Power Source Current 125 125mA, 当前电流
9 batteryLevel integer Battery Level 100 100%, 电池电量
10 memoryFree integer Memory Free 15 15KB,空闲内存
11 errorCode integer Error Code 0 错误码
12 errorReset action Reset Error Code - 重置错误码
13 currentTime integer Current Time 1367491215 可写, 当前 UINT 时间
14 utcOffset string UTC Offset +02:00 可写, 和 UTC 时间的偏移量
15 timezone string Timezone - 可写, 时区
16 supportedMode string Supported Binding and Modes U -
17 deviceType string Device Type camera 设备类型
18 hardwareVersion string Hardware Version 1.0 硬件版本
19 softwareVersion string Software Version 1.0 软件版本
20 batteryStatus integer Battery Status 0 电池状态
21 memoryTotal integer Memory Total 256 256KB, 总共内存大小
30 cpuUsage integer CPU Usage 10 10%, CPU 使用率
31 execute action Shell Execute - 执行命令
32 logLevel integer Log Level 3 日志输出级别
33 log action Read Log - 查询日志

Log Level - 日志级别

  • 0: debug 调试信息
  • 1: info 普通日志信息
  • 2: warn 警告信息
  • 3: error 错误信息
  • 4: fatal 严重错误信息

Error Code - 错误码

  1. 没有错误
  2. 低电量
  3. 外部电源关闭
  4. 定位模式失败
  5. 信号强度低
  6. 内存不足
  7. 短信异常
  8. IP 连接异常
  9. 外围设备异常
  10. 配置参数加载错误

Battery Status - 电池状态

  1. 正常
  2. 正在充电中
  3. 充电完成
  4. 损坏
  5. 低电量
  6. 没有安装
  7. 未知状态

Connectivity 网络连接

可通过这个服务读取设备网络连接信息等

ID NAME TYPE FULL NAME VALUE NOTE
0 bearer integer Network Bearer 7 当前使用的网络
1 availableBearer integer Available Network Bearer 0 可用的网络列表
2 signalStrength integer Radio Signal Strength 92 无线信号强度
3 linkQuality integer Link Quality 2 NRSRQ for NB-IoT
4 ip string IP Addresses 192.168.0.100 分配给这个网口的 IP 地址
5 router string Router IP Addresses 192.168.0.1 下一跳的网关地址
6 utilization integer Link Utilization 5 5%, 到下一跳的平均链路利用率
7 apn string APN internet -
8 cellId Integer Cell ID - -
9 SMNC Integer SMNC 0 Serving Mobile Network Code
10 SMCC Integer SMCC 0 Serving Mobile Country Code

Network Bearer 网络类型

  • 0: GSM
  • 5: LTE-TDD
  • 6: LTE-FDD
  • 7: NB-IoT
  • 21: WLAN
  • 22: Bluetooth

Signal Strength 信号强度

GSM: RSSI, UMTS: RSCP, LTE: RSRP, NB-IoT:NRSRP

Link Quality 链路质量

LQI for IEEE 802.15.4 (range 0...255), RxQual Downlink for GSM (range 0...7, refer to [3GPP 44.018] for more details on Network Measurement Report encoding), RSRQ for LTE, (refer to [3GPP 36.214]), NRSRQ for NB-IoT (refer to [3GPP 36.214]).

Firmware 固件

可以通过这个服务更新设备固件,读取当前升级状态

ID NAME TYPE FULL NAME VALUE NOTE
0 package buffer Package - 固件文件
1 uri string Package URI http://test.com/test.bin 固件文件路径
2 update action Update - 更新
3 state integer State 0 状态
5 result integer Update Result 0 更新结果
6 name string Package Name test.bin 包名
7 version string Package Version 1.0 版本
8 protocol integer Firmware Update Protocol Support 0 设备支持的固件传输协议
9 delivery integer Firmware Update Delivery Method 0 设备支持的固件分发模式

State 状态

  • 0:空闲状态
  • 1:正在下载
  • 2:完成下载
  • 3:正在更新

Update Result 更新结果

  • 0:初始状态
  • 1:固件更新成功
  • 2:没有足够的 Flash 空间
  • 3:没有足够的内存空间
  • 4:下载过程中连接断开
  • 5:固件验证失败
  • 6:不支持的固件类型
  • 7:无效的 URI
  • 8:固件更新失败
  • 9:不支持的通信协议

Protocol 支持的协议

  • 0:CoAP
  • 1:CoAPs
  • 2:HTTP
  • 3:HTTPS
  • 4:CoAP over TCP
  • 5:CoAP over TLS

Delivery 支持的分发模式

  • 0:只支持拉取模式
  • 1:只支持推送模式
  • 2:两者都支持

Location 位置

可以通过这个服务读取设备的位置信息

ID NAME TYPE FULL NAME VALUE NOTE
0 latitude number Latitude 经度
1 longitude number Longitude 纬度
2 atitude number Altitude 高度
3 radius number Radius 精度
4 velocity integer Velocity - -
5 timestamp date Timestamp - 时间戳
6 speed number Speed 米/秒 速度

Connectivity Statistics 统计

可以通过这个服务统计这个设备的网络连接信息

ID NAME TYPE FULL NAME VALUE NOTE
0 txPackets integer Tx Counter - 总共发送的数据包
1 rxPackets integer Rx Counter - 总共接收的数据包
2 txBytes integer Tx Data KB 总共发送的数据
3 rxBytes integer Rx Data KB 总共接收的数据
4 maxMessageSize integer Max Message Size 字节 最大的消息长度
5 avgMessageSize integer Average Message Size 字节 平均消息长度
6 start action Start - 开始采集
7 stop action Stop - 停止采集
8 period integer Collection Period 采集周期

Configuration 参数配置

可以通过这个服务读写设备的配置参数信息

ID NAME TYPE FULL NAME VALUE NOTE
0 read action Read - 读取配置
1 write action Write - 修改配置

Result 更新结果

  • 0 初始状态
  • 1 参数配置成功
  • 2 无效的配置参数
  • 3 参数保存失败
  • 4 参数配置失败

错误代码

CODE ERROR NOTE
400 Bad request 错误的请求消息格式
500 Internal error 设备内部错误
405 Method not allow 不支持的操作方法
4002 Parameter error 参数错误
503 Service unavailable 服务不可用
403 Permission denied 禁止访问
4001 Miss required parameter 缺失必需的参数
408 Request timeout 请求超时
409 Conflict 发生冲突
5001 Flash access error 数据存储失败
image-modal