bzy-sq.md 12 KB

孢子仪http协议

简要描述

本文档主要用于阐述孢子捕捉仪与服务器端进行交互的通讯细节。

接口说明

需要接收方写接口接收数据 POST请求。图片保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,导致图片展示不了的问题,需要下载保存到本地。

数据上报

报文结构

{
  "payload": {
    "ext": {
      "stamp": "20200331143709",
      "work_sta": 1,
      "iccid": "89860401101700076471",
      "cold_sw": 0,
      "csq": 20,
      "bat_sta": 0,
      "alti": 0,
      "proj": "BZY-V21",
      "ah": 60,
      "lat": "35.004301741512045",
      "coll_time": [
        "10-11",
        "13-14",
        "19-20"
      ],
      "lng": "113.7031044747238",
      "on_off": 1,
      "dtype": 7,
      "at": 21,
      "staytime": 0,
      "set_temp": 25,
      "rps": 0,
      "dver": "2.5.9",
      "box_tem": "24",
      "imei": "865650043207246",
      "v_bat": "23.937",
      "pre_temp": 24,
      "imgres": 0,
      "datt": 20,
      "usb_sta": 0,
      "drop_time": 1,
      "cul_time": 1,
      "wind_sw": 0
    },
    "cmd": "status"
  },
  "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 机箱温度(单位:℃)

遗愿消息

设备默认设置配置了MQTT遗愿消息。当设备异常下线时(客户端断开前未向服务器发送DISCONNECT消息),MQTT消息服务器会发布异常下线设备的遗愿消息。订阅设备遗愿消息,可实现对设备在线和离线状态的监控。

离线消息主题 /yfkj/bzy/offline/

报文结构

{
  "cmd": "offline",
  "ext": {
    "imei": "865650043207246"
  }
}

图片传输

对接方式

  1. 对接采用 HTTP 协议,由接收方写接口来接收 HTTP POST 数据(需从 request 的 body (字节流类型)中取数据,取到之后进行 JSON 解析)。
  2. 图片数据中的 Image 字段为图片链接,图片需要下载保存到本地。保存的时候不要直接保存图片链接到数据库,有可能图片链接会失效,应直接下载保存到本地后的链接存到数据库中。

数据格式

{
  "Image": "https://bzypic.oss-cn-hangzhou.aliyuncs.com/202103/867814044582217/20210323151242.jpg",
  "imei": "865650043172788"
}

参数说明

参数 说明
接口地址 http://xxxxxxxxxx/xxxxx
接口方式 POST
imei 设备序列号
Image 图片链接

孢子仪 C# 语言接收数据案例

孢子仪java语言接收数据案例

孢子仪java语言接收数据案例

孢子仪nodejs语言接收数据案例

孢子仪nodejs语言接收数据案例

孢子仪python语言接收数据案例

孢子仪python语言接收数据案例

孢子仪mqtt协议

相关主题

  • 客户端到服务器(c2s)路径: /yfkj/bzy/c2s/imei
  • 服务器到客户端(s2c)路径: /yfkj/bzy/s2c/imei
  • 离线消息主题: /yfkj/bzy/offline/<imei>

数据上报

查询状态报文结构

{
  "cmd": "read",
  "type": "status"
}

定时数据上报和查询回复报文结构

{
	"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 机箱温度(单位:℃)

下发设置示例

{"cmd":"poweroff"}, {"cmd":"poweron"}, {"cmd":"reboot"}, {"cmd":"update"}, {"cmd":"coldoff"}, {"cmd":"coldon"}

拍照

{"cmd":"ctrl","ext":{"type": "takephoto"}}
属性字段 含义或表示的内容
poweroff 关机
poweron 开机
reboot 重启
update 升级
coldoff 制冷机关闭
coldon 制冷机开启

下发设备配置

{
  "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/

报文结构

{
  "cmd": "offline",
  "ext": {
    "imei": "865650043207246"
  }
}

图片传输

接口描述
对接采用HTTP协议,由接收方写接口来接收HTTP POST数据。

数据格式

{
  "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. 设备数据都包含哪些数据

: 设备数据都包含哪些数据?

: 设备数据包括但不限于以下内容:

  • 工作状态
  • 电池状态
  • 电压
  • 保温仓温度等