本文档主要用于阐述虫情测报灯与服务器端进行交互的通讯细节。对接采用 HTTP 协议,由接收方写接口来接收 HTTP POST 数据(需从 request 的 body(字节流类型)中取数据,取到之后进行 JSON 解析)。图片和设备数据为相互独立的两种数据。
需要接收方写接口接收数据 POST 请求,数据分为 status、data、offline 类型,可共用一个接口,根据 cmd 字段进行解析。
{
"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: 基站定位 |
{
"topic": "/yfkj/cbd/pub/865650043207246",
"payload": {
"cmd": "data",
"ext": {
"imei": "865650043207246",
"at": 245,
"ah": 745,
"hrt": 55,
"rps": 0,
"lps": 0,
"tps": 0,
"lat": "34.815187",
"lng": "113.67336",
"lamp": 0,
"lux": 1,
"ws": 0,
"batStatus": 0,
"vbat": "27.766",
"stamp": "20180301211805"
}
}
}
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 | 电池电压 |
会发布异常下线设备的遗愿消息。注意:设备离线会发送一条设备下线消息,设备上线后发送正常数据(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
{
"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 | 拍照图片(图片链接,建议下载保存) |
温控:为了冬季保护电池。即使供电系统是市电,在这种温度条件下,并不会发生虫情,因此设计为系统待机,不再拍照,也比较符合节能降耗的思想。
雨控:为了防止设备进水而设计,发生雨控也进入待机,不再工作和拍照。
本文档主要用于阐述云飞自动虫情测报灯与服务器端进行交互的通讯细节,其中包括自动虫情测报灯与服务器之间使用的通信协议和交互通讯协议两部分。
| 缩略语 | 含义 |
|---|---|
| imei | 杀虫灯设备的通讯 ID,可作为设备唯一标识 |
| MQTT | 公开的物联网通信协议 |
| QOS | 0,1,2 -- MQTT 的质量协议 |
| cmd | 协议命令字标识,为消息报文分类 |
| status | 状态报告协议命令字,报文中使用 |
| data | 数据报告协议命令字,报文中使用 |
| paramconf | 参数配置协议命令字,报文中使用 |
| read | 服务器下发查询协议命令字,报文中使用 |
云飞自动虫情测报灯文本数据使用主流公开的 MQTT 协议 V3.1.1 版本作为通讯协议,默认 QOS 质量等级为 0。服务器端需要实现 MQTT 协议的转发和解析,数据的上报为 JSON 格式。MQTT V3.1.1 协议详见附件。
云飞自动虫情测报灯文本数据使用主流公开的 MQTT 协议和 HTTP 协议作为文件传输协议,可根据用户需求来自行选择。
根据 MQTT 的特性,下发服务不必回复,可以通过设置下位机的 QOS 为 2 或 1 来保证命令必达,也可以通过服务器主动下发查询状态和下发查询配置指令,来判断是否执行成功。
关于主题 sub 和 pub 的说明,注意不要混淆:
/yfkj/cbd/offline/2001 以外"/yfkj/cbd/pub/2001""/yfkj/cbd/sub/2001"其中 2001 指设备唯一 imei
报文结构:
{
"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,
"stamp": "20180301211805",
"gps": "2"
}
}
字段说明
| 字段 | 含义或表示的内容 |
|---|---|
| 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 | 时间戳:20180301211805 |
| ws | 工作状态 0:待机,1:工作 |
| lamp | 灯管状态 0:灭,1:亮 (只有 ws=1 灯管状态才起作用) |
| lux | 光照强度 |
| vs | 内部版本号 |
| gps | 定位说明, 0:手动定位, 1:GPS定位, 2:基站定位 |
数据报告 报文结构:
{
"cmd": "data",
"ext": {
"imei": "865650043207246",
"at": 245,
"ah": 745,
"hrt": 55,
"rps": 0,
"lps": 0,
"tps": 0,
"lat": "34.815187",
"lng": "113.67336",
"lamp": 0,
"lux": 1,
"ws": 0,
"stamp": "20180301211805"
}
}
字段说明
| 字段 | 含义或表示的内容 |
|---|---|
| imei | 通讯板唯一 ID |
| at | 环境温度 (单位:℃) (注:温度值为乘以10后的结果,需要除以10得到温度值) |
| ah | 环境湿度 (单位:%RH) (注:湿度值为乘以10后的结果,需要除以10得到相对湿度值) |
| hrt | 加热仓实时温度 (单位:℃) |
| rps | 雨控状态 1:雨控,0:正常 |
| lps | 光控状态 |
| tps | 温控状态 |
| lat | 纬度 |
| lng | 经度 |
| stamp | 时间戳:20180301211805 |
| ws | 工作状态 0:待机,1:工作 |
| lamp | 灯管状态 0:灭,1:亮 (只有 ws=1 灯管状态才起作用) |
| lux | 光照强度 |
下行通信 下发查询请求 查询状态报文结构:
{
"cmd": "read",
"ext": {
"type": "paramconf"
}
}
字段说明
| 字段 | 含义或表示的内容 |
|---|---|
| type | 读取参数类型 |
| status | 请求读取设备状态信息 |
| data | 请求读取数据信息 |
| paramconf | 请求读取参数配置信息 |
报文结构:
{
"cmd": "paramconf",
"ext": {
"imei": "3001",
"ts": 0,
"tt": 6,
"st": 20,
"et": 6,
"collt": 10,
"htim": 10,
"hst": 85,
"tph": 70,
"tpl": 5,
"datt": 20,
"imgres": 0,
"stamp": "20180301211805"
}
}
字段说明
| 字段 | 含义或表示的内容 |
|---|---|
| imei | 通讯板唯一 ID |
| ts | 定时模式 0:光控,1:时控 |
| tt | 光控定时模式下,定时时长(1~10) (单位:小时) (默认:8 小时) |
| st | 定时开始时间 (默认 20:00) |
| et | 定时结束时间 (默认 06:00) |
| collt | 收集时间、落虫时间(5~20)(单位:分钟) (默认 10 分钟) |
| htim | 设定的加热时间(5~20)(单位:分钟) (默认 10 分钟) |
| hst | 设定的加热温度(75~125)(单位:℃) (默认 85℃) |
| tph | 高温保护阈值温度 (单位:℃) (默认 70℃) |
| tpl | 低温保护阈值温度 (单位:℃) (默认 5℃) |
| datt | 数据上传时间间隔(5~60)(单位:分钟) (默认 20 分钟) |
| imgres | 照片分辨率 - 0:高(1280*960) - 1:中(1024*768) - 2:低(640*480) (默认 2) |
| stamp | 时间戳:20180301211805 |
参数配置下发 报文结构:
{
"cmd": "paramconf",
"ext": {
"ts": 0,
"tt": 6,
"st": 20,
"et": 6,
"collt": 10,
"htim": 10,
"hst": 85,
"tph": 70,
"tpl": 5,
"datt": 20,
"imgres": 0
}
}
字段说明
| 字段 | 描述 |
|---|---|
| ts | 定时模式 0:光控, 1:时控 (默认:1 时控) |
| tt | 光控定时模式下,定时时长(1~10) (单位:小时) (默认:8 小时) |
| st | 定时开始时间 (默认时间:20:00) |
| et | 定时结束时间 (默认时间:06:00) |
| collt | 收集时间、落虫时间(5~20)(单位:分钟) (默认:10 分钟) |
| htim | 设定的加热时间(5~20)(单位:分钟) (默认:10 分钟) |
| hst | 设定的加热温度(75~125)(单位:℃) (默认:85℃) |
| tph | 高温保护阈值温度 (单位:℃) (默认:70℃) |
| tpl | 低温保护阈值温度 (单位:℃) (默认:5℃) |
| datt | 数据上传时间间隔(5~60)(单位:分钟) |
| imgres | 照片分辨率 0:高(1280*960);1:中(1024*768);2:低(640*480) (默认:2) |
下发拍照指令后,图片会通过接收图片接口发送。
{
"ext": {
"type": "takephoto"
},
"cmd": "ctrl"
}
设备默认设置配置了MQTT遗愿消息。当设备异常下线时,MQTT消息服务器会发布异常下线设备的遗愿消息。订阅设备遗愿消息可实现对设备在线和离线状态的监控。
离线消息主题:/yfkj/cbd/offline/
报文结构:
{
"cmd": "offline",
"ext": {
"imei": "865650043207246"
}
}
数据上传时间默认是20分钟上传一次,图片数据上传时间受落虫时间、加热时间影响,默认是30分钟上传一次。设备在雨控、温控状态下不会进行拍照和图片数据上传,只会上传设备数据(data和status数据)。
示例1
{
"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 | 拍照图片(图片链接,建议下载保存) |
问: 测报灯拍照时间

答: 默认数据上传时间为20分钟一次,图片上传时间为30分钟一次。测报灯拍照时间是在设备设置的工作时间段内拍照,拍照时间间隔为设置的落虫时间+加热时间为一次照片的间隔时间。
问: 设备拍照时多时少,偶尔不拍照
答: 首先排查设备是否是雨控和温控状态。雨控是为了防止设备进水而设计,发生雨控也进入待机,不再工作和拍照;温控是为了冬季保护电池的。以上两种状态设备均为待机状态,不会进行拍照动作。
问: 设备数据传输方式
答: 有两种对接方式:
问: 测报灯图片是怎样传输的
答: 图片是通过HTTP传输的,是图片链接,需要下载保存到本地,不能直接把图片链接保存到数据库中,因为图片链接有可能会失效。
问: 害虫识别是在设备上进行识别的还是在服务器上进行识别的
答: 是在服务端进行识别的,然后与图片一起通过HTTP协议传输过去。
问: 害虫识别数据包含哪些
答: 包含原图链接、识别后的图片链接、害虫编号(用于害虫表中的害虫编号对应,与对接人员要)、害虫数量。
问: 使用HTTP对接方式接口地址配置在什么地方
答: 直接把接口地址发给对接人员,由对接人员进行配置,一台设备不能接多个转发地址(数据一个,图片一个)。如果需要多个,可以由接收方接收到数据后再次转发。
问: 设备数据都包含有哪些数据
答: 环境温湿度、经纬度、雨控、温控、工作状态、定时模式等数据。
问: 光控、时控工作模式代表什么
答: 光控就是设定工作时长,时控是设定工作范围。