图片14
如众人所知,传统成熟领域(如传感器网络 ,控制系统架构 ,机器对机器网络 和 嵌入式系统开发)有许多广泛使用并久经考验的物联网设计,但却又并不广为人所熟知,导致许多人不得不重新发明轮子以解决物联网场景问题。另一方面随着云计算的发展,即便对于经验丰富的从业者来说,也需要修改由来已久的设计,以便适应云发的理念。
基于成熟领域广泛使用的设计方案,扩展了面向超大规模设备接入,高并发,低时延的云平台构建“物联网”解决方案。但并不意味着这些物联网的设计方案必须连接到云端才能运行,而是试图融合本地边缘计算的优势。
每一个案例将描述这些设计的实现细节,包括使用哪种通信协议,哪个供应商和哪种编程语言。比如,消息通信中MQTT和AMQP的细节,熟悉这些协议的研发人员可以理解方案设计背后的理念,让尽可能多的人受益。
然而,特定于供应商的示例可以帮助那些刚刚开始的从业人员加速理解。因此,设计模式将会包括针对设计的示例参考实现,这将会比伪代码更为具体而有针对性。
名词解释
设备(Device)
设备是一个资源的实体,处于IoT解决方案的物理末端。大多数情况下设备连接传感器或执行器,具有唯一的deviceID,用来标识设备身份。
传感器(Sensor)
传感器用于测量周围环境的某些指标数据。
执行器(Actuator)
执行器用来进行移动或控制。
发布/订阅(Pub/Sub)
用于描述设备之间、设备与IoT平台之间和IoT平台与IoT解决方案之间详细的消息流。
消息代理(Message Broker)
IoT解决方案中负责管理授权发布者和主题订阅者之间消息路由的平台。
消息(Message)
IoT解决方案中的通信单元,经常包含消息主题和消息内容。
消息主题(Message Topic)
消息主题对应到发布/订阅概念中的主题(subject),用来描述消息内容的类型。
命令消息(Command Message)
一个消息描述了设备应该采取的动作,并且一旦动作完成,设备就知道应该在另一个主题上进行响应确认。
数据消息(Command Message)
一个消息描述了设备应该采取的动作,并且一旦动作完成,设备就知道应该在另一个主题上进行确认。
规则(Rule)
由规则引擎执行的数据处理逻辑和数据转发动作的单一集合。
规则引擎(Rule Engine)
规则的执行器,当有满足规则数据输入就会按规则约定进行处理。
数据存储(Data Store)
在IoT解决方案中用来存储数据的实体或微服务。