百度天工IoT 快速上手

·  阅读 57

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情

百度天工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}"
}
复制代码

具体的使用手册下载地址 download.csdn.net/download/ka…

这里写图片描述

分类:
人工智能
标签:
收藏成功!
已添加到「」, 点击更改