探测器数据外发结构概述
Nessaj
4月7日
devices other
devices other
在其它设备中阅读本文章
share
share
分享到 Facebook
分享到 Telegram
分享到 Twitter
分享到微博
[TOC] ###探测器数据外发结构概述 探测器会在有网络连接的前提下定时向预设的网络接口以 HTTP 协议的格式发送 POST 请求,用以向网站传递设备信息以及实时气体浓度数据。 目前设备外发数据的接口有以下五种: - token 请求接口: `http://[hostname:port]/[apipath]/getToken` 用以发送用户名密码验证信息并获取返回的验证 token 。该 token 将被用于以下另四种 api 接口的身份验证。 - 设备信息上传接口: `http://[hostname:port]/[apipath]/deviceInfo` 用于上传探测器设备的设备名称、序列号、经纬度位置信息以及所属用户。 - 摄像机信息上传接口: `http://[hostname:port]/[apipath]/cameraSource` 用于上传摄像机大的 camera id、摄像机画面的远程获取 url 和所属设备。 - 传感器信息上传接口: `http://[hostname:port]/[apipath]/sensorInfoUpdate` 用于传递设备上气体浓度传感器的名称、代号、类别、上下限阈值和所属设备。 - 实时气体浓度数据上传接口: `http://[hostname:port]/[apipath]/realtimeDataUpload` 用于上传设备中所有气体传感器的实时浓度数据。该接口的一般会同时上传所有气体浓度数据,因此发送的数据结构是数组形式。 ###各接口 POST 请求的具体负载格式 ####token 请求接口 ```js headers = { "Content-Type": "application/json" } body = { 'name': 'admin', //用户名 'password': 'password' //密码 } ``` token 请求接口的返回值 json 需要遵循以下格式,不然设备无法正确获取 token: ```js { "message": "Authenticated.", "success": true, "token": token //此处token为真实token值 } ``` 如果验证失败,则 "success" 返回 false, "message" 返回 "Unauthenticated"。 ####设备信息上传接口 ```js headers = { "Content-Type": "application/json", "token": token // 这里的 token 需要从getToken接口的返回值中获取 } body ={ "deviceid": "HY001", //设备唯一id "serialnumber": "B221236CDE341", //设备序列号 // 经纬度位置信息 "coordinate": { "latitude": 31, //纬度 "longitude": 120, //经度 "altitude": 0 //海拔 }, "user": "admin" //所属用户名 } ``` ####摄像机信息上传接口 ```js headers = { "Content-Type": "application/json", "token": token // 这里的 token 需要从getToken接口的返回值中获取 } body = { "cameraid": "HY001CAM", //摄像机唯一id // 摄像机画面获取 url "url": "http://222.92.212.253:61120/tjai/HY001/index.m3u8", // 所属设备名称 "device": "HY001", } ``` ####传感器信息上传接口 ```js headers = { "Content-Type": "application/json", "token": token // 这里的 token 需要从getToken接口的返回值中获取 } body = { "name": "H2SSensor", //传感器名称,不唯一 "code": "HY001H2S", //传感器唯一代号 "type": "3", //传感器类型 //高报警值,显示的数值应该是上传值除以100。如上传2000,显示的应该是 20,单位同实时数据中的单位。 "upperthreshold": 2000, "bottomthreshold": 500, //低报警值,同样需要除以100 "device": "HY001" //所属设备名称 } ``` ####实时气体浓度数据上传接口 ```js headers = { "Content-Type": "application/json", "token": token // 这里的 token 需要从getToken接口的返回值中获取 } body = { "updatetime": new Date(), //实时数据的时间戳,自 Epoch 以来的毫秒数 "device": "HY001", //所属设备名称 //实时数据,数组形式 "sensordata": [ { "sensorinfo": "HY001O2", //传感器唯一代号,下同 //实时气体浓度数据,真实值需要除以100,如此处应该是20.5%Vol,下同 "concentration": 2050, "unit": "%Vol", //气体浓度单位 }, { "sensorinfo": "HY001LEL", "concentration": 7190, "unit": "%LEL", }, { "sensorinfo": "HY001H2S", "concentration": 360, "unit": "ppm", }, { "sensorinfo": "HY001CO", "concentration": 840, "unit": "ppm", } ] } ```
昵称*
邮箱*
网站*
加入讨论吧...
check
add comment
arrow_back
新篇
旧篇
arrow_forward
expand_less