xycb.md 12 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"
}

性诱测报mqtt协议

简述

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

适用范围

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

设备主题

关于主题 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"
}

下发重启报文结构

{
  "cmd": "reboot"
}

下发升级报文结构

{
  "cmd": "update"
}

字段说明

字段 描述
cmd paramconf
work_tim 下发配置定时控制参数:
- timctrl: 时控开关,0 关闭时控,1 开启时控
- st: 开始时间
- et: 结束时间
data_tim 下发配置数据上报时间间隔,单位:分钟
clt_tim 下发配置清虫时间间隔,单位:分钟
location 下发手动定位参数:
- 参数经纬度值
- type=1
power 下发开关机:
- 0 关机
- 1 开机
clearworm 下发清虫动作
reboot 重启
update 升级

遗愿消息

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

离线消息主题
/yfkj/xycb/offline/imei

报文结构

{
  "cmd": "offline",
  "ext": {
    "imei": "868575028xxxxxx"
  }
}