zhangwd преди 11 месеца
родител
ревизия
ba4aed3c24

+ 20 - 39
zh-cn/bzy-sq/_sidebar.md

@@ -1,58 +1,39 @@
-* [测报灯http协议](/zh-cn/cbd-sq/cbd-sq?id=测报灯http协议)
+* [孢子仪http协议](/zh-cn/bzy-sq/bzy-sq?id=孢子仪http协议)
 
-  * [简要描述](/zh-cn/cbd-sq/cbd-sq?id=简要描述)
+  * [简要描述](/zh-cn/bzy-sq/bzy-sq?id=简要描述)
 
-    * [接口说明](/zh-cn/cbd-sq/cbd-sq?id=接口说明)
+    * [接口说明](/zh-cn/bzy-sq/bzy-sq?id=接口说明)
 
-      * [数据接收接口](/zh-cn/cbd-sq/cbd-sq?id=数据接收接口)
+      * [数据上报](/zh-cn/bzy-sq/bzy-sq?id=数据上报)
 
-      * [status数据返回示例](/zh-cn/cbd-sq/cbd-sq?id=status数据返回示例)
+      * [报文结构](/zh-cn/bzy-sq/bzy-sq?id=报文结构)
 
-      * [data数据返回示例](/zh-cn/cbd-sq/cbd-sq?id=data数据返回示例)
+      * [遗愿消息](/zh-cn/bzy-sq/bzy-sq?id=遗愿消息)
 
-      * [offline参数返回说明](/zh-cn/cbd-sq/cbd-sq?id=offline参数返回说明)
+      * [图片传输](/zh-cn/bzy-sq/bzy-sq?id=图片传输)
 
-      * [设备带害虫识别图片传输说明](/zh-cn/cbd-sq/cbd-sq?id=设备带害虫识别图片传输说明)
+      * [对接方式](/zh-cn/bzy-sq/bzy-sq?id=对接方式)
 
-      * [设备不带害虫识别图片传输说明](/zh-cn/cbd-sq/cbd-sq?id=设备不带害虫识别图片传输说明)
+      * [数据格式](/zh-cn/bzy-sq/bzy-sq?id=数据格式)
 
-      * [设备温控雨控说明](/zh-cn/cbd-sq/cbd-sq?id=设备温控雨控说明)
+      * [孢子仪c语言接收数据案例](/zh-cn/bzy-sq/bzy-sq?id=孢子仪c语言接收数据案例)
 
-      * [C#语言接收数据案例](/zh-cn/cbd-sq/cbd-sq?id=C#语言接收数据案例)
+      * [孢子仪java语言接收数据案例](/zh-cn/bzy-sq/bzy-sq?id=孢子仪java语言接收数据案例)
 
-      * [java语言接收数据案例](/zh-cn/cbd-sq/cbd-sq?id=java语言接收数据案例)
+      * [孢子仪nodejs语言接收数据案例](/zh-cn/bzy-sq/bzy-sq?id=孢子仪nodejs语言接收数据案例)
 
-      * [nodejs语言接收数据案例](/zh-cn/cbd-sq/cbd-sq?id=nodejs语言接收数据案例)
+      * [孢子仪python语言接收数据案例](/zh-cn/bzy-sq/bzy-sq?id=孢子仪python语言接收数据案例)
 
-      * [python语言接收数据案例](/zh-cn/cbd-sq/cbd-sq?id=python语言接收数据案例)
+* [孢子仪mqtt协议](/zh-cn/bzy-sq/bzy-sq?id=孢子仪mqtt协议)
 
-* [测报灯mqtt协议](/zh-cn/cbd-sq/cbd-sq?id=测报灯mqtt协议)
+  * [相关主题](/zh-cn/bzy-sq/bzy-sq?id=相关主题)
 
-  * [简要描述](/zh-cn/cbd-sq/cbd-sq?id=简要描述)
+    * [数据上报](/zh-cn/bzy-sq/bzy-sq?id=数据上报)
 
-    * [术语和缩略语](/zh-cn/cbd-sq/cbd-sq?id=术语和缩略语)
+      * [查询状态报文结构](/zh-cn/bzy-sq/bzy-sq?id=查询状态报文结构)
 
-      * [通信协议](/zh-cn/cbd-sq/cbd-sq?id=通信协议)
+      * [遗愿消息](/zh-cn/bzy-sq/bzy-sq?id=遗愿消息)
 
-      * [文本传输协议](/zh-cn/cbd-sq/cbd-sq?id=文本传输协议)
-
-      * [文件传输协议](/zh-cn/cbd-sq/cbd-sq?id=文件传输协议)
-
-      * [主题说明](/zh-cn/cbd-sq/cbd-sq?id=主题说明)
-
-      * [上行通信](/zh-cn/cbd-sq/cbd-sq?id=上行通信)
-
-      * [状态报告](/zh-cn/cbd-sq/cbd-sq?id=状态报告)
-
-      * [交互协议](/zh-cn/cbd-sq/cbd-sq?id=交互协议)
-
-      * [下发拍照指令](/zh-cn/cbd-sq/cbd-sq?id=下发拍照指令)
-
-      * [遗愿消息](/zh-cn/cbd-sq/cbd-sq?id=遗愿消息)
-
-      * [设备带害虫识别图片传输说明1](/zh-cn/cbd-sq/cbd-sq?id=设备带害虫识别图片传输说明1)
-
-      * [设备不带害虫识别图片传输说明1](/zh-cn/cbd-sq/cbd-sq?id=设备不带害虫识别图片传输说明1)
-
-* [常见问题解答](/zh-cn/cbd-sq/cbd-sq?id=常见问题解答)
+      * [图片传输](/zh-cn/bzy-sq/bzy-sq?id=图片传输)
 
+* [常见问题解答](/zh-cn/bzy-sq/bzy-sq?id=常见问题解答)

+ 268 - 52
zh-cn/bzy-sq/bzy-sq.md

@@ -1,14 +1,14 @@
-# 孢子捕捉仪与服务器端交互通讯细节
+# 孢子仪http协议
 
-## 1. 简要描述
+##  简要描述
 
 本文档主要用于阐述孢子捕捉仪与服务器端进行交互的通讯细节。
 
-## 2. 接口说明
+##  接口说明
 
 需要接收方写接口接收数据 POST请求。图片保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,导致图片展示不了的问题,需要下载保存到本地。
 
-## 3. 数据上报
+##  数据上报
 
 ### 报文结构
 
@@ -54,61 +54,65 @@
   },
   "topic": "/yfkj/bzy/c2s/865650043208251"
 }
+```
+字段说明  
+
+| 字段      | 含义或表示的内容                                             |
+|-----------|--------------------------------------------------------------|
+| imei      | 通讯板唯一 ID                                                |
+| iccid     | 物联网卡的 ICCID 号,用于查询物联网卡的套餐、流量信息等       |
+| csq       | 信号强度                                                     |
+| alti      | 海拔高度(单位:m)                                          |
+| lat       | 纬度                                                         |
+| lng       | 经度                                                         |
+| dtype     | 设备类型 <孢子仪设备类型为 7>                                |
+| on_off    | 设备开关 0:关闭,1:开启                                    |
+| dver      | 设备固件版本                                                 |
+| v_bat     | 电压(单位:V)                                              |
+| bat_sta   | 电池状态 0:正常,1:电量过低                               |
+| usb_sta   | 摄像头状态 0:正常, 1:异常                                  |
+| imgres    | 图片分辨率(默认为 7(最高))                               |
+| wind_sw   | 风机开关 0:关闭,1:开启                                    |
+| cold_sw   | 制冷机开关 0:关闭,1:开启                                  |
+| coll_time | 采集开启和关闭时间(最多有 10 个)                           |
+| drop_time | 滴液时间(单位:秒)                                         |
+| set_temp  | 保温仓设定温度(单位:℃)                                    |
+| pre_temp  | 保温仓当前温度(单位:℃)                                    |
+| at        | 环境温度(单位:℃)                                          |
+| ah        | 环境湿度(单位:%)                                           |
+| rps       | 雨控状态 1:雨控,0:正常                                    |
+| stamp     | 时间戳:20180301211805                                       |
+| datt      | 数据上传时间间隔(单位:分钟)                               |
+| staytime  | 已培养时间(单位:小时)                                     |
+| cul_time  | 培养时间(单位:小时)                                       |
+| work_sta  | 工作状态 0:关闭,1:开启                                    |
+| proj      | 版本号                                                       |
+| box_tem   | 机箱温度(单位:℃)                                          |  
+
+
+### 遗愿消息  
 
-字段说明
-字段	含义或表示的内容
-imei	通讯板唯一 ID
-iccid	物联网卡的 ICCID 号,用于查询物联网卡的套餐、流量信息等
-csq	信号强度
-alti	海拔高度(单位:m)
-lat	纬度
-lng	经度
-dtype	设备类型 <孢子仪设备类型为 7>
-on_off	设备开关 0:关闭,1:开启
-dver	设备固件版本
-v_bat	电压(单位:V)
-bat_sta	电池状态 0:正常,1:电量过低
-usb_sta	摄像头状态 0:正常, 1:异常
-imgres	图片分辨率(默认为 7(最高))
-wind_sw	风机开关 0:关闭,1:开启
-cold_sw	制冷机开关 0:关闭,1:开启
-coll_time	采集开启和关闭时间(最多有 10 个)
-drop_time	滴液时间(单位:秒)
-set_temp	保温仓设定温度(单位:℃)
-pre_temp	保温仓当前温度(单位:℃)
-at	环境温度(单位:℃)
-ah	环境湿度(单位:%)
-rps	雨控状态 1:雨控,0:正常
-stamp	时间戳:20180301211805
-datt	数据上传时间间隔(单位:分钟)
-staytime	已培养时间(单位:小时)
-cul_time	培养时间(单位:小时)
-work_sta	工作状态 0:关闭,1:开启
-proj	版本号
-box_tem	机箱温度(单位:℃)
-4. 遗愿消息
 设备默认设置配置了MQTT遗愿消息。当设备异常下线时(客户端断开前未向服务器发送DISCONNECT消息),MQTT消息服务器会发布异常下线设备的遗愿消息。订阅设备遗愿消息,可实现对设备在线和离线状态的监控。
 
 离线消息主题
 /yfkj/bzy/offline/<imei>
 
 报文结构
-json
-深色版本
+```json
 {
   "cmd": "offline",
   "ext": {
     "imei": "865650043207246"
   }
 }
+```
 
-
-## 5. 图片传输
+##  图片传输
 
 ### 对接方式
 
-1. 对接采用 HTTP 协议,由接收方写接口来接收 HTTP POST 数据(需从 request 的 body (字节流类型)中取数据,取到之后进行 JSON 解析)。
-2. 图片数据中的 `Image` 字段为图片链接,图片需要下载保存到本地。保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,应直接下载保存到本地后的链接存到数据库中。
+1. 对接采用 HTTP 协议,由接收方写接口来接收 HTTP POST 数据(需从 request 的 body (字节流类型)中取数据,取到之后进行 JSON 解析)。  
+2. 图片数据中的 `Image` 字段为图片链接,图片需要下载保存到本地。保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,应直接下载保存到本地后的链接存到数据库中。  
 
 #### 数据格式
 
@@ -117,13 +121,225 @@ json
   "Image": "https://bzypic.oss-cn-hangzhou.aliyuncs.com/202103/867814044582217/20210323151242.jpg",
   "imei": "865650043172788"
 }
-参数说明
-接口地址: http://xxxxxxxxxx/xxxxx
-接口方式: POST
-参数说明:
-imei: 设备序列号
-Image: 图片链接
-6. C#语言接收数据案例
-7.java语言接收数据案例
-8.node.js语言接收数据案例
-9.python语言接收数据案例
+```
+参数说明  
+
+| 参数       | 说明           |
+|------------|----------------|
+| 接口地址   | `http://xxxxxxxxxx/xxxxx` |
+| 接口方式   | POST           |
+| `imei`     | 设备序列号     |
+| `Image`    | 图片链接       |    
+
+###  孢子仪c语言接收数据案例  
+![孢子仪c语言接收数据案例](../zh-cn/images/孢子仪c语言接收数据案例.png)
+###  孢子仪java语言接收数据案例  
+![孢子仪java语言接收数据案例](../zh-cn/images/孢子仪java语言接收数据案例.png)
+###  孢子仪nodejs语言接收数据案例  
+![孢子仪nodejs语言接收数据案例](../zh-cn/images/孢子仪nodejs语言接收数据案例.png)
+###  孢子仪python语言接收数据案例  
+![孢子仪python语言接收数据案例](../zh-cn/images/孢子仪python语言接收数据案例.png)
+
+
+
+# 孢子仪mqtt协议
+
+##  相关主题
+
+- **客户端到服务器(c2s)路径**: `/yfkj/bzy/c2s/imei`
+- **服务器到客户端(s2c)路径**: `/yfkj/bzy/s2c/imei`
+- **离线消息主题**: `/yfkj/bzy/offline/<imei>`
+
+##  数据上报
+
+### 查询状态报文结构  
+
+```json
+{
+  "cmd": "read",
+  "type": "status"
+}
+```
+定时数据上报和查询回复报文结构  
+
+```json
+{
+	"cmd": "status",
+	"ext": {
+		"imei": "865650043207246",
+		"iccid": "89860401101700076471",
+		"csq": 29,
+		"alti": 50,
+		"lat": "34.815187",
+		"lng": "113.67336",
+		"dtype": 7,
+		"on_off": 0,
+		"dver": "1.0.0",
+		"v_bat": "24.8",
+		"bat_sta": 0,
+		"usb_sta": 0,
+		"imgres": 7,
+		"wind_sw": 0,
+		"cold_sw": 0,
+		"coll_time": [
+			"8-9",
+			"11-12"
+		],
+		"drop_time": 1,
+		"set_temp": 25,
+		"pre_temp": 0,
+		"at": 0,
+		"ah": 0,
+		"rps": 0,
+		"stamp": "20180301211805",
+		"datt": 10,
+		"staytime": 10,
+		"cul_time": 24
+	}
+}
+```
+字段说明  
+
+| 字段      | 含义或表示的内容                                             |
+|-----------|--------------------------------------------------------------|
+| `imei`    | 通讯板唯一 ID                                                |
+| `iccid`   | 物联网卡的 ICCID 号,用于查询物联网卡的套餐、流量信息等       |
+| `csq`     | 信号强度                                                     |
+| `alti`    | 海拔高度(单位:m)                                          |
+| `lat`     | 纬度                                                         |
+| `lng`     | 经度                                                         |
+| `dtype`   | 设备类型 <孢子仪设备类型为 7>                                |
+| `on_off`  | 设备开关 0:关闭,1:开启                                    |
+| `dver`    | 设备固件版本                                                 |
+| `v_bat`   | 电压(单位:V)                                              |
+| `bat_sta` | 电池状态 0:正常,1:电量过低                               |
+| `usb_sta` | 摄像头状态 0:正常, 1:异常                                  |
+| `imgres`  | 图片分辨率(默认为 7(最高))                               |
+| `wind_sw` | 风机开关 0:关闭,1:开启                                    |
+| `cold_sw` | 制冷机开关 0:关闭,1:开启                                  |
+| `coll_time` | 采集开启和关闭时间(最多有 10 个)                         |
+| `drop_time` | 滴液时间(单位:秒)                                       |
+| `set_temp` | 保温仓设定温度(单位:℃)                                   |
+| `pre_temp` | 保温仓当前温度(单位:℃)                                   |
+| `at`      | 环境温度(单位:℃)                                          |
+| `ah`      | 环境湿度(单位:%)                                           |
+| `rps`     | 雨控状态 1:雨控,0:正常                                    |
+| `stamp`   | 时间戳:20180301211805                                       |
+| `datt`    | 数据上传时间间隔(单位:分钟)                               |
+| `staytime`| 已培养时间(单位:小时)                                     |
+| `cul_time`| 培养时间(单位:小时)                                       |
+| `work_sta`| 工作状态 0:关闭,1:开启                                    |
+| `proj`    | 版本号                                                       |
+| `box_tem` | 机箱温度(单位:℃)                                          |  
+
+下发设置示例  
+
+```json
+{"cmd":"poweroff"}, {"cmd":"poweron"}, {"cmd":"reboot"}, {"cmd":"update"}, {"cmd":"coldoff"}, {"cmd":"coldon"}
+```
+拍照
+```json
+{"cmd":"ctrl","ext":{"type": "takephoto"}}
+```
+
+| 属性字段       | 含义或表示的内容           |
+|------------|----------------|
+| `poweroff` | 关机            |
+| `poweron`  | 开机            |
+| `reboot`   | 重启            |
+| `update`   | 升级            |
+| `coldoff`  | 制冷机关闭       |
+| `coldon`   | 制冷机开启       |  
+
+下发设备配置  
+
+```json
+{
+  "cmd": "paramconf",
+  "ext": {
+    "wind_sw": 0,
+    "coll_time": ["7-9", "10-11"],
+    "set_temp": 25,
+    "datt": 0,
+    "drop_time": 0,
+    "cul_time": 24
+  }
+}
+```
+
+
+| 属性字段        | 含义或表示的内容                           |
+|-------------|--------------------------------------------|
+| `wind_sw`   | 风机开关                                   |
+| `coll_time` | 采集孢子时间段(例如:`['7-9', '10-11']`) |
+| `set_temp`  | 设定的保温仓温度(单位:℃)                |
+| `datt`      | 数据上传时间间隔(单位:分钟)              |
+| `drop_time` | 滴液时间(单位:秒)                        |  
+
+### 遗愿消息(离线消息)
+离线消息主题
+/yfkj/bzy/offline/<imei>
+
+报文结构
+```json
+{
+  "cmd": "offline",
+  "ext": {
+    "imei": "865650043207246"
+  }
+}
+```
+### 图片传输  
+接口描述  
+对接采用HTTP协议,由接收方写接口来接收HTTP POST数据。
+
+数据格式
+```json
+{
+  "Image": "https://bzypic.oss-cn-hangzhou.aliyuncs.com/202103/867814044582217/20210323151242.jpg",
+  "imei": "865650043172788"
+}
+```
+| 参数       | 说明             |
+|------------|------------------|
+| 接口地址   | http://xxxxxxxxxx/xxxxx |
+| 接口方式   | POST             |
+| imei     | 设备序列号       |
+| Image    | 图片链接         |  
+
+
+# 常见问题解答
+
+## 1. 设备数据传输方式
+
+**问**: 设备数据传输方式是什么?
+
+**答**: 
+有两种对接方式:
+- **HTTP对接方式**:平台对平台,通过服务器转发完成。客户需提供接收数据的接口,被动接收数据,我们这边主动推送数据。
+- **MQTT方式**:需要客户那边启动一个MQTT服务,设备通过MQTT传输协议直接上传到客户方服务器,客户只需要从MQTT服务取数据即可。但这一对接方式中,设备图片需使用HTTP方式传输。
+
+## 2. 能分辨出设备所拍图片上的孢子吗
+
+**问**: 能分辨出设备所拍图片上的孢子吗?
+
+**答**: 
+不能,设备只能拍摄照片,无法分析出照片中的具体孢子类型。
+
+## 3. 孢子仪图片是怎样传输的
+
+**问**: 孢子仪图片是怎样传输的?
+
+**答**: 
+图片通过HTTP传输,以图片链接的形式提供。需要下载并保存到本地,而不是直接把图片链接保存到数据库中,因为图片链接有可能会失效。
+
+## 4. 设备数据都包含哪些数据
+
+**问**: 设备数据都包含哪些数据?
+
+**答**: 
+设备数据包括但不限于以下内容:
+- 工作状态
+- 电池状态
+- 电压
+- 保温仓温度等

BIN
zh-cn/images/气象站c语言接收数据案例.png


BIN
zh-cn/images/气象站java语言接收数据案例.png


BIN
zh-cn/images/气象站nodejs语言接收数据案例.png


BIN
zh-cn/images/气象站python语言接收数据案例.png


+ 39 - 0
zh-cn/qxz-sq/_sidebar.md

@@ -0,0 +1,39 @@
+* [气象站http协议](/zh-cn/qxz-sq/qxz?id=气象站http协议)
+
+  * [简要描述](/zh-cn/qxz-sq/qxz?id=简要描述)
+
+    * [对接说明](/zh-cn/qxz-sq/qxz?id=对接说明)
+
+      * [状态报告](/zh-cn/qxz-sq/qxz?id=状态报告)
+
+      * [报文结构](/zh-cn/qxz-sq/qxz?id=报文结构)
+
+      * [风力(风速)等级表](/zh-cn/qxz-sq/qxz?id=风力(风速)等级表)
+
+      * [eNum对应参数](/zh-cn/qxz-sq/qxz?id=eNum对应参数)
+
+      * [孢子仪c语言接收数据案例](/zh-cn/bzy-sq/bzy-sq?id=孢子仪c语言接收数据案例)
+
+      * [孢子仪java语言接收数据案例](/zh-cn/bzy-sq/bzy-sq?id=孢子仪java语言接收数据案例)
+
+      * [孢子仪nodejs语言接收数据案例](/zh-cn/bzy-sq/bzy-sq?id=孢子仪nodejs语言接收数据案例)
+
+      * [孢子仪python语言接收数据案例](/zh-cn/bzy-sq/bzy-sq?id=孢子仪python语言接收数据案例)
+
+* [气象站mqtt协议](/zh-cn/qxz-sq/qxz?id=气象站mqtt协议)
+
+  * [设备上传无返回确认](/zh-cn/qxz-sq/qxz?id=设备上传无返回确认)
+
+      * [平台下发查询控制](/zh-cn/qxz-sq/qxz?id=平台下发查询控制)
+
+      * [下发查询上传间隔](/zh-cn/qxz-sq/qxz?id=下发查询上传间隔)
+
+      * [下发查询状态](/zh-cn/qxz-sq/qxz?id=下发查询状态)
+
+      * [下发查询数据](/zh-cn/qxz-sq/qxz?id=下发查询数据)
+
+      * [下发设置数据上报时间](/zh-cn/qxz-sq/qxz?id=下发设置数据上报时间)
+
+      * [遗愿消息](/zh-cn/qxz-sq/qxz?id=遗愿消息)
+
+      * [开机上报在线消息](/zh-cn/qxz-sq/qxz?id=开机上报在线消息)

+ 720 - 0
zh-cn/qxz-sq/qxz.md

@@ -0,0 +1,720 @@
+# 气象站http协议
+
+## 1. 简要描述
+
+本文档主要用于阐述气象站与服务器端进行交互的通讯细节,其中包括气象站与服务器之间使用的通信协议和交互通讯协议两部分。
+
+##  对接说明
+
+接收方需要启动一个 HTTP 接口,用于接收 POST 请求。设备上传的数据从请求的 body 中获取。
+
+##  状态报告
+
+### 报文结构
+```json
+{
+	"StationID": "***************",
+	"MonitorTime": "2020-2-19 09:36:08",
+	"data": [{
+			"eValue": "",
+			"eKey": "e1",
+			"eNum": "101"
+		},
+		{
+			"eValue": "",
+			"eKey": "e2",
+			"eNum": "102"
+		},
+		{
+			"eValue": "",
+			"eKey": "e3",
+			"eNum": "106"
+		}
+	]
+}
+```
+
+| 属性字段         | 含义或表示的内容                                             |
+|--------------|--------------------------------------------------------------|
+| `StationID`  | 采集器 ID(4G 通讯模组 imei)                                |
+| `MonitorTime`| 数据上传时间                                                 |
+| `data`       | 气象站各项要素的值                                           |
+| `eValue`     | 数据结果(注:若数值为 `-99.99`,则表示传感器故障或未连接)   |
+| `eKey`       | 通道编号(从 `e1` 开始)                                     |
+| `eNum`       | 通道对应要素名称及单位                                       |  
+
+
+4.运行基本状态信息上传
+报文结构:(开机上报 1 次)
+```json
+{
+	"StationID": "*******************",
+	"MonitorTime": "2020-2-19 10:50:04",
+	"terminalStatus": {
+		"VOLT": "12.2",
+		"RSSI": "17",
+		"IMEI": "866262042538503",
+		"ICCID": "89860411101892475452",
+		"longitude": "113.604943",
+		"latitude": "34.847540",
+		"Dotled": "0",
+		"Control_Op": "3",
+		"Version": "1.0.2021/04/08/16/44_alpha"
+	}
+}
+```
+
+报文结构:(间隔5分钟 1 次)
+```json
+{
+	"StationID": "*********************",
+	"MonitorTime": "2020-2-19 10:50:04",
+	"terminalStatus": {
+		"VOLT": "12.2",
+		"RSSI": "17"
+	}
+}
+```
+
+| 字段          | 含义或表示的内容                                             |
+|---------------|--------------------------------------------------------------|
+| `StationID`   | 采集器 ID(4G 通讯模组 imei)                                |
+| `MonitorTime` | 数据上报时间                                                 |
+| `ICCID`       | SIM 卡 ICCID                                                 |
+| `VOLT`        | 终端当前电压(单位:V)                                      |
+| `RSSI`        | 当前 4G 信号强度                                             |
+| `IMEI`        | 4G 信号模组 IMEI                                             |
+| `longitude`   | 当前设备所处经度                                             |
+| `latitude`    | 当前设备所处纬度                                             |
+| `Dotled`      | 当前设备是否存在 LED 显示屏(0:存在,1:不存在)            |
+| `Control_Op`  | 阈值/定时控制选择(0:阈值控制,1:定时控制,3:手动控制,默认手动控制) |
+| `Version`     | 设备版本号                                                   |  
+
+### 风力(风速)等级表
+
+| 等级 | 名称   | 描述                                             | 风速范围 (m/s) |
+|------|--------|--------------------------------------------------|----------------|
+| 0    | 无风   | 静,烟直上                                       | 0 ~ 0.2        |
+| 1    | 软风   | 烟能表示风向,树叶略有摇动                       | 0.3 ~ 1.5      |
+| 2    | 轻风   | 人面感觉有风,树叶微动                           | 1.6 ~ 3.3      |
+| 3    | 微风   | 树叶及小枝摇动不息,旗子展开,高的草摇动不息     | 3.4 ~ 5.4      |
+| 4    | 和风   | 能吹起地面灰尘和纸张,树枝动摇,高的草呈波浪起伏 | 5.5 ~ 7.9      |
+| 5    | 清劲风 | 有叶的小树摇摆,内陆的水面有小波,高的草波浪起伏明显 | 8.0 ~ 10.7     |
+| 6    | 强风   | 大树枝摇动,电线呼呼有声,撑伞困难,高的草不时倾伏于地 | 10.8 ~ 13.8    |
+| 7    | 疾风   | 全树摇动,大树枝弯下来,迎风步行感觉不便         | 13.9 ~ 17.1    |
+| 8    | 大风   | 可折毁小树枝,人迎风前行感觉阻力很大             | 17.2 ~ 20.7    |
+| 9    | 烈风   | 草房遭受破坏,屋瓦被掀起,大树枝可折断           | 20.8 ~ 24.4    |
+| 10   | 狂风   | 树木可被吹倒,一般建筑物遭破坏                   | 24.5 ~ 28.4    |
+| 11   | 暴风   | 大树可被吹倒,一般建筑物遭严重破坏               | 28.5 ~ 32.6    |
+| 12   | 飓风   | 陆上绝少,其摧毁力极大                           | -              |  
+
+
+#### eNum对应参数
+```json
+{
+  "100": ["未定义"],
+  "101": ["101", "空气温度", "℃"],
+  "102": ["102", "空气湿度", "%RH"],
+  "103": ["103", "气压", "hpa"],
+  "104": ["104", "降雨量", "mm"],
+  "105": ["105", "总辐射", "w/㎡"],
+  "106": ["106", "土壤温度", "℃"],
+  "107": ["107", "土壤含水率", "%"],
+  "108": ["108", "风速", "m/s"],
+  "109": ["109", "风向", "°"],
+  "110": ["110", "蒸发量", "mm"],
+  "111": ["111", "雪量", "mm"],
+  "112": ["112", "光照度", "LUX"],
+  "113": ["113", "日照时数", "h"],
+  "114": ["114", "光合", "w/㎡"],
+  "115": ["115", "降雨量累计", "mm"],
+  "116": ["116", "辐射累计", "MJ/㎡"],
+  "117": ["117", "有无雨雪"],
+  "118": ["118", "噪声", "分贝"],
+  "119": ["119", "水位", "cm"],
+  "120": ["120", "二氧化碳", "PPM"],
+  "121": ["121", "曝辐量", "cal/cm2"],
+  "122": ["122", "液位", "mm"],
+  "123": ["123", "光合有效辐射", "W/m2"],
+  "124": ["124", "电压", "V"],
+  "125": ["125", "紫外线", "w/㎡"],
+  "126": ["126", "粉尘", "ug/m3"],
+  "127": ["127", "气压", "hpa"],
+  "128": ["128", "土壤PH值"],
+  "129": ["129", "最大风速", "m/s"],
+  "130": ["130", "平均风速", "m/s"],
+  "131": ["131", "经度", "°"],
+  "132": ["132", "纬度", "°"],
+  "133": ["133", "海拔高度", "m"],
+  "134": ["134", "TBQ总辐射", "W/m2"],
+  "135": ["135", "直接辐射", "W/m2"],
+  "136": ["136", "散射辐射", "W/m2"],
+  "138": ["138", "紫外辐射", "W/m2"],
+  "139": ["139", "贴片温度", "℃"],
+  "140": ["140", "露点温度", "℃"],
+  "141": ["141", "一氧化碳", "PPM"],
+  "142": ["142", "电流", "mA"],
+  "143": ["143", "超声波风速", "m/s"],
+  "144": ["144", "水温", "℃"],
+  "145": ["145", "PM2.5", "ug/m3"],
+  "146": ["146", "PM10", "ug/m3"],
+  "147": ["147", "土壤PH"],
+  "148": ["148", "溶解氧", "mg/l"],
+  "149": ["149", "氨氮", "mg/l"],
+  "150": ["150", "电导率", "mS/cm"],
+  "151": ["151", "浊度", "NTU"],
+  "152": ["152", "能见度", " m"],
+  "153": ["153", "氨气", "ppm"],
+  "154": ["154", "盐分", "mg/L"],
+  "155": ["155", "氮", "mg/kg"],
+  "156": ["156", "磷", "mg/kg"],
+  "157": ["157", "钾", "mg/kg"],
+  "158": ["158", "热通量", "W/m2"],
+  "159": ["159", "叶面温度", "℃"],
+  "160": ["160", "叶面湿度", "%RH"],
+  "161": ["161", "茎秆", "mm"],
+  "162": ["162", "负氧离子", "个/cm3"],
+  "164": ["164", "当前水位", "mm"],
+  "165": ["165", "昨日水位", "mm"],
+  "166": ["166", "今日雨量", "mm"],
+  "167": ["167", "昨日雨量", "mm"],
+  "168": ["168", "今日溢流", "mm"],
+  "169": ["169", "昨日溢流", "mm"],
+  "170": ["170", "今日蒸发", "mm"],
+  "171": ["171", "昨日蒸发", "mm"],
+  "172": ["172", "编码数据"],
+  "173": ["173", "错误编码"],
+  "174": ["174", "补水码"],
+  "175": ["175", "溢流码"],
+  "178": ["178", "电导率", "uS/cm"],
+  "201": ["201", "土壤水势", "KPA"],
+  "202": ["202", "露点温度", "℃"],
+  "203": ["203", "PM100", "ug/m3"],
+  "208": ["208", "光照度", "Lux"],
+  "211": ["211", "电导率", "μS/cm"],
+  "212": ["212", "净辐射", "W/m2"],
+  "213": ["213", "流速", "m/s"],
+  "214": ["214", "空高", "m"],
+  "215": ["215", "瞬时流量", "m3/s"],
+  "216": ["216", "累积流量", "m3"],
+  "217": ["217", "热通量累计", "MJ/m2"],
+  "218": ["218", "果实直径", "mm"],
+  "219": ["219", "硫化氢", "ppm"],
+  "220": ["220", "氧气", "ppm"],
+  "221": ["221", "臭氧", "ppm"],
+  "222": ["222", "茎流", "ml/h"],
+  "223": ["223", "COD", "mg/L"],
+  "224": ["224", "信号强度"],
+  "225": ["225", "盐度", "PSU"],
+  "226": ["226", "ORP", "mV"],
+  "227": ["227", "光量子", "W/m2"],
+  "228": ["228", "水质pH"],
+  "229": ["229", "氨氮", "ppm"],
+  "230": ["230", "水位", "m"],
+  "231": ["231", "二氧化硫", "ppm"],
+  "232": ["232", "二氧化氮", "ppm"],
+  "233": ["233", "土壤紧实度", "kPa"],
+  "251": ["251", "湿球温度", "℃"],
+  "252": ["252", "最大阵风", "m/s"],
+  "253": ["253", "平均风速", "m/s"],
+  "255": ["255", "土壤张力", "kpa"],
+  "256": ["256", "悬浮物", "mg/L"],
+  "257": ["257", "透明度", "NTU"],
+  "258": ["258", "TDS", "mg/L"],
+  "259": ["259", "土壤含氧量", "%"],
+  "260": ["260", "渗漏", "mm"],
+  "261": ["261", "实时重量", "kg"],
+  "262": ["262", "初始重量", "kg"]
+}
+```
+
+
+
+
+# 气象站mqtt协议
+## 设备上传无返回确认
+1. 传感器数据上传
+```json
+{
+    "cmd": "terminalData",
+    "ext": {
+        "StationID": "18054384",
+        "MonitorTime": "2020-2-19 09:36:08",
+        "data": [
+            {
+                "eValue": "",
+                "eKey": "e1",
+                "eName": "Temperature",
+                "eNum": "101"
+            },
+            {
+                "eValue": "",
+                "eKey": "e2",
+                "eName": "Humidity",
+                "eNum": "102"
+            },
+            {
+                "eValue": "",
+                "eKey": "e3",
+                "eName": "SoilTemperature",
+                "eNum": "106"
+            },
+   ..............
+        ]
+    }
+}
+```  
+
+2. 电池电压信息上传
+```json
+{
+    "cmd": "Status",
+    "ext": {
+        "StationID": "18054384",
+        "MonitorTime": "2020-2-19 10:50:04",
+        "terminalStatus": {
+            "VOLT": "12.2",
+            "RSSI": "17"
+        }
+    }
+}
+```
+
+3. 运行基本状态信息上传
+```json
+{
+    "cmd": "Status",
+    "ext": {
+        "StationID": "18054384",
+        "MonitorTime": "2020-2-19 10:50:04",
+        "terminalStatus": {
+            "VOLT": "12.2",
+            "RSSI": "17",
+            "IMEI": "866262042538503",
+            "ICCID": "89860411101892475452",
+            "longitude": "113.604943",
+            "latitude": "34.847540",
+            "altitude": "105.3",
+            "version": "1.0.0_2020/07/15/10/09_alpha",
+            "dotled": "0"
+        }
+    }
+}
+```
+4. 上传时间间隔报告
+```json
+{
+    "cmd": "config",
+    "ext": {
+        "interval": 30
+    }
+}
+```
+
+
+
+### 平台下发查询控制
+1. 控制通道手动控制下发(需反馈确认)
+2. 定时控制参数下发
+3. 阈值控制参数下发
+4. 参数查询下发
+
+## "cmd" : 
+ - "read"   //下发查询
+ - "config" //下发设置上传间隔
+ - "control"//下发输出控制指令
+ - "timing" //下发定时参数配置
+ - "auto"   //下发阈值参数配置
+ - "ip"     //下发ip,端口,topic
+ - "upload" //下发上传信息使能 
+ 
+ ## "type":
+ - "status" //查询设备信息
+ - "data"   //查询数据
+ - "ip“     //查询ip,端口,topic
+ - "upload" //查询上传使能
+ - "runstatus"//查询输出运行状态
+ - "auto"   //查询阈值配置 
+ - "timing" //查询定时配置
+
+## 下发查询上传间隔  
+
+```json
+{
+    "cmd": "read",
+    "ext": {
+        "type": "interval"
+    }
+}
+```
+反馈
+```json
+{
+	"cmd":	"config",
+	"ext":	{
+		"interval":	30
+	}
+} 
+```
+## 下发查询状态
+```json
+{
+    "cmd": "read",
+    "ext": {
+        "type": "status"
+    }
+}
+```
+反馈
+```json
+{
+	"cmd":	"Status",
+	"ext":	{
+		"StationID":	"866262048809817",
+		"MonitorTime":	"2020-3-12 14:35:14",
+		"terminalStatus":	{
+			"VOLT":	"15.1",
+			"RSSI":	"15",
+			"IMEI":	"866262048809817",
+			"ICCID":	"89860411101892464026",
+			"longitude":	"113.662430",
+			"latitude":	"34.808807",
+			"altitude": "150",
+			"control_op": "0",
+			"Dotled":	"1"
+		}
+	}
+} 
+```
+
+| gps值 | 定位方式   | 转换说明         |
+|-------|------------|------------------|
+| 0     | 手动定位   | 不需要坐标转换   |
+| 1     | GPS定位    | GPS转百度        |
+| 2     | 基站定位   | 火星转百度       |  
+
+没有这个字段 则都是基站定位,火星转百度.
+## 下发查询数据
+```json
+{
+    "cmd": "read",
+    "ext": {
+        "type": "data"
+    }
+}
+```
+反馈
+```json
+{
+	"cmd":	"terminalData",
+	"ext":	{
+		"StationID":	"18054384",
+		"MonitorTime":	"2020-2-29 14:28:49",
+		"data":	[{
+				"eValue":	"17.0",
+				"eKey":	"e1",
+				"eName":	"Temperature",
+				"eNum":	"101"
+			}, {
+				"eValue":	"52.9",
+				"eKey":	"e2",
+				"eName":	"Humidity",
+				"eNum":	"102"
+			}, {
+				"eValue":	"17.9",
+				"eKey":	"e3",
+				"eName":	"SoilTemperature",
+				"eNum":	"106"
+			}, {
+            …………………………
+			}]
+	}
+} 
+```
+
+## 下发设置数据上报时间
+```json
+{
+    "cmd": "config",
+    "ext": {
+        "interval": 30
+    }
+}
+```
+重启
+```json
+{"cmd":	"reboot"} 
+``` 
+返回
+```json
+{"cmd":"rebooting"}
+```
+
+
+## 遗愿消息
+topic:/yfkj/qxz/offline/imei  
+报文结构:
+```json
+{
+ "cmd": "offline",
+    "ext": {
+    "imei": "*******************"
+    }
+}
+```
+## 开机上报在线消息
+topic:/yfkj/qxz/offline/imei  
+报文结构:
+```json
+{
+    "cmd": "online",
+    "ext": {
+    "imei": "*******************"
+    }
+}
+```
+
+
+
+# 气象站mqtt协议
+## 设备上传无返回确认
+1. 传感器数据上传
+```json
+{
+    "cmd": "terminalData",
+    "ext": {
+        "StationID": "18054384",
+        "MonitorTime": "2020-2-19 09:36:08",
+        "data": [
+            {
+                "eValue": "",
+                "eKey": "e1",
+                "eName": "Temperature",
+                "eNum": "101"
+            },
+            {
+                "eValue": "",
+                "eKey": "e2",
+                "eName": "Humidity",
+                "eNum": "102"
+            },
+            {
+                "eValue": "",
+                "eKey": "e3",
+                "eName": "SoilTemperature",
+                "eNum": "106"
+            },
+   ..............
+        ]
+    }
+}
+```  
+
+2. 电池电压信息上传
+```json
+{
+    "cmd": "Status",
+    "ext": {
+        "StationID": "18054384",
+        "MonitorTime": "2020-2-19 10:50:04",
+        "terminalStatus": {
+            "VOLT": "12.2",
+            "RSSI": "17"
+        }
+    }
+}
+```
+
+3. 运行基本状态信息上传
+```json
+{
+    "cmd": "Status",
+    "ext": {
+        "StationID": "18054384",
+        "MonitorTime": "2020-2-19 10:50:04",
+        "terminalStatus": {
+            "VOLT": "12.2",
+            "RSSI": "17",
+            "IMEI": "866262042538503",
+            "ICCID": "89860411101892475452",
+            "longitude": "113.604943",
+            "latitude": "34.847540",
+            "altitude": "105.3",
+            "version": "1.0.0_2020/07/15/10/09_alpha",
+            "dotled": "0"
+        }
+    }
+}
+```
+4. 上传时间间隔报告
+```json
+{
+    "cmd": "config",
+    "ext": {
+        "interval": 30
+    }
+}
+```
+
+
+
+### 平台下发查询控制
+1. 控制通道手动控制下发(需反馈确认)
+2. 定时控制参数下发
+3. 阈值控制参数下发
+4. 参数查询下发
+
+## "cmd" : 
+ - "read"   //下发查询
+ - "config" //下发设置上传间隔
+ - "control"//下发输出控制指令
+ - "timing" //下发定时参数配置
+ - "auto"   //下发阈值参数配置
+ - "ip"     //下发ip,端口,topic
+ - "upload" //下发上传信息使能 
+ 
+ ## "type":
+ - "status" //查询设备信息
+ - "data"   //查询数据
+ - "ip“     //查询ip,端口,topic
+ - "upload" //查询上传使能
+ - "runstatus"//查询输出运行状态
+ - "auto"   //查询阈值配置 
+ - "timing" //查询定时配置
+
+## 下发查询上传间隔  
+
+```json
+{
+    "cmd": "read",
+    "ext": {
+        "type": "interval"
+    }
+}
+```
+反馈
+```json
+{
+	"cmd":	"config",
+	"ext":	{
+		"interval":	30
+	}
+} 
+```
+## 下发查询状态
+```json
+{
+    "cmd": "read",
+    "ext": {
+        "type": "status"
+    }
+}
+```
+反馈
+```json
+{
+	"cmd":	"Status",
+	"ext":	{
+		"StationID":	"866262048809817",
+		"MonitorTime":	"2020-3-12 14:35:14",
+		"terminalStatus":	{
+			"VOLT":	"15.1",
+			"RSSI":	"15",
+			"IMEI":	"866262048809817",
+			"ICCID":	"89860411101892464026",
+			"longitude":	"113.662430",
+			"latitude":	"34.808807",
+			"altitude": "150",
+			"control_op": "0",
+			"Dotled":	"1"
+		}
+	}
+} 
+```
+
+| gps值 | 定位方式   | 转换说明         |
+|-------|------------|------------------|
+| 0     | 手动定位   | 不需要坐标转换   |
+| 1     | GPS定位    | GPS转百度        |
+| 2     | 基站定位   | 火星转百度       |  
+
+没有这个字段 则都是基站定位,火星转百度.
+## 下发查询数据
+```json
+{
+    "cmd": "read",
+    "ext": {
+        "type": "data"
+    }
+}
+```
+反馈
+```json
+{
+	"cmd":	"terminalData",
+	"ext":	{
+		"StationID":	"18054384",
+		"MonitorTime":	"2020-2-29 14:28:49",
+		"data":	[{
+				"eValue":	"17.0",
+				"eKey":	"e1",
+				"eName":	"Temperature",
+				"eNum":	"101"
+			}, {
+				"eValue":	"52.9",
+				"eKey":	"e2",
+				"eName":	"Humidity",
+				"eNum":	"102"
+			}, {
+				"eValue":	"17.9",
+				"eKey":	"e3",
+				"eName":	"SoilTemperature",
+				"eNum":	"106"
+			}, {
+            …………………………
+			}]
+	}
+} 
+```
+
+## 下发设置数据上报时间
+```json
+{
+    "cmd": "config",
+    "ext": {
+        "interval": 30
+    }
+}
+```
+重启
+```json
+{"cmd":	"reboot"} 
+``` 
+返回
+```json
+{"cmd":"rebooting"}
+```
+
+
+## 遗愿消息
+topic:/yfkj/qxz/offline/imei  
+报文结构:
+```json
+{
+ "cmd": "offline",
+    "ext": {
+    "imei": "*******************"
+    }
+}
+```
+## 开机上报在线消息
+topic:/yfkj/qxz/offline/imei  
+报文结构:
+```json
+{
+    "cmd": "online",
+    "ext": {
+    "imei": "*******************"
+    }
+}
+```