# 物联网杀虫灯与服务器端交互通讯细节 ## 简述 本文档主要用于阐述物联网杀虫灯与服务器端进行交互的通讯细节。 ## 通信描述 对接采用 HTTP 协议,由接收方写接口来接收 http post 数据(需从 request 的 body (字节流类型)中取数据,取到之后进行 json 解析)。 ## 对接说明 ### 设备数据说明 1. **数据上传时间默认为 30 分钟一次**。 2. **电击次数就是杀虫数**,上传一次 data 数据后重置为 0。 ### 设备对接说明 1. **设备数据包含**:设备号、SIM 卡号、境温湿度、工作状态、经纬度、电压等。 2. **由接收方提供接口接收数据**,设备方推送数据,需要提供一个可以外网访问的接口接收数据(与接收数据(离线数据与 data 数据区分,根据数据中的 cmd 字段进行区分))。 3. **先进行接口测试**,没问题后才能发正式数据。 4. **如果对接完成后设备未收到数据**,请先检查所提供的接口是否有问题,然后再联系对接人员。 5. **设备上线后会自动发送 data 数据**。 6. **关于接口安全问题**,可以针对传输方 IP 做限制,不是传输方的 IP 不让其调用接口,(传输方 IP 可以联系对接人员提供)。 7. **设备数据格式不可变**,不能按接收方增加或者减少字段,如有需求请联系销售经理。 8. **接口设置是我们这边进行配置**,您只需要把接口发给对接人员就可以了。 ## 设备数据报文结构 ```json { "topic": "/yfkj/scd/pub/867435052203452", "payload": { "cmd": "data", "ext": { "imei": "867435052203452", "iccid": "89680401101700076471", "csq": "29", "dtype": "1", "dver": "1.0.0", "stm8vs": "1.0.0", "ws": "0", "ds": "1", "tt": "7", "lps": "0", "rps": "0", "tps": "0", "dps": "0", "bt": "25", "voltval": "60", "ts": "0", "st": "20", "et": "2", "cv": "18.000", "bv": "12.800", "at": "0", "ah": "0", "ct": "0", "clt_t": "30", "dat_f": "30", "rcnt": "0", "info": "2", "gps": "1", "lng": "113.67336", "lat": "34.815187", "stamp": "20180301211805" } } } ``` 字段说明 | 字段名 | 描述 | | ------------ | -------------------------------------------------------------------- | | imei | 通讯板唯一 ID | | iccid | SIM 卡卡号 | | csq | 信号强度 | | dver | 4G 物联网模块代码版本号 | | ws | 工作状态 0: 待机,1: 工作,2: 充电 | | ds | 设备开关 0: 关机,1: 开机 | | tt | 定时时长 (0~7)小时, 0 表示常亮 | | lps | 光控状态 0: 正常 1: 保护 (检测到白天,光控模式下白天不工作,所以保护,2: 充电状态) | | rps | 雨控状态 0: 正常 1: 保护 | | tps | 温控状态 0: 正常 1: 保护 (设备进入温控状态) | | dps | 倾倒状态 0: 正常 1: 保护 (设备进入倾倒状态) | | bt | 主板温度,默认 25 度 | | ts | 时控开关 0: 关闭时控 1: 开启时控(设备工作状态,光控默认工作时间为天黑后 8 小时,时控可以设置工作时间范围) | | st | 时控开始时间,单位: 小时 0~23 | | et | 时控结束时间,单位: 小时 0~23 | | cv | 充电电压,单位: V 字符串 | | bv | 电池电压,单位: V 字符串 | | at | 环境温度 (字符串) | | ah | 环境湿度 (字符串) | | ct | 电击次数,范围 0~255 (每上报一次数据消息(data 消息)后清零) | | clt_t | 清虫间隔时间,单位:分钟 | | dat_f | 数据上传时间,单位:分钟 | | rcnt | 设备重启次数 | | gps | 定位方式 0: 手动定位 1: GPS 定位 2: 基站定位 | | lng | 经度 | | lat | 纬度 | | stamp | 时间戳,格式:YYYYMMDDHHmmss(例如 20180301211805) | ### 遗愿消息 设备默认设置配置了 MQTT 遗愿消息。当设备异常下线时(客户端断开前未向服务器发送 DISCONNECT 消息),MQTT 消息服务器会发布异常下线设备的遗愿消息。 报文结构 ``` { "cmd": "offline", "ext": { "imei": "867435052203452" }, "topic": "/yfkj/scd/pub/867435052203452" } ```