小程序绑定设备流程

设计相关文档

    • 小程序、终端、节点交互过程
    • 小程序绑定设备
    • 终端节点心跳包设计
    • 节点阀门状态获取,并监测设备在线状态
    • 命令协议
      • 用户控制设备相关命令
      • 终端命令
      • 终端与节点保持连接相关命令
      • 用户绑定设备相关命令


小程序、终端、节点交互过程

节点设备 终端设备 MQTT 小程序 lora通信 消息 转发 消息 转发 lora通信 节点设备 终端设备 MQTT 小程序
  • 用户–>>终端设备:

    • topic:
      /dev/[SN]/user/[userID]
      • SN : 设备唯一识别码
      • userID : 用户ID
    • payload:
      	{
      		'code':200,
      		'msg':''
      	}
      
      • code : 命令
      • msg : 消息
    • qos: 消息质量, 0、1、2
  • 终端设备–>>用户:

    • topic:
      /user/[userID]/dev/[SN]
      • SN : 设备唯一识别码
      • userID : 用户ID
    • payload:
      	{
      		'code':200,
      		'msg':''
      	}
      
      • code : 命令
      • msg : 消息
    • qos: 消息质量, 0、1、2
  • 服务器–>>终端设备:

    • topic:
      /dev/[SN]/server/[serverID]
      • SN : 设备唯一识别码
      • serverID: 服务器ID
    • payload:
      	{
      		'code':200,
      		'msg':''
      	}
      
      • code : 命令
      • msg : 消息
    • qos: 消息质量, 0、1、2
  • 终端设备–>>服务器:

    • topic:
      /server/[serverID]/dev/[SN]
      • SN : 设备唯一识别码
      • serverID: 服务器ID
    • payload:
      	{
      		'code':200,
      		'msg':''
      	}
      
      • code : 命令
      • msg : 消息
    • qos: 消息质量, 0、1、2

小程序绑定设备

终端 小程序 服务器 获取SN(扫描二维码获取) MQTT(/dev/[SN]/user/[userID]) ok, 返回设备信息 发送SN、添加设备到当前用户下 添加设备成功 failed,添加设备失败 failed,绑定失败 终端 小程序 服务器

终端节点心跳包设计

终端 节点1 节点2 ...... 节点n 心跳包(60秒) ok 未回应,掉线 心跳包(60秒) ok 未回应,掉线 心跳包(60秒) ok 未回应,掉线 ok 未回应,掉线 终端 节点1 节点2 ...... 节点n

采用轮询的方式获取设备在线状态


节点阀门状态获取,并监测设备在线状态

小程序 终端 节点1 节点2 ...... 节点N 获取所有阀门状态 获取状态 阀门状态 未回应,掉线 获取状态 阀门状态 未回应,掉线 .... 获取状态 阀门状态 未回应,掉线 小程序 终端 节点1 节点2 ...... 节点N

采用轮询的方式获取阀门状态


命令协议

用户控制设备相关命令

类型 命令 说明
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 用户错误,用在绑定完终端后,终端接收命令中与绑定用户不匹配的情况

你可能感兴趣的:(智慧阀门)