迅鸣物联网文档

迅鸣物联网文档


WiFi 温湿度计通讯文档

WiFi 温湿度计通讯文档

Python 接收数据Demo [点击下载](https://osscdn.xunmingiot.com/Android/Twd_tcp.zip "点击下载")

webConfig 教程 [点击查看](https://v.youku.com/v_show/id_XNTA0NTc2ODY5Mg==.html "点击查看")

一、激活

上行

{
    "nonce": 822514837,
    "path": "/v1/device/activate/",
    "method": "POST",
    "meta": {
        "Authorization": "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "body": {
        "product": 1,
        "rssi": -60,
        "bssid": "b4:e6:2d:70:ea:49",
        "rom_version": "b1.0.5t10001(a)",
        "devicekey": "devicekey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "count": 0,
        "batt": 215,
        "mod_id": 101
    }
}
名称 类型 描述
nonce int 9位随机数
path string 意图
method string POST
meta object 身份信息
body object 数据
Authorization string 设备Token:token+空格+
product int 产品ID
rssi int wifi信号强度
bssid string wifi模块mac地址
rom_version string 固件版本
devicekey string 设备SN:devicekey+空格+(16位数字)
count int 周期
batt int 电量
mod_id int 101 温湿度计

返回描述

  • path 为 /v1/device/activate/" 表示设备未激活,未激活的设备在联网的情况下将周期性的向服务器发送此数据devicekey和Authorization是服务器维护的设备身份信息,每一个deviceKey对应一个token,根据devicekey和token匹配确定设备

下行

{
  "activate_status": 1,
  "status": 200,
  "nonce": 999999999,
  "count":0
}
  • 服务端相应,设备激活

二、 数据上报

上行

  • path "/v1/datastreams/supply-voltage/datapoints/"
{
    "nonce": 1622249602,
    "path": "/v1/datastreams/supply-voltage/datapoints/",
    "method": "POST",
    "meta": {
        "Authorization": "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "body": {
        "product": 1,
        "count": 0,
        "rssi": -57,
        "batt": 220,
        "datapoints": [{
            "mod_id": 101,
            "comm": 2,
            "stat": 0,
            "a": 250,
            "b": 550
        }]
    }
}
名称 类型 描述
datapoints object 业务数据
mod_id int 101 温湿度计
comm int 操作码
stat int 数据状态
a int 温度
b int 湿度
  • 不通的操作码对应不同的下行数据

comm:

  • 0 设备数据采集异常
  • 1 设备同步配置,相应配置信息
  • 2/64 数据上报
  • 3/5 预留

下行

当comm为1时响应

{
    "a"": "",
    "b"": "",
    "c"": "",
    "d"": "",
    "e"": "",
    "f"": "",
    "g"": "",
    "h"": "",
    "i"": "",
    "j"": "",
    "k"": "",
    "l"": "",
    "m"": "",
    "mod_id": 101,
    "status": 200,
    "nonce": 999999999,
    "count":0
}

返回描述

名称 类型 描述
a int 温度上限
b int 温度下限
c int 温度偏移量
d int 温度回差
e int 湿度上限
f int 湿度下限
g int 适度偏移量
h int 湿度回差
i int 发送周期(次)
j int 刷新时间(秒)
k int 同步周期
l int 显示屏ID
m int 单位 1 摄氏度
mod_id int 101 温湿度计
status int 200 成功
count int 0
  • count 0 表示会话保持不断开,设备下次交互会上行
{
    "nonce": 816854068,
    "path": "/v1/device/set_status/",
    "method": "POST",
    "meta": {
        "Authorization": "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "body": {
        "product": 1,
        "status": 200,
        "count": 0,
        "mod_id": 101
    }
}
  • path "/v1/device/set_status/"

返回描述

  • 上行设备进行同步配置处理的结果 status 200 为成功 其他为失败

当comm为2/64

64为采集数据异常,可跳过

2 正常数据上报,后台可对系统数据和业务数据按照自己的业务设计处理方式

不同数据状态

stat:

stat为10进制数据,需要转换为长度为8的2进制数据,位数不够,左侧补0

正常状态为00000000,当出现1的时候表示触发异常告警:

从左到右依次为:

  0: None,
  1: None,
  2: 温度过高,
  3: 温度过低,
  4: 湿度过高,
  5: 湿度过低,
  6: 传感器错误,
  7: 电量过低  
例如:00000001 表示设备电量过低, 00100001 表示设备温度过高且电量过低

三、 任务

名称 ID 描述
同步配置 101 通知设备同步远程配置信息到本地
OTA 99 通知设备下载固件执行OTA升级
wifi配置 95 下行wifi信息,通知设备更改本地wifi信息
wifi查询 94 通知设备上行当前wifi信息
重启wifi 93 通知设备重启wifi模块
IAP 92 通知设备下载最新IAP,并执行IAP升级
版本查询 91 通知设备上行当前固件及IAP版本信息
101 任务如上 comm 1 所述

99 任务下行:

{
    "a": "b1.0.5t10001(a)" ,
    "b": "xxx:xxx:xxx:xxx",
    "mod_id": 99,
    "status": 200,
    "nonce": 999999999,
    "count":0
}

样例描述

名称 类型 描述
a string 版本号
b string OTA服务的IP地址
mod_id int 99
count int 0
nonce int 9位随机数

99 任务上行样例


{
    "nonce": 1607392651,
    "path": "/v1/device/ota_status/",
    "method": "POST",
    "meta": {
        "Authorization": "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "body": {
        "product": 1,
        "status": 200,
        "count": 0,
        "mod_id": 95,
        "pre_version": "b1.1.0t10001(a)",
        "new_version": "b1.1.1.t001.(a)"
    }
}
  • path "/v1/device/ota_status/"
名称 类型 描述
mod_id int 95
count int 0
nonce int 9位随机数
status int 200 下载成功
pre_version string 旧版本
new_version string 新版本

93 任务下行

{
    "mod_id": 93,
    "status": 200,
    "nonce": 999999999,
    "count":0
}

样例描述

名称 类型 描述
mod_id int 93
count int 0
status int 200
nonce int 9位随机数
  • 95 任务下行
{
"a": "wifiName" ,
"b": "WifiPassword",
"mod_id": 95,
"status": 200,
"nonce": 999999999,
"count":0
}

样例描述

名称 类型 描述
a string wifi名
b string wifi密码
mod_id int 95
count int 0
status int 200
nonce int 9位随机数

94 任务下行

{
"mod_id": 94,
"status": 200,
"nonce": 999999999,
"count":0
}

样例描述

名称 类型 描述
mod_id int 94
count int 0
status int 200
nonce int 9位随机数
  • 94 任务上行数据样式
{
    "nonce": 613088607,
    "path": "/v1/datastreams/supply-voltage/put_wifi/",
    "method": "POST",
    "meta": {
        "Authorization": "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "body": {
        "product": 1,
        "status": 200,
        "count": 0,
        "apname": "DSS",
        "appwd": "123456789",
        "apbssid": "06:d9:b3:91:44:1e"
    }
}
  • path "/v1/datastreams/supply-voltage/put_wifi/"
名称 类型 描述
apname string wifi名
appwd string wifi密码
apbssid string mac地址

92 任务下行

{
"a": "b1.0.5t10001(a)" ,
"b": "xxx:xxx:xxx:xxx",
"mod_id": 99,
"status": 200,
"nonce": 999999999,
"count":0
}

样例描述

名称 类型 描述
a string 版本号
b string IAP服务器IP地址
mod_id int 92
count int 0
nonce int 9位随机数
  • 92 任务 上行样例

{
    "nonce": 1607392651,
    "path": "/v1/device/ota_status/",
    "method": "POST",
    "meta": {
        "Authorization": "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "body": {
        "product": 1,
        "status": 200,
        "count": 0,
        "mod_id": 92,
        "pre_version": "101.1.7",
        "new_version": "101.1.8"
    }
}
  • path "/v1/device/ota_status/"
名称 类型 描述
mod_id int 92
count int 0
nonce int 9位随机数
status int 200 下载成功
pre_version string 旧版本
new_version string 新版本

91 任务下行

{
"mod_id": 91,
"status": 200,
"nonce": 999999999,
"count":0
}

样例描述

名称 类型 描述
mod_id int 91
count int 0
nonce int 9位随机数
  • 91 任务上行样例
{
    "nonce": 131727553,
    "path": "/v1/device/sendver/",
    "method": "POST",
    "meta": {
        "Authorization": "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "body": {
        "product": 1,
        "status": 200,
        "count": 0,
        "mod_id": 91,
        "rom_version": "a1.0.3t10001(a)",
        "iar_version": "101.1.7"
    }
}
  • path: "/v1/device/sendver/"
名称 类型 描述
mod_id int 91
rom_version string 当前OTA版本
iar_version string 当前IAP版本
count int 0

页面列表

ITEM_HTML