体验云端设置恒温空调【零代码零硬件玩转华为云IoT】
场景说明
近期听说华为云 IoT 物联网平台(IoTDA 设备接入云服务)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,可快速构筑物联网解决方案。
华为云 IoT 物联网平台支持创建设备的“影子”。设备影子比较适合资源受限低功耗设备,长期处于休眠状态的场景。
- 查询设备最新上报数据和设备最新在线状态:
- 当在控制台上查询设备上报数据时,由于设备可能长时间处于离线状态或因网络不稳定掉线,而无法获取到最新数据。通过设备影子机制,设备影子中始终保持设备最新上报的数据和设备当前状态,控制台上只需要查询设备影子中存储的数据,即可获取设备最新上报的数据和设备状态。
- 很多应用服务器频繁的查询设备在线状态,由于设备处理能力有限,频繁查询会损耗设备性能。使用设备影子机制,设备只需要主动同步状态给设备影子一次,多个应用程序请求设备影子获取设备状态,即可获取设备最新状态,从而将应用程序和设备解耦。
- 由于设备可能长时间处于离线状态,修改设备属性值的操作不能及时下发给设备。在这种情况下,物联网平台可以将修改设备的属性信息存储在设备影子中,待设备上线后,将修改的设备属性值同步给设备,从而完成设备属性值的修改。
比如在一些恒温控制系统中,不论空调是否开机,都可以调整空调默认温度,待空调上电开机后,自动按默认温度调节。空调接入到物联网平台后,用户可以在应用侧或者设备接入控制台设置设备影子,将预置的温度通过设备影子下达属性修改给空调。空调收到修改属性的要求后,自动调节温度。
本期我将继续演示通过华为云 IoT,模拟体验云端设置恒温空调。
前提
需要使用已有设备,如果暂时没有设备需要先行创建产品 + 注册设备。
可参考我之前发布在华为云社区的文章《设备模拟器快速接入【零代码零硬件玩转华为云IoT】-云社区-华为云》。
本节我将继续使用上一节的设备 deviceA1 进行实验。该设备目前只有一个 “温度” 的属性,数值类型为小数。
配置设备影子
恒温空调案例其实是设备侧获取平台的设备影子数据的一个应用。
一般而言设备向平台获取设备影子数据。用户可以通过应用服务器或物联网控制台配置设备影子预期数据,设备上线时订阅该topic,可以获取到平台设备影子数据,以此来同步设备属性期望值,从而完成设备属性值的修改。
登录控制台,选择左侧导航栏的“设备”,接着进入到恒温空调设备的详情页面。选择“设备影子”页签,单击“属性配置”。
在弹出窗口中输入服务属性对应的期望值。此处设置“温度”的属性值为 55.2。
验证操作
您可以使用配置设备接入服务时注册的真实设备接入平台,设备会收到平台下发的设备影子,修改空调的预设温度值。但是我没有真实设备,所以使用 MQTTx 模拟设备。
已知设备订阅设备影子的下行 topic 为 $oc/devices/{device_id}/sys/shadow/get/response/#
,其中 {device_id} 需要填写正确的设备 ID。举例:$oc/devices/660e9e592a631a0c8fb10c6c_deviceA1/sys/shadow/get/response/#
一旦订阅成功,我们为了模拟设备上线,往设备影子的上行 Topic $oc/devices/{device_id}/sys/shadow/get/request_id={request_id}
发送请求。其中 {request_id} 用于唯一标识这次请求。设备侧发起的消息带该参数时,需要保证设备侧该参数值的唯一性,可以用递增的数字或者 UUID 来实现。举例:$oc/devices/660e9e592a631a0c8fb10c6c_deviceA1/sys/shadow/get/request_id=1
这里我填写为空,所以查询所有服务 ID 的设备影子数据。
上行请求示例
{}
在 mqttx 的订阅页面即可查看平台返回的数据,包括了 desired 和 reported 值。
为方便大家查看,我特意贴出返回 json 结果。
{
"shadow": [
{
"desired": {
"properties": {
"温度": 55.2
},
"event_time": "20240404T142949Z"
},
"reported": {
"properties": {
"温度": 32.3
},
"event_time": "20240404T132320Z"
},
"version": 7,
"service_id": "serviceA"
}
],
"object_device_id": "660e9e592a631a0c8fb10c6c_deviceA1"
}
至此,本次实验完美结束。
我正在参加【有奖征文 第29期】零代码零硬件玩转华为云 IoT 物联网平台多场景
链接:https://bbs.huaweicloud.com/blogs/423245
- 点赞
- 收藏
- 关注作者
评论(0)