1.接入mqtt
2.设置设备影子Topic
物联网平台已为每个设备预定义了两个Topic,用于实现设备影子数据流转。
- /shadow/update/${YourProductKey}/${YourDeviceName}设备和应用程序发布消息到此Topic。物联网平台收到该Topic的消息后,将消息中的状态更新到设备影子中。
- /shadow/get/${YourProductKey}/${YourDeviceName}设备影子更新状态到该Topic,设备订阅此Topic获取最新消息。
3.设置影子数据
数据格式
设备影子需要的JSON文档示例:{"state": {"desired": {"color": "RED",}"reported": {"color": "GREEN"}},"metadata": {"desired": {"color": {"timestamp": 1469564492}},"reported": {"color": {"timestamp": 1469564492}}},"timestamp": 1469564492,"version": 1}
JSON属性描述,如下表所示。
| 属性 | 描述 |
|---|---|
| desired | 设备的预期状态。仅当设备影子文档具有预期状态时,才包含desired部分。 应用程序向desired部分写入数据,更新事物的状态,而无需直接连接到该设备。 |
| reported | 设备的报告状态。设备可以在reported部分写入数据,报告其最新状态。 应用程序可以通过读取该参数值,获取设备的状态。 JSON文档中也可以不包含reported部分,没有reported部分的文档同样为有效影子JSON文档。 |
| metadata | 当用户更新设备状态文档后,设备影子服务会自动更新metadata的值。 设备状态的元数据的信息包含以 Epoch 时间表示的每个属性的时间戳,用来获取准确的更新时间。 |
| timestamp | 影子文档的最新更新时间。 |
| version | version参数为int型。为防止参数溢出,您可以手动传入。 |
