设备主要由3部分组成:
- 属性,对设备的描述,如: 型号,当前电量。
- 功能,对设备的操作,如: 打开开关,获取设备状态。
- 事件,设备主动上报数据,如:定时上报温度,传感器触发警报。
负责管理设备到基础信息,配置,状态以及集群下到消息收发.
DeviceRegistry registry = ....;
//发送调用设备功能消息到设备并等待返回
DeviceSysInfo output= registry.getDevice(deviceId)
.messageSender()
.invokeFunction("getSysInfo")
.tryValidateAndSend(10,TimeUnit.SECONDS)//最大等待10秒
//超时异常处理
.recover(TimeoutException.class, err -> FunctionInvokeMessageReply.create().error(ErrorCode.TIME_OUT))
.map(this::convertSysInfo)
.get();
平台支持多消息协议支持,使用不同消息协议(ALink,MIot....)的设备只需要做最小改动(修改服务器地址和证书)即可接入. 对平台其他服务无侵入.