xycb.md 9.6 KB

性诱测报http协议

简述

本文档主要用于阐述物联网性诱设备与服务器端进行交互的通讯细节,其中包括物联网性诱设备与服务器之间使用的通信协议和交互通讯协议两部分。

适用范围

适用于【通用物联网性诱设备】与服务器之间的通讯。

对接说明

设备数据说明

  1. 数据上传时间:默认为 30 分钟一次。
  2. 电击次数:即杀虫数,上传一次 data 数据后重置为 0。

设备对接说明

  1. 设备数据包含:设备号、SIM 卡号、境温湿度、工作状态、经纬度、电压等。
  2. 接口接收数据:由接收方提供接口(可以外网访问的接口)接收数据。离线数据与 data 数据区分,根据数据中的 cmd 字段进行区分。
  3. 接口测试:先进行接口测试,确保无误后再发送正式数据。
  4. 问题排查:如果对接完成后设备未收到数据,请先检查所提供的接口是否有问题,然后再联系对接人员。
  5. 设备上线:设备上线后会自动发送 data 数据。
  6. 接口安全:可以针对传输方 IP 做限制,非传输方 IP 不允许调用接口(传输方 IP 可以联系对接人员提供)。
  7. 数据格式:设备数据格式不可变,不能按接收方增加或者减少字段,如有需求请联系销售经理。
  8. 接口设置:由我们这边进行配置,您只需要把接口发给对接人员就可以了。

设备数据报文结构

{
  "payload": {
    "cmd": "data",
    "ext": {
      "imei": "867038032102768",
      "iccid": "89860401101700076471",
      "csq": "29",
      "dver": "V1.0.1",
      "proj": "SEX_TRAP_1",
      "dtype": "4",
      "btype": "0",
      "ds": "1",
      "ws": "1",
      "cs": "0",
      "rps": "0",
      "tps": "0",
      "dps": "0",
      "bs": "0",
      "ts": "0",
      "st": "20",
      "et": "2",
      "cv": "18.0",
      "bv": "12.8",
      "at": "0",
      "ah": "0",
      "infr_ct": "25",
      "volt_ct": "100",
      "dat_f": "5",
      "clt_t": "10",
      "wind_drec": "5",
      "wind_sped": "5.6",
      "rcnt": "10",
      "gps": "1",
      "lng": "113.67336",
      "lat": "34.815187",
      "stamp": "20180301211805"
    }
  },
  "topic": "/yfkj/xycb/c2s/867435052203452"
}

字段说明

字段名 描述
imei 通讯板唯一 ID
iccid SIM 卡卡号
csq 信号强度 0~30
dver 4G 物联网模块代码版本号
proj 设备名称 SEX_TRAP_1
ds 设备开关 0: 关机 1: 开机
ws 工作状态 0: 待机 1: 工作
cs 充电标志位 0: 非充电 1: 充电
rps 雨控状态 0: 正常 1: 保护
tps 温控状态 0: 正常 1: 保护
dps 倾倒状态 0: 正常 1: 保护
bs 电池状态 0: 正常 1: 欠压 2: 过压
ts 时控开关 0: 关闭时控 1: 开启时控
st 时控开始时间,单位: 小时 0~24
et 时控结束时间,单位: 小时 0~24
cv 充电电压,单位: V 字符串类型
bv 电池电压,单位: V 字符串类型
at 环境温度 (字符串)
ah 环境湿度 (字符串)
infr_ct 红外计数值,整型,以红外计数为准
volt_ct 电击计数值,整型
dat_f 数据上传时间间隔,单位: 分钟
clt_t 清虫间隔,单位: 分钟
wind_drec 风向,整型,范围 0~359
wind_sped 风速,字符串,单位: m/s
rcnt 设备重启次数
lng 经度
lat 纬度
stamp 时间戳,格式:YYYYMMDDHHmmss(例如 20180301211805)

遗愿消息

设备默认设置了 MQTT 遗愿消息。当设备异常下线时(客户端断开前未向服务器发送 DISCONNECT 消息),MQTT 消息服务器会发布异常下线设备的遗愿消息。订阅设备遗愿消息,可实现对设备在线和离线状态的监控。

报文结构

{
  "cmd": "offline",
  "ext": {
    "imei": "867435052203452"
  },
  "topic": "/yfkj/xycb/c2s/867435052203452"
}

物联网性诱设备通讯约定

简述

本文档主要用于阐述物联网性诱设备与服务器端进行交互的通讯细节,其中包括物联网性诱设备与服务器之间使用的通信协议和交互通讯协议两部分。

适用范围

适用于【通用物联网性诱设备】与服务器之间的通讯。

设备主题

关于主题 s2cc2s 的说明,注意不要混淆:除离线消息主题:/yfkj/xycb/offline/xxxx 以外,上行通信主题中是 pub、下行通信主题中是 sub,即:

  • 所有上行通信的主题:/yfkj/xycb/c2s/xxxx
  • 所有下行通信的主题:/yfkj/xycb/s2c/xxxx 其中 xxxx 指设备唯一 imei

MQTT协议版本

物联网性诱设备使用主流公开的 MQTT 协议 V3.1.1 版本作为通讯协议,默认 QOS 质量等级为 0。服务器端需要实现 MQTT 协议的转发和解析,数据的上报为 json 格式。MQTT V3.1.1 协议详见附件。

交互协议

报文分类

类别 命令字 描述
数据 data 数据报告
开关 power 下发开关控制
查询 read 下发查询

根据 MQTT 的特性,下发服务不必回复,可以通过设置下位机的 QOS 为 2 或 1 来保证命令必达,也可以通过服务器主动下发查询状态和下发查询配置指令,来判断是否执行成功。

报文结构

{
  "cmd": "<协议命令字>",
  "ext": "<message>"
}

cmd: 协议命令字,对应报文分类定义的英文标识。 ext: 各个命令字对应的信息内容。 以上数据内容为 json 格式。 上行通信 报文结构

{
  "cmd": "data",
  "ext": {
    "imei": "867038032102768",
    "iccid": "89860401101700076471",
    "csq": "29",
    "dver": "V1.0.1",
    "proj": "SEX_TRAP_1",
    "dtype": "4",
    "btype": "0",
    "ds": "1",
    "ws": "1",
    "cs": "0",
    "rps": "0",
    "tps": "0",
    "dps": "0",
    "bs": "0",
    "ts": "0",
    "st": "20",
    "et": "2",
    "cv": "18.0",
    "bv": "12.8",
    "at": "0",
    "ah": "0",
    "infr_ct": "25",
    "volt_ct": "100",
    "dat_f": "5",
    "clt_t": "10",
    "wind_drec": "5",
    "wind_sped": "5.6",
    "rcnt": "10",
    "gps": "1",
    "lng": "113.67336",
    "lat": "34.815187",
    "stamp": "20180301211805"
  }
}

字段说明 字段 描述 imei 通讯板唯一 ID iccid SIM 卡卡号 csq 信号强度 0~30 dver 4G 物联网模块代码版本号 proj 设备名称 dtype 设备类型 (性诱 I 设备类型为 4) btype 电池类型 0:蓄电池 1:锂电池 ds 设备开关 0:关机 1:开机 ws 工作状态 0:待机 1:工作 cs 充电标志位 0:非充电 1:充电 rps 雨控状态 0:正常 1:保护 tps 温控状态 0:正常 1:保护 dps 倾倒状态 0:正常 1:保护 bs 电池状态 0:正常 1:欠压 2:过压 ts 时控开关 0:关闭时控 1:开启时控 st 时控开始时间 单位:小时 0~24 et 时控结束时间 单位:小时 0~24 cv 充电电压 单位:V 字符串类型 bv 电池电压 单位:V 字符串类型 at 环境温度 (字符串) ah 环境湿度 (字符串) infr_ct 红外计数值 整型 volt_ct 高压计数值 整型 dat_f 数据上传时间间隔 单位:分钟 clt_t 清虫间隔 单位:分钟 wind_drec 风向 整型 范围 0~359 wind_sped 风速 字符串 单位: m/s rcnt 设备重启次数 gps 定位方式 0 手动定位 1 GPS 定位 2 基站定位 lng 经度 lat 纬度 stamp 时间戳 20180301211805 下行通信 下发查询请求 查询数据报文结构:

{
  "cmd": "read",
  "ext": "data"
}

控制指令下发 下发定时控制报文结构

{
  "cmd": "paramconf",
  "ext": {
    "work_tim": {
      "timctrl": 1,
      "st": 20,
      "et": 2
    },
    "data_tim": {
      "dat_f": 10
    },
    "clt_tim": {
      "clt_t": 30
    },
    "location": {
      "lat": "0",
      "lng": "0",
      "type": 1
    },
    "power": {
      "ds": 1
    }
  }
}

下发清虫动作

{
  "cmd": "clearworm"
}