监听产品所有设备属性变化
产品
用来描述设备的属性、方法、事件。比如一个风机
产品可能具有转速、电流、电压等属性,一个具体的设备如风机007
是风机
产品的一个实例。产品类似一个模板,在面向对象的编程语言中,产品就等同于类
;而设备是基于这个模板生成的实例。
当某产品下有非常多设备实例时,按照设备来进行开发就显得不大现实了。这时我们可以基于产品来开发。我们可以把产品看作某种能力,比如摄像头产品具备获取视频数据的能力,我们面向产品开发,本质就是面向能力开发,而不是具体的设备。
前置条件
此能力需要先登录
添加事件节点
右键单击画布任意位置,选择事件
,选择设备属性变化事件
。
添加产品
在产品列表里面拖入某产品至画布中:
数组
注意所有设备
输出点位的圆圈是虚线。在鸿图里,我们用虚线来表示数组
监听所有设备
我们将产品的所有设备
点位和设备属性变化事件
的输入点位连接,就实现了监听该产品下所有设备的功能。
读取发生变化设备的信息
至此,我们同时监听了很多设备,当任意设备属性发生变化时,我们的代码都将被执行,那如何获取当前上报事件的设备信息呢?在设备属性变化事件
的右下角有一个输出点位,对应当前上报事件的设备,我们可以获取其信息。
我们首先添加一个获取设备信息
的节点:
然后,我们将事件发生时的设备作为输入给到获取设备信息
的节点,这样我们就可以获取设备信息了。比如我们可以打印发生事件设备的标识符: