提供統一的设备和數據管理服務:
- 设备添加、移除、订阅、取消订阅
- 数据添加、移除、订阅、取消订阅、发布(状态更新)、设置(控制下发)
- 提供統一的数据类型ID定义
- 提供统一的设备类型ID定义
- 一个设备是一个数据集合(属性集)
- 一种数据类型可以有多個数据來源(多个设备具体同一个属性,如温度,温度应该有不同的类型定义,如室外温度,本地天气温度。如果订阅天气温度,不应该返回设备温度,不同的类型的温度有独立的数据类型ID表示。
- 数据可以从设备获取,也可以从BUS根据数据类型ID获取;
- 按数据类型从BUS获取数据返回的是当前所有该数据类型的对象列表,数据和设备之间可以相互索引。用户不关心数据来源时可以用这个接口。(也可以只返回一个数据对象,增加参数指示)
- 数据类型定义不在UBUS管理范围,统一用void*表示。
- 数据订阅可以从设备和BUS按数据对象和数据类型订阅(按数据类型从BUS订阅可能出现混乱,不支持?TBD)
- 数据定时更新。设备可以主动发布数据更新,也可以配置数据的跟新间隔属性,由虚拟总线定时查询更新。随机事件建议由设备主动发布;周期性数据建议由总线定时查询,简化设备驱动。