天天看点

Azure IoT解决方案

前面写了一篇AWS的IoT解决方案: AWS IOT解决方案分析。

今天来看下Azure的IoT的解决方案是怎么实现的。

 一、体系结构

下面图是微软给出的IoT解决方案的体系结构:

Azure IoT解决方案

在此体系结构中,IoT 设备收集其发送到云网关的数据。 云网关让其他后端服务可通过仪表板或其他呈现设备,从数据传递到其他企业运营应用程序或操作员的位置处理数据。

1.1设备连接

在此 IoT 解决方案体系结构中,设备将遥测数据(例如抽水站的传感器读数)发送到云中进行存储和处理。 在预测性维护方案中,解决方案后端可以使用传感器数据流来判断特定的泵何时需要维护。设备还可以通过读取来自云终结点的消息,接收和响应云到设备的消息。 例如,在预见性维护方案中,解决方案后端可将消息发送到抽水站中的其他水泵,以便在维护应开始之前先重新路由流量。此过程将确保维护工程师到场后即可开始工作。

IoT 项目面临的最大挑战之一是如何可靠且安全地将设备连接到解决方案后端。相比于其他客户端(例如浏览器和 Mobile Apps),IoT 设备有不同的特征。 IoT 设备:

•     通常是无人操作的嵌入式系统。

•     可以部署到物理访问昂贵的远程位置。

•     可能只能通过解决方案后端来访问。无法通过其他方式来与设备交互。

•     能力和处理资源可能都有限。

•     网络连接可能不稳定、缓慢或昂贵。

•     可能需要使用专属、自定义或行业特定的应用程序协议。

•     可以使用大量常见的硬件和软件平台来创建。

除了上述需求之外,所有 IoT 解决方案还必须提供可扩展性、安全性和可靠性。 使用传统技术(例如 Web 容器和消息传送代理)时,所产生的一系列连接需求不仅难以实现,而且实现起来非常耗时。使用 Azure IoT 中心和 Azure IoT 设备 SDK 可以更轻松地实现符合这些要求的解决方案。

设备可以直接与云网关终结点通信;如果设备无法使用任何云网关支持的协议,则可以通过中间网关进行连接。例如,AzureIoT 协议网关可以在设备不能使用 IoT 中心支持的任何协议时执行协议转换。

1.2数据处理和分析

在云中,IoT 解决方案后端负责大部份数据的处理,例如筛选及汇总遥测数据并将其路由到其他服务。IoT 解决方案后端:

•     接收大规模来自设备的遥测数据,并确定如何处理和存储该数据。

•     可能允许你从云向特定设备发送命令。

•     提供可让你预配设备并控制哪些设备能够连接到基础结构的设备注册功能。

•     可让你跟踪设备状态并监视其活动。

在预见性维护方案中,解决方案后端存储历史遥测数据。解决方案后端可以使用此数据来识别可指示特定水泵已达到维护时间的模式。

IoT 解决方案可以包含自动反馈循环。例如,解决方案后端中的分析模块可从遥测数据中识别出特定设备的温度超出正常工作级别。 然后,解决方案可以将命令发送到该设备,指示它采取纠正措施。

1.3呈现和业务连接

呈现和业务连接层可让最终用户与 IoT 解决方案及设备交互。 它可让用户查看和分析从其设备收集的数据。 这些视图可以采用仪表板或 BI 报表的格式,以显示历史数据和/或接近实时的数据。 例如,操作员可检查特定抽水站的状态,并查看系统引发的任何警报。此层还可集成 IoT 解决方案与现有业务线应用程序,以链接企业业务流程或工作流。 例如,预测性维护解决方案可集成计划系统,以在解决方案识别出需要维护的泵时预约工程师到抽水站检查。

二、具体服务

前面是一个抽象的体系结构,再来看下微软提供了那些具体服务,在Azure的物联网分类里面一共有下面6个服务:

Azure IoT解决方案

流分析,机器学习,通知中心,Time Series Insights都比较容易理解。IoT中心和事件中心两个服务比较容易混淆。分别来看下。

2.1 IoT中心

首先看IoT 中心,核心是设备

Azure IoT解决方案

Azure IoT 中心是一项完全托管的服务,可在数百万个 IoT 设备和一个解决方案后端之间实现安全可靠的双向通信。 Azure IoT 中心:

·     提供了多个设备到云和云到设备的通信选项,包括单向消息传递、文件传输和请求-答复方法。

·     将内置的声明性消息路由到其他 Azure 服务。

·     为设备元数据和同步的状态信息提供可查询存储。

·     使用每个设备的安全密钥或 X.509 证书来实现安全的通信和访问控制。

·     可广泛监视设备连接性和设备标识管理事件。

·     包含最流行语言和平台的设备库。

2.2 事件中心

事件中心在解决方案体系结构中扮演的常见角色是充当事件管道的“前门”,通常称为“事件引入器”。 事件引入器是位于事件发布者与事件使用者之间的组件或服务,可以将事件流的生成与这些事件的使用分离开来。 下图显示了此体系结构:

Azure IoT解决方案

Azure 事件中心是一种事件处理服务,用于提供云规模的事件与遥测引入,具有较低的延迟和较高的可靠性。 事件中心提供消息流处理功能,其特征不同于传统的企业消息传送。事件中心功能围绕高吞吐量和事件处理方案而构建。 因此,事件中心未实现适用于消息传送实体(例如主题)的某些消息传送功能。

事件中心在命名空间级别创建,使用 AMQP 和 HTTP 作为其主要的API 接口。

继续阅读