cbd-sq.md 7.6 KB

虫情测报灯与服务器端交互通讯细节

简要描述

本文档主要用于阐述虫情测报灯与服务器端进行交互的通讯细节。对接采用 HTTP 协议,由接收方写接口来接收 HTTP POST 数据(需从 request 的 body(字节流类型)中取数据,取到之后进行 JSON 解析)。图片和设备数据为相互独立的两种数据。

接口说明

1. 数据接收接口

需要接收方写接口接收数据 POST 请求,数据分为 statusdataoffline 类型,可共用一个接口,根据 cmd 字段进行解析。

status 数据返回示例

{
  "topic": "/yfkj/cbd/pub/865650043207246",
  "payload": {
    "cmd": "status",
    "ext": {
      "imei": "865650043207246",
      "iccid": "89860401101700076471",
      "csq": 29,
      "dtype": 1,
      "dver": "1.0.0",
      "rps": 0,
      "lps": 0,
      "tps": 0,
      "gs": 0,
      "upds": 1,
      "dnds": 0,
      "hs": 0,
      "ts": 0,
      "lat": "34.815187",
      "lng": "113.67336",
      "lamp": 0,
      "lux": 1,
      "vs": 40,
      "ws": 0,
      "shake": 1,
      "proj": "DCCBD-2_HK",
      "stamp": "20180301211805",
      "gps": "2"
    }
  }
}

status 参数说明 | 字段名 | 描述 | | ------ | ---- | | imei | 通讯板唯一 ID | | iccid | 物联网卡的 iccid 号,用于查询物联网卡的套餐、流量信息等 | | csq | 信号强度 | | dtype | 设备类型 (测报灯设备类型为 3) | | dver | 设备固件版本 | | rps | 雨控状态 1:雨控,0:正常 | | lps | 光控状态 1:光控,0:正常 | | tps | 温控状态 1:温控,0:正常 | | gs | 通道状态 1:落虫,0:排水 | | upds | 上仓门状态 1:打开,0:关闭 | | dnds | 下仓门状态 1:打开,0:关闭 | | hs | 加热状态 1:加热,0:正常 | | ts | 定时模式 0:光控,1:时控 | | lat | 纬度 | | lng | 经度 | | stamp | 时间戳(格式:YYYYMMDDHHmmss) | | ws | 工作状态 0:待机,1:工作 | | lamp | 灯管状态 0:灭,1:亮(只有 ws=1 时灯管状态才起作用) | | lux | 光照强度 | | vs | 内部版本号,做参考 | | shake | 震动时间(单位:毫秒) | | proj | 内部版本名称 | | gps | 定位说明, 0: 手动定位, 1: GPS 定位, 2: 基站定位 |

  1. data 数据返回示例
    json { "topic": "/yfkj/cbd/pub/865650043207246", "payload": {} } data 参数说明 | 字段名 | 描述 | | --------- | -------------------------------------------------------------------- | | imei | 通讯板唯一 ID | | at | 环境温度 (单位:℃)(注:温度值为乘以 10 后的结果,需要除以 10 得到温度值) | | ah | 环境湿度 (单位:%RH)(注:湿度值为乘以 10 后的结果,需要除以 10 得到相对湿度值) | | hrt | 加热仓实时温度 (单位:℃) | | rps | 雨控状态 1:雨控,0:正常 | | lps | 光控状态 1:光控,0:正常 | | tps | 温控状态 1:温控,0:正常 | | lat | 纬度 | | lng | 经度 | | stamp | 时间戳(格式:YYYYMMDDHHmmss) | | ws | 工作状态 0:待机,1:工作 | | lamp | 灯管状态 0:灭,1:亮(只有 ws=1 时灯管状态才起作用) | | lux | 光照强度 | | batStatus | 电池状态 0:正常, 1:欠压 | | vbat | 电池电压 |
  2. offline 参数返回说明
    会发布异常下线设备的遗愿消息。注意:设备离线会发送一条设备下线消息,设备上线后发送正常数据(data 和 status)。

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

离线消息主题
/yfkj/cbd/offline/
报文结构

{
  "cmd": "offline",
  "ext": {
    "imei": "865650043207246"
  }
}

offline 参数返回示例

{
  "payload": {
    "cmd": "offline",
    "ext": {
      "imei": "865650043207246"
    }
  },
  "topic": "/yfkj/cbd/pub/865650043207246"
}
设备带害虫识别图片传输说明  
注意事项
数据上传时间默认是 20 分钟上传一次。  
图片数据上传时间受落虫时间、加热时间影响,默认是 30 分钟上传一次。  
设备拍照只在设置的工作范围内拍照,设备在雨控、温控状态下不会进行拍照和图片数据上传,只会上传设备数据(data 和 status 数据)。  
图片保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,导致图片展示不了的问题,需要下载保存到本地。  
示例 1  
```json
{
  "Image": "http://www.yfzhwlw.com/cbd_img/868956044831318/2020/09/202009191823.jpg",
  "Result_image": "http://www.yfzhwlw.com/result_pyftp/ftp_file/ykm_cbd/868956044824807/192.168.1.100_01_20201112174044521_ALARM_INPUTresult.jpg",
  "Result": "20,3#8,1#64,1#49,1#3,1#112,1#79,1",
  "imei": "865650043207246"
}

示例 2

{
  "Image": "http://www.yfzhwlw.com/cbd_img/868956044831318/2020/09/202009191823.jpg",
  "Result_image": "0",
  "Result": "0",
  "imei": "865650043207246"
}

图片参数说明
| 字段名 | 描述 | | ------------ | -------------------------------------------------------------------- | | imei | 设备序列号 | | Image | 拍照图片(图片链接,建议下载保存) | | Result_image | 识别结果图片(图片链接,建议下载保存) | | Result | 结果字符串,用“种类 1,种类 1 数目#种类 2,种类 2 数目…”表示,如 “10,1#12,2”,表示种类 10 的数目是 1,种类 12 的数目是 2 | 设备不带害虫识别图片传输说明
接口说明: 对接采用 HTTP 协议,由接收方写接口来接收 HTTP POST 数据(需从 request 的 body(字节流类型)中取数据,取到之后进行 JSON 解析)。图片和设备数据为相互独立的两种数据。
图片保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,导致图片展示不了的问题,需要下载保存到本地。

示例

{
  "Image": "http://www.yfzhwlw.com/cbd_img/868956044831318/2020/09/202009191823.jpg",
  "imei": "865650043207246"
}

图片参数说明
| 字段名 | 描述 | | ------ | ---- | | imei | 设备序列号 | | Image | 拍照图片(图片链接,建议下载保存) | 设备温控、雨控说明
温控:为了冬季保护电池。即使供电系统是市电,在这种温度条件下,并不会发生虫情,因此设计为系统待机,不再拍照,也比较符合节能降耗的思想。
雨控:为了防止设备进水而设计,发生雨控也进入待机,不再工作和拍照。