# 物联网孢子捕捉仪与服务器端交互通讯细节 ## 简述 本文档主要用于阐述物联网孢子捕捉仪与服务器端进行交互的通讯细节,其中包括物联网孢子捕捉仪与服务器之间使用的通信协议和交互通讯协议两部分。 ## 适用范围 适用于【通用物联网孢子捕捉仪】与服务器之间的通讯。 ## 对接说明 1. **对接采用 HTTP 协议**,由接收方写接口来接收 http post 数据(需从 request 的 body (字节流类型)中取数据,取到之后进行 json 解析)。 2. **数据上传频率**:设备数据每 20 分钟上传一次;图片每天上传 3 张,早上 9 点还有一张定时拍照的图片。 3. **图片处理**:图片数据为图片链接,需要下载保存到本地。保存时不要直接保存图片链接到数据库,因为图片链接可能会失效,应将下载后的图片链接存入数据库。 4. **设备数据包含**:设备号、SIM 卡号、境温湿度、工作状态、经纬度、电压等。 5. **图片数据包含**:原图链接、设备号。 6. **设备数据格式不可变**,不能按接收方增加或者减少字段,如有需求请联系销售经理。 7. **接口安全问题**:可以针对传输方 IP 做限制,非传输方 IP 不允许调用接口(传输方 IP 可以联系对接人员提供)。 8. **图片和设备数据为相互独立的两种数据**。 9. **图片上传时间**:可以按接收到图片的时间。 10. **接口设置**:由我们这边进行配置,您只需要把接口发给对接人员就可以了。 ## 设备数据报文结构 ```json { "topic": "/yfkj/bzy/c2s/862285038201897", "payload": { "cmd": "status", "ext": { "develop": "0", "ds": "1", "box_tem": "29", "dver": "1.8a.2(V21)", "work_sta": "1", "iccid": "89860492192090422967", "current": "0", "dtype": "7", "cul_time": "1", "batStatus": "0", "cold_sw": "0", "staytime": "0", "dat_f": "20", "proj": "BZY-V21", "stamp": "20211125112230", "drop_time": "1", "gps": "2", "ah": 30, "ws": 0, "at": 25, "wind_sw": "0", "lat": "029.6647090", "pre_temp": "25", "imgres": "0", "usb_sta": "0", "lng": "113.8094635", "csq": 31, "rps": "0", "coll_time": [ "8-10", "14-17" ], "vbat": "23.87", "imei": "862285038201897", "set_temp": "25" } } } ``` ### 字段说明 | 字段名 | 描述 | | ------------ | -------------------------------------------------------------------- | | develop | 调试 | | ds | 设备开关状态 0: 关机,1: 开机 | | box_tem | 机箱温度 | | dver | 设备版本号 | | work_sta | 摄像头状态 0: 待机,1: 收集,2: 培养,3: 拍照 | | iccid | 物联网卡的 iccid 号,用于查询物联网卡的套餐、流量信息等 | | current | 功率,单位:mA | | dtype | 设备类型 (孢子仪设备类型为 7) | | cul_time | 孢子培养时间,单位:小时 | | batStatus | 电压状态 0: 正常,1: 欠压 | | cold_sw | 制冷机开关 0: 关闭,1: 开启 | | staytime | 已培养时间,单位:小时 | | dat_f | 数据上传时间间隔,单位:分钟 | | proj | 内部版本号 | | stamp | 时间(格式:YYYYMMDDHHmmss,例如 20211125112230) | | drop_time | 载玻片滴液时间 | | gps | 定位状态 0: 失败,1: GPS,2: 基站定位 | | ah | 环境湿度 | | ws | 工作状态 0: 待机,1: 工作 | | at | 环境温度 | | wind_sw | 风机开关 0: 关闭,1: 开启 | | lat | 纬度 | | pre_temp | 保温仓当前温度,单位:°C | | imgres | 图片分辨率 0: 最高,不用调整 | | usb_sta | 摄像头状态 0: 正常,1: 异常 | | lng | 经度 | | csq | 信号强度 | | rps | 雨控状态 0: 正常,1: 保护 | | coll_time | 收集时间,格式:[开始时间-结束时间] | | vbat | 电压,单位:V | | imei | 设备号 | | set_temp | 保温仓设定温度,单位:°C | 遗愿消息 设备默认配置了遗愿消息,当设备异常下线时(客户端断开前未向服务器发送 DISCONNECT 消息),会发布异常下线设备的遗愿消息。 报文结构 ```json { "payload": { "cmd": "offline", "ext": { "imei": "867435052203452" } }, "topic": "/yfkj/bzy/c2s/867435052203452" } ``` ## 图片传输 对接采用 HTTP 协议,由接收方写接口来接收 HTTP POST 数据(需从 request 的 body (字节流类型)中取数据,取到之后进行 json 解析)。 图片处理:图片数据为图片链接,需要下载保存到本地。保存时不要直接保存图片链接到数据库,因为图片链接可能会失效,应将下载后的图片链接存入数据库。 报文结构 ```json { "Image": "https://bzypic.oss-cn-hangzhou.aliyuncs.com/202011/865650043169743/20201101170845.jpg", "imei": "868956048961118" } ``` ## 参数说明 | 字段名 | 描述 | | ------------ | -------------------------------------------------------------------- | |接口地址 |http://xxxxxxxxxx/xxxxx | |接口方式 |Post | | imei | 设备序列号 | | Image | (图片链接,建议下载保存到本地) |