百度天工IoT 快速上手

来源:互联网 发布:大数据时代来临 编辑:程序博客网 时间:2024/05/01 04:31

百度天工IoT 快速上手

前言

早先用了机智云和OneNET,现在再来用百度天工IoT,各有千秋,都很好用,很适合物联网开发者。

概念

  • 物模型 多个属性和数据点组成,表示一类设备。
  • 物影子 百度天工的核心,设备数据上报暂存在物影子,通过操控物影子来控制设备。

协议

设备端与云端之间,主要通过MQTT。
应用端与云端之间,主要通过HTTP。

应用

更新设备状态(设备/App->物影子)

pub \$baidu/iot/shadow/myDeviceName/update{    "requestId": "{requestId}",    "reported": {        "led0": true,        "result": 0,        "log":"NG"    },    "desired": {        "log": "NG"    },    "profileVersion": 5} 

这里写图片描述
- requestId 唯一标识符,随机生成
- reported 更新物影子的“当前值”的相关属性。用于设备同步更新数据到云端。
- desired 更新物影子的“期望值”的相关属性 。用于App控制设备(具体见后文)

更新设备状态-成功(设备/App<-物影子)

sub \$baidu/iot/shadow/myDeviceName/update/accepted{    "requestId": "{requestId}",    "reported": {    "firewareVersion": "1.0.0",    "light": "green"    },    "desired": {        "light": "red"    },    "lastUpdatedTime": {        "reported": {            "firewareVersion": 1494904250,            "light": 1494904250        },        "desired": {            "light": 1494904250        }    },    "profileVersion": 10}

更新设备状态-失败(设备/App<-物影子)

sub \$baidu/iot/shadow/myDeviceName/update/rejected{    "requestId": "{requestId}",    "code": "{errorCode}",    "message": "{errorMessage}"}

获取物影子(App->设备影子)

pub \$baidu/iot/shadow/myDeviceName/get{    "requestId": "{requestId}"}

获取物影子-成功(App<-物影子)

sub \$baidu/iot/shadow/myDeviceName/get/accepted{    "requestId": "{requestId}",    "reported": {        "firewareVersion": "1.0.0",        "light": "green"    },    "desired": {        "light": "red"    },    "lastUpdatedTime": {        "reported": {            "firewareVersion": 1494904250,            "light": 1494904250        },        "desired": {            "light": 1494904250        }    },    "profileVersion": 10}

获取物影子-失败(App<-物影子)

sub \$baidu/iot/shadow/myDeviceName/get/rejected{    "requestId": "{requestId}",    "code": "{errorCode}",    "message": "{errorMessage}"}

App控制设备

云端接收到desired 相关属性的更新后,会diff物影子中reported和desired相关字段,将diff后的结果发送给delta主题。设备通过订阅delta主题信息,来更新自身状态数据,从而达到控制设备的目的。

云端通过delta主题控制设备(云端->设备)

sub \$baidu/iot/shadow/myDeviceName/delta{    "requestId": "{requestId}",    "desired": {        "light": "red"    }}

设备控制失败(云端/App <- 设备)

pub \$baidu/iot/shadow/myDeviceName/delta/rejected{    "requestId": "{requestId}",    "code": "{errorCode}",    "message": "{errorMessage}"}

具体的使用手册下载地址
http://download.csdn.net/download/kangweijian/10039341

原创粉丝点击