小程序、终端、节点交互过程
-
用户–>>终端设备:
- topic:
/dev/[SN]/user/[userID]
- SN : 设备唯一识别码
- userID : 用户ID
- payload:
{ 'code':200, 'msg':'' }
code : 命令
msg : 消息
- qos: 消息质量, 0、1、2
- topic:
-
终端设备–>>用户:
- topic:
/user/[userID]/dev/[SN]
- SN : 设备唯一识别码
- userID : 用户ID
- payload:
{ 'code':200, 'msg':'' }
code : 命令
msg : 消息
- qos: 消息质量, 0、1、2
- topic:
-
服务器–>>终端设备:
- topic:
/dev/[SN]/server/[serverID]
- SN : 设备唯一识别码
- serverID: 服务器ID
- payload:
{ 'code':200, 'msg':'' }
code : 命令
msg : 消息
- qos: 消息质量, 0、1、2
- topic:
-
终端设备–>>服务器:
- topic:
/server/[serverID]/dev/[SN]
- SN : 设备唯一识别码
- serverID: 服务器ID
- payload:
{ 'code':200, 'msg':'' }
code : 命令
msg : 消息
- qos: 消息质量, 0、1、2
- topic:
小程序绑定设备
终端节点心跳包设计
采用轮询的方式获取设备在线状态
节点阀门状态获取,并监测设备在线状态
采用轮询的方式获取阀门状态
命令协议
用户控制设备相关命令
类型 | 命令 | 说明 |
---|---|---|
NODE_ACK | 0xA0 | 应答命令,用户发送命令回应 |
NODE_OPEN_TAP | 0xA1 | 打开阀门 ,用户发送打开阀门命令 |
NODE_CLOSE_TAP | 0xA2 | 关闭阀门,用户发送关闭阀门命令 |
NODE_OPEN_TAP_OK | 0xA3 | 打开阀门成功 |
NODE_CLOSE_TAP_OK | 0xA4 | 关闭阀门成功 |
NODE_OPEN_TAP_ERR | 0xA5 | 打开阀门失败 |
NODE_CLOSE_TAP_ERR | 0xA6 | 关闭阀门失败 |
NODE_OPENING_TAP | 0xA7 | 正在打开阀门… |
NODE_CLOSING_TAP | 0xA8 | 正在关闭阀门… |
NODE_TAP_STATUS | 0xA9 | 0: 阀门处于关闭状态 1: 阀门处于打开状态 2: 阀门处于半开状态 3: 正在关闭阀门 4: 正在打开阀门 |
NODE_TAP_ONLINE | 0xAA | 0:下线 1:上线 |
终端命令
类型 | 命令 | 说明 |
---|---|---|
TERMINAL_GET_NODES | 0xB0 | 获取所有节点信息 |
TERMINAL_GET_NODES | 0xB1 | 获取终端绑定用户 |
终端与节点保持连接相关命令
类型 | 命令 | 说明 |
---|---|---|
NODE_CONNECT | 0xC0 | 节点连接, 节点开机连接终端命令 |
NODE_CONNECT_OK | 0xC1 | 节点连接, 成功 |
NODE_ONLINE | 0xC2 | 节点上线 |
NODE_OFFLINE | 0xC3 | 节点下线 |
NODE_ALIVE | 0xC4 | 节点心跳 |
NODE_TIMEOUT | 0xC5 | 节点超时 |
用户绑定设备相关命令
类型 | 命令 | 说明 |
---|---|---|
BIND_USER | 0xD0 | 终端设备绑定用户,用于节点扫描终端获取SN码来绑定终端设备 |
BIND_USER_OK | 0xD1 | 用户绑定成功 |
BIND_SN_ERR | 0xD2 | SN错误,用在小程序绑定设备返回 |
BIND_USERID_ERR | 0xD3 | 用户错误,用在绑定完终端后,终端接收命令中与绑定用户不匹配的情况 |