zhangwd 11 ماه پیش
والد
کامیت
384dfbc404
6فایلهای تغییر یافته به همراه776 افزوده شده و 138 حذف شده
  1. 16 0
      zh-cn/bzy/_sidebar.md
  2. 188 1
      zh-cn/bzy/bzy.md
  3. 24 7
      zh-cn/qxz/_sidebar.md
  4. 367 121
      zh-cn/qxz/qxz.md
  5. 21 7
      zh-cn/xycb/_sidebar.md
  6. 160 2
      zh-cn/xycb/xycb.md

+ 16 - 0
zh-cn/bzy/_sidebar.md

@@ -13,3 +13,19 @@
       * [图片传输](/zh-cn/bzy/bzy?id=图片传输)
 
       * [参数说明](/zh-cn/bzy/bzy?id=参数说明)
+
+* [孢子仪mqtt协议](/zh-cn/bzy/bzy?id=孢子仪mqtt协议)
+
+  * [简述](/zh-cn/bzy/bzy?id=简述)
+
+    * [适用范围](/zh-cn/bzy/bzy?id=适用范围)
+
+      * [对接说明](/zh-cn/bzy/bzy?id=对接说明)
+
+      * [相关主题](/zh-cn/bzy/bzy?id=相关主题)
+
+      * [查询状态报文结构](/zh-cn/bzy/bzy?id=查询状态报文结构)
+
+      * [MQTT下发查询](/zh-cn/bzy/bzy?id=MQTT下发查询)
+
+      * [参数说明](/zh-cn/bzy/bzy?id=参数说明)

+ 188 - 1
zh-cn/bzy/bzy.md

@@ -140,4 +140,191 @@
 |接口地址       |http://xxxxxxxxxx/xxxxx                                               |
 |接口方式       |Post                                                                  |
 | imei           | 设备序列号                                                          |
-| Image          | (图片链接,建议下载保存到本地)                                      |
+| Image          | (图片链接,建议下载保存到本地)                                      |    
+
+
+# 孢子仪mqtt协议
+
+## 简述
+本文档主要用于阐述物联网孢子捕捉仪与服务器端进行交互的通讯细节,其中包括物联网孢子捕捉仪与服务器之间使用的通信协议和交互通讯协议两部分。
+
+## 适用范围
+适用于【通用物联网孢子捕捉仪】与服务器之间的通讯。
+
+## 对接说明
+1. 数据是20分钟一次,图片是一天3张,早上9点还有一张定时拍照的图片。
+2. 图片数据中的为图片链接,图片需要下载保存到本地。保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,直接下载保存到本地后的链接存到数据库中。
+3. 设备数据包含(设备号、SIM卡号、环境温湿度、工作状态、经纬度、电压等)。
+4. 图片数据包含:原图链接、设备号。
+5. 设备数据格式不可变,不能按接收方增加或者减少字段,如有需求请联系销售经理。
+6. 关于接口安全问题,可以针对传输方IP做限制,不是传输方的IP不让其调用接口(传输方IP可以联系对接人员提供)。
+7. 图片和设备数据为相互独立的两种数据。
+
+## 相关主题
+- 所有上行通信的主题:`/yfkj/bzy/c2s/imei`
+- 所有下行通信的主题:`/yfkj/bzy/s2c/imei`
+- 离线消息主题:`/yfkj/bzy/offline/<imei>`
+
+## 查询状态报文结构
+
+### MQTT下发查询
+```json
+{
+  "cmd": "read",
+  "ext": "data"
+}
+```
+定时数据上报和查询的回复报文结构  
+```json
+{
+  "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   | 孢子培养时间(单位:h)                    |
+| batStatus  | 电压状态 0:正常,1:欠压                  |
+| cold_sw    | 制冷机开关 0:关闭,1:开启                |
+| staytime   | 已培养时间-小时                            |
+| dat_f      | 数据上传时间                               |
+| proj       | 内部版本号                                 |
+| stamp      | 时间戳                                     |
+| drop_time  | 载玻片滴液时间                             |
+| gps        | 定位状态 0:失败,1:GPS,2:基站定位      |
+| ah         | 环境湿度                                   |
+| ws         | 工作状态 0:待机,1:工作                  |
+| at         | 环境温度                                   |
+| wind_sw    | 风机开关 0:关闭,1:开启                  |
+| lat        | 纬度                                       |
+| pre_temp   | 保温仓当前温度                             |
+| imgres     | 图片分辨率 0:最高                         |
+| usb_sta    | 摄像头状态 0:正常,1:异常                |
+| lng        | 经度                                       |
+| csq        | 信号强度                                   |
+| rps        | 雨控 0:正常,1:保护                      |
+| coll_time  | 收集时间                                   |
+| vbat       | 电压                                       |
+| imei       | 设备号                                     |
+| set_temp   | 保温仓设定温度                             |  
+
+下发设置  
+```json
+{
+  "ext": {
+    "wind_sw": 1,
+    "coll_time": [
+      "8-10",
+      "14-16",
+      "16-16"
+    ],
+    "imgres": null,
+    "cul_time": 1,
+    "set_temp": 25,
+    "datt": 20,
+    "drop_time": 1
+  },
+  "cmd": "paramconf"
+}
+```
+字段说明  
+
+| 字段名     | 描述                                       |
+| ---------- | ------------------------------------------ |
+| wind_sw    | 风机开关 0-开 1-关                         |
+| coll_time  | 采集和关闭时间(共3个时间段)              |
+| imgres     | 分辨率(不显示)                           |
+| cultime    | 孢子培养时间(h)                          |
+| set_temp   | 保温仓设定温度(°C)                       |
+| datt       | 数据上传间隔                               |
+| drop_time  | 滴液时间                                   |    
+
+下发重启控制
+```json
+{
+  "cmd": "reboot"
+}
+```
+下发升级_stm32
+```json
+{
+  "cmd": "update"
+}
+```
+拍照
+```json
+{
+  "Image": "https://bzypic.oss-cn-hangzhou.aliyuncs.com/202011/865650043169743/20201101170845.jpg",
+  "imei": "868956048961118"
+}
+```
+遗愿消息  
+离线消息主题:
+/yfkj/bzy/offline/<imei>
+
+报文结构:
+```json
+{
+  "cmd": "offline",
+  "ext": {
+    "imei": "868575028xxxxxx"
+  }
+}
+```
+图片传输  
+对接采用HTTP协议,由接收方写接口来接收HTTP POST数据(需从request的body(字节流类型)中取数据,取到之后进行json解析)。
+图片数据中的为图片链接,图片需要下载保存到本地。保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,直接下载保存到本地后的链接存到数据库中。  
+
+### 参数说明
+| 字段名       | 描述                                                                 |
+| ------------ | -------------------------------------------------------------------- |
+|接口地址       |http://xxxxxxxxxx/xxxxx                                               |
+|接口方式       |Post                                                                  |
+| imei           | 设备序列号                                                          |
+| Image          | (图片链接,建议下载保存到本地)                                      | 

+ 24 - 7
zh-cn/qxz/_sidebar.md

@@ -1,13 +1,30 @@
-* [吸虫塔http协议](/zh-cn/xct/xct?id=吸虫塔http协议)
+* [气象站http协议](/zh-cn/qxz/qxz?id=气象站http协议)
 
-  * [简述](/zh-cn/xct/xct?id=简述)
+  * [简述](/zh-cn/qxz/qxz?id=简述)
 
-    * [通信描述](/zh-cn/xct/xct?id=通信描述)
+    * [对接说明](/zh-cn/qxz/qxz?id=对接说明)
 
-      * [对接说明](/zh-cn/xct/xct?id=对接说明)
+      * [状态报告报文结构](/zh-cn/qxz/qxz?id=状态报告报文结构)
 
-      * [设备数据、图片数据说明](/zh-cn/xct/xct?id=设备数据、图片数据说明)
+      * [数据上传](/zh-cn/qxz/qxz?id=数据上传)
 
-      * [设备对接说明](/zh-cn/xct/xct?id=设备对接说明)
+      * [eNum对应参数](/zh-cn/qxz/qxz?id=eNum对应参数)
 
-      * [设备数据报文结构](/zh-cn/xct/xct?id=设备数据报文结构)
+
+* [气象站mqtt协议](/zh-cn/qxz/qxz?id=气象站mqtt协议)
+
+  * [设备上传无返回确认](/zh-cn/qxz/qxz?id=设备上传无返回确认)
+
+    * [平台下发查询控制](/zh-cn/qxz/qxz?id=平台下发查询控制)
+
+      * [下发查询上传间隔](/zh-cn/qxz/qxz?id=下发查询上传间隔)
+
+      * [下发查询状态](/zh-cn/qxz/qxz?id=下发查询状态)
+
+      * [下发查询数据](/zh-cn/qxz/qxz?id=下发查询数据)
+
+      * [下发设置数据上报时间](/zh-cn/qxz/qxz?id=下发设置数据上报时间)
+
+      * [遗愿消息](/zh-cn/qxz/qxz?id=遗愿消息)
+
+      * [开机上报在线消息](/zh-cn/qxz/qxz?id=开机上报在线消息)

+ 367 - 121
zh-cn/qxz/qxz.md

@@ -1,4 +1,4 @@
-# 气象站与服务器端交互通讯细节
+# 气象站http协议
 
 ## 简述
 
@@ -6,13 +6,14 @@
 
 ## 对接说明
 
-### 接收方启动 HTTP 接口
+接收方启动 HTTP 接口
 
 接收方启动一个 HTTP 接口,接收 POST 请求,从 request 的 body 取值设备上传的状态报告。
 
 ### 状态报告报文结构
 
-#### 数据上传(30分钟一次)
+#### 数据上传  
+(30分钟一次)
 
 ```json
 {
@@ -92,7 +93,8 @@
 | latitude     | 当前设备所处纬度                                                     |
 | Dotled       | 当前设备是否存在 LED 显示屏(0: 存在,1: 不存在)                   |
 | Control_Op   | 阈值/定时控制选择, 0: 阈值控制,1: 定时控制, 3: 手动控制,默认手动控制 |
-| Version      | 设备版本号                                                           |
+| Version      | 设备版本号                                                           |  
+
 在线信息
 ```json
 {
@@ -111,120 +113,364 @@
   }
 }
 ```
-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'],
-'233':['233','土壤紧实度','kPa'],
-'251':['251','湿球温度','℃'],
-'252':['252','最大阵风','m/s'],
-'253':['253','平均风速','m/s'],
-'255':['255','土壤张力','kpa'],
-'231':['231','二氧化硫','ppm'],
-'232':['232','二氧化氮','ppm'],
-'256':['256','悬浮物','mg/L'],
-'257':['257','透明度','NTU'],
-'258':['258','TDS','mg/L'],
-'259':['259','土壤含氧量','%'],
-'260':['260','渗漏','mm'],
-'261':['261','实时重量','kg'],
-'262':['262','初始重量','kg'],
-}
-```
+#### 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": "*******************"
+    }
+}
+```

+ 21 - 7
zh-cn/xycb/_sidebar.md

@@ -1,13 +1,27 @@
-* [吸虫塔http协议](/zh-cn/xct/xct?id=吸虫塔http协议)
+* [性诱测报http协议](/zh-cn/xycb/xycb?id=性诱测报http协议)
 
-  * [简述](/zh-cn/xct/xct?id=简述)
+  * [简述](/zh-cn/xycb/xycb?id=简述)
 
-    * [通信描述](/zh-cn/xct/xct?id=通信描述)
+    * [适用范围](/zh-cn/xycb/xycb?id=适用范围)
 
-      * [对接说明](/zh-cn/xct/xct?id=对接说明)
+      * [对接说明](/zh-cn/xycb/xycb?id=对接说明)
 
-      * [设备数据、图片数据说明](/zh-cn/xct/xct?id=设备数据、图片数据说明)
+      * [设备数据说明](/zh-cn/xycb/xycb?id=设备数据说明)
 
-      * [设备对接说明](/zh-cn/xct/xct?id=设备对接说明)
+      * [设备对接说明](/zh-cn/xycb/xycb?id=设备对接说明)
 
-      * [设备数据报文结构](/zh-cn/xct/xct?id=设备数据报文结构)
+      * [设备数据报文结构](/zh-cn/xycb/xycb?id=设备数据报文结构)
+
+* [性诱测报mqtt协议](/zh-cn/xycb/xycb?id=性诱测报mqtt协议)
+
+  * [简述](/zh-cn/xycb/xycb?id=简述)
+
+    * [适用范围](/zh-cn/xycb/xycb?id=适用范围)
+
+      * [对接说明](/zh-cn/xycb/xycb?id=对接说明)
+
+      * [设备数据说明](/zh-cn/xycb/xycb?id=设备数据说明)
+
+      * [设备对接说明](/zh-cn/xycb/xycb?id=设备对接说明)
+
+      * [设备数据报文结构](/zh-cn/xycb/xycb?id=设备数据报文结构)

+ 160 - 2
zh-cn/xycb/xycb.md

@@ -1,4 +1,4 @@
-# 物联网性诱设备与服务器端交互通讯细节
+# 性诱测报http协议
 
 ## 简述
 
@@ -102,7 +102,7 @@
 | rcnt         | 设备重启次数                                                         |
 | lng          | 经度                                                                 |
 | lat          | 纬度                                                                 |
-| stamp        | 时间戳,格式:YYYYMMDDHHmmss(例如 20180301211805)                 |
+| stamp        | 时间戳,格式:YYYYMMDDHHmmss(例如 20180301211805)                 |  
 遗愿消息  
 
 设备默认设置了 MQTT 遗愿消息。当设备异常下线时(客户端断开前未向服务器发送 DISCONNECT 消息),MQTT 消息服务器会发布异常下线设备的遗愿消息。订阅设备遗愿消息,可实现对设备在线和离线状态的监控。
@@ -116,4 +116,162 @@
   },
   "topic": "/yfkj/xycb/c2s/867435052203452"
 }
+```  
+
+
+# 物联网性诱设备通讯约定
+
+## 简述
+本文档主要用于阐述物联网性诱设备与服务器端进行交互的通讯细节,其中包括物联网性诱设备与服务器之间使用的通信协议和交互通讯协议两部分。
+
+## 适用范围
+适用于【通用物联网性诱设备】与服务器之间的通讯。
+
+## 设备主题
+关于主题 `s2c` 和 `c2s` 的说明,注意不要混淆:除离线消息主题:`/yfkj/xycb/offline/xxxx` 以外,上行通信主题中是 `pub`、下行通信主题中是 `sub`,即:
+- 所有上行通信的主题:`/yfkj/xycb/c2s/xxxx`
+- 所有下行通信的主题:`/yfkj/xycb/s2c/xxxx`
+其中 `xxxx` 指设备唯一 `imei`。
+
+### MQTT协议版本
+物联网性诱设备使用主流公开的 MQTT 协议 V3.1.1 版本作为通讯协议,默认 QOS 质量等级为 0。服务器端需要实现 MQTT 协议的转发和解析,数据的上报为 json 格式。MQTT V3.1.1 协议详见附件。
+
+## 交互协议
+
+### 报文分类
+| 类别   | 命令字 | 描述            |
+|--------|--------|-----------------|
+| 数据   | data   | 数据报告        |
+| 开关   | power  | 下发开关控制    |
+| 查询   | read   | 下发查询        |
+
+**根据 MQTT 的特性,下发服务不必回复,可以通过设置下位机的 QOS 为 2 或 1 来保证命令必达,也可以通过服务器主动下发查询状态和下发查询配置指令,来判断是否执行成功。**
+
+### 报文结构
+```json
+{
+  "cmd": "<协议命令字>",
+  "ext": "<message>"
+}
+```
+cmd: 协议命令字,对应报文分类定义的英文标识。
+ext: 各个命令字对应的信息内容。
+以上数据内容为 json 格式。
+上行通信
+报文结构
+```json
+{
+  "cmd": "data",
+  "ext": {
+    "imei": "867038032102768",
+    "iccid": "89860401101700076471",
+    "csq": "29",
+    "dver": "V1.0.1",
+    "proj": "SEX_TRAP_1",
+    "dtype": "4",
+    "btype": "0",
+    "ds": "1",
+    "ws": "1",
+    "cs": "0",
+    "rps": "0",
+    "tps": "0",
+    "dps": "0",
+    "bs": "0",
+    "ts": "0",
+    "st": "20",
+    "et": "2",
+    "cv": "18.0",
+    "bv": "12.8",
+    "at": "0",
+    "ah": "0",
+    "infr_ct": "25",
+    "volt_ct": "100",
+    "dat_f": "5",
+    "clt_t": "10",
+    "wind_drec": "5",
+    "wind_sped": "5.6",
+    "rcnt": "10",
+    "gps": "1",
+    "lng": "113.67336",
+    "lat": "34.815187",
+    "stamp": "20180301211805"
+  }
+}
+```
+字段说明
+字段	描述
+imei	通讯板唯一 ID
+iccid	SIM 卡卡号
+csq	信号强度 0~30
+dver	4G 物联网模块代码版本号
+proj	设备名称
+dtype	设备类型 (性诱 I 设备类型为 4)
+btype	电池类型 0:蓄电池 1:锂电池
+ds	设备开关 0:关机 1:开机
+ws	工作状态 0:待机 1:工作
+cs	充电标志位 0:非充电 1:充电
+rps	雨控状态 0:正常 1:保护
+tps	温控状态 0:正常 1:保护
+dps	倾倒状态 0:正常 1:保护
+bs	电池状态 0:正常 1:欠压 2:过压
+ts	时控开关 0:关闭时控 1:开启时控
+st	时控开始时间 单位:小时 0~24
+et	时控结束时间 单位:小时 0~24
+cv	充电电压 单位:V 字符串类型
+bv	电池电压 单位:V 字符串类型
+at	环境温度 (字符串)
+ah	环境湿度 (字符串)
+infr_ct	红外计数值 整型
+volt_ct	高压计数值 整型
+dat_f	数据上传时间间隔 单位:分钟
+clt_t	清虫间隔 单位:分钟
+wind_drec	风向 整型 范围 0~359
+wind_sped	风速 字符串 单位: m/s
+rcnt	设备重启次数
+gps	定位方式 0 手动定位 1 GPS 定位 2 基站定位
+lng	经度
+lat	纬度
+stamp	时间戳 20180301211805
+下行通信
+下发查询请求
+查询数据报文结构:
+```json
+{
+  "cmd": "read",
+  "ext": "data"
+}
+```
+控制指令下发
+下发定时控制报文结构
+```json
+{
+  "cmd": "paramconf",
+  "ext": {
+    "work_tim": {
+      "timctrl": 1,
+      "st": 20,
+      "et": 2
+    },
+    "data_tim": {
+      "dat_f": 10
+    },
+    "clt_tim": {
+      "clt_t": 30
+    },
+    "location": {
+      "lat": "0",
+      "lng": "0",
+      "type": 1
+    },
+    "power": {
+      "ds": 1
+    }
+  }
+}
+```
+下发清虫动作
+```json
+{
+  "cmd": "clearworm"
+}
 ```