# 吸虫塔与服务端交互通讯细节 ## 简述 本文档主要用于阐述吸虫塔与服务端进行交互的通讯细节。 ## 通信描述 对接采用 HTTP 协议,由接收方写接口来接收 http post 数据(需从 request 的 body (字节流类型)中取数据,取到之后进行 json 解析)。 ## 对接说明 ### 设备数据、图片数据说明 1. **设备数据默认是10分钟上传一次数据**,图片是在设备工作时间段内10分钟上传一次。如果设备处于温控、雨控状态,不拍照但数据正常上传。 2. **温控、雨控**:温控是为了冬季保护电池;雨控是为了防止设备进水而设计,发生时设备进入待机不再工作和拍照。 3. **图片数据中的为图片链接**,需要下载保存到本地。建议不要直接保存图片链接到数据库,以防失效,下载后的链接存入数据库。 4. **设备数据包含**:设备号、SIM卡号、境温湿度、工作状态、经纬度、电压等。 5. **图片数据包含**:原图链接、设备号。 6. **设备数据格式不可变**,如有需求请联系销售经理。 7. **接口安全问题**:可以针对传输方 IP 做限制,不是传输方的 IP 不让其调用接口,(传输方 IP 可以联系对接人员提供)。 ### 设备对接说明 1. 图片和设备数据为相互独立的两种数据。 2. 需要提供两个接口接收数据(一个用于接收数据,一个用于接收图片)。 3. 如果对接完成后设备未收到数据与图片,请先检查所提供的接口是否有问题,再联系对接人员。 4. 先进行接口测试,没问题后才能发正式数据。 5. 设备上线后会自动发送 data 数据。 ## 设备数据报文结构 ```json { "topic": "/yfkj/cbd/pub/620210630173659", "payload": { "cmd": "data", "ext": { "dver": "1.0.1(HK)-V1.0.6-sound", "proj": "A7_RTU_V3", "dtype": "11", "vtype": "6", "dat_f": "20", "shake": "1", "shake_sec": "1", "gps": "1", "ds": "1", "st": "1", "et": "1", "ws": "1", "ah": "", "at": "", "batStatus": "0", "stamp": "20210914164223", "imei": "867435059538686", "iccid": "89860469101990239469", "lng": "113.662430", "lat": "34.808807", "rcnt": 267, "current": "190.12", "vbat": "22.00", "fuse_voltage": "22.76", "csq": "26" } } } ``` 字段说明 | 字段名 | 描述 | | ------ | -------------------------------------------------------------------- | | imei | 通讯板唯一 ID | | iccid | 物联网卡的 iccid 号,用于查询物联网卡的套餐、流量信息等 | | csq | 信号强度 | | lat | 纬度 | | lng | 经度 | | dtype | 设备类型 (测报灯设备类型为 3) | | ws | 工作状态 0: 待机,1: 工作 | | dver | 设备固件版本 | | vbat | 电压 | | st | 时控开始时间:0-23 | | et | 时控结束时间:0-23 | | current | 功率:单位(mA) | | at | 环境温度 | | ah | 环境湿度 | | stamp | 时间(格式:YYYYMMDDHHmmss,例如 20180301211805) | | dat_f | 数据上传时间间隔,单位:分钟 | | turnon | 开机次数,每次重启加 1 | | batStatus | 电压状态 0: 正常 1: 欠压 | | shake | 震动开关: 0: 关,1: 开 | | shake_sec | 震动时间:1~20(步长:100ms) | | fuse_voltage | 保险丝电压 | | ds | 设备开关状态 0: 关机 1: 开机 | 设备下线消息 设备默认配置了遗愿消息,当设备异常下线时(客户端断开前未向服务器发送 DISCONNECT 消息),会发布异常下线设备的遗愿消息。 ``` { "payload": { "cmd": "offline", "ext": { "imei": "868575028xxxxxx" } }, "topic": "/yfkj/cbd/pub/868575028xxxxxx" } ``` 注意:设备离线会发送一条设备下线消息,设备上线后发送正常数据。 图片传输 对接采用 HTTP 协议 由接收方写接口来接收 http post 数据(需从 request 的 body(字节流类型)中取数据,取到之后进行 json 解析)。图片需要下载保存到本地,不要直接保存图片链接到数据库。 不带害虫识别图片传输案例 ``` { "Image": "http://www.yfzhwlw.com/pyftp/ftp_file/ykm_cbd/868956048817419/192.168.1.100_01_20200623233048184_ALARM_INPUT.jpg", "imei": "868575028xxxxxx" } ``` 参数说明 | 字段名 | 描述 | | ------------ | -------------------------------------------------------------------- | |接口地址 |http://xxxxxxxxxx/xxxxx | |接口方式 |Post | | imei | 设备序列号 | | Image | 拍照图片(图片链接,建议下载保存) |