这一节我们来讨论另外一种设备上行数据,即设备状态。
设备状态数据
上一节,我们完成了对设备上行数据的处理,假设说我们有一台装有温度传感器的设备,那么它可以使用这个功能将每个时刻统计到的温度数据上报到 IotHub,IotHub 会记录每一条温度数据并通知业务系统,业务系统可以自行存储温度数据也可以使用 IotHub 提供的接口来查询不同时刻的温度数据。
除了温度读数,设备可能还会需要上报一些其他数据,比如当前使用的软件/硬件版本、传感器状态(有没有坏掉)、电池电量等,这些属于设备的状态数据,通常我们不会关心这些数据的记录,只关心当前的状态,那么用我们在前面实现的上报数据功能来管理设备的状态就稍微有点不合适了。
设备状态上报
IotHub 需要对设备的状态进行单独处理,我们这样来设计 IotHub 的设备状态管理功能。
- 设备用 JSON 的格式将当前的状态发布到主题:
update_status/:productName/:deviceName/:messageId
。 - IotHub 将设备的状态用 JSON 的格式存储在 Devices Collection 中。
- IotHub 将设备的状态通知到业务系统,业务系统再做后续的处理,比如通知相关运维人员等。
- IotHub 提供接口供业务