Eclipse的物联网架构(Eclipse IoT Architectures)

375 阅读5分钟

物联网架构(IoT Architectures)

典型的物联网解决方案的特点是许多设备(即事物)可能使用某种形式的网关通过网络与企业后端服务器通信,该后端服务器运行物联网平台,帮助将物联网信息集成到现有企业中。 设备、网关和云平台的角色定义明确,每个角色都提供任何强大的物联网解决方案所需的特定特性和功能。

image.png

受限设备(Stack for Constrained Devices)

传感器和执行器(Sensors and Actuators)

image.png 物联网中的“物”是物联网解决方案的起点。它通常是数据的发起者,它与物理世界进行交互。 因此,它们通常使用功能非常有限的微控制器 (MCU) 进行编程 为物联网设备供电的微控制器专门用于特定任务,专为大规模生产和低成本而设计 在基于 MCU 的设备上运行的软件旨在支持特定任务。 在设备上运行的软件堆栈的主要功能可能包括:

  1. 物联网操作系统——许多设备将使用“裸机”运行,但有些设备将具有嵌入式或实时操作系统,特别适合小型受限设备,并且可以提供特定于物联网的功能。
  2. 硬件抽象 – 一个软件层,可以访问 MCU 的硬件功能,例如闪存、GPIO、串行接口等
  3. 通信支持——驱动程序和协议允许将设备连接到有线或无线协议,如蓝牙、Z-Wave、Thread、CAN 总线、MQTT、CoAP 等,并启用设备通信
  4. 远程管理 – 能够远程控制设备以升级其固件或监控其电池电量。

网关(Stack for Gateways)

智能设备和链接(Connected and Smart Things)

物联网网关充当一组传感器和执行器的聚合点,以协调这些设备之间的连接以及与外部网络的连接 物联网网关可以是一个物理硬件或功能,可以集成到更大的 连接到网络的“事物” 例如,工业机器可能充当网关,连接的汽车或家庭自动化设备也可能充当网关

物联网网关通常会提供“边缘”数据处理和存储功能,以应对网络延迟和可靠性对于设备到设备的连接,物联网网关处理不兼容设备之间的互操作性问题典型的物联网架构将有许多物联网 支持大量设备的网关

越来越依赖物联网网关软件来实现核心功能网关软件堆栈的主要功能包括:

  1. 操作系统 – 通常是通用操作系统,例如 Linux
  2. 应用程序容器或运行时环境——物联网网关通常能够运行应用程序代码,并允许应用程序动态更新例如,网关可能支持 Java、Python 或 node js
  3. 通信和连接——物联网网关需要支持不同的连接协议来连接不同的设备(例如蓝牙、Wi-Fi、Z-Wave、ZigBee、Thread)。物联网网关还需要连接到不同类型的网络(例如以太网、蜂窝、Wi-Fi、卫星等)并确保通信的可靠性、安全性和机密性
  4. 数据管理和消息传递——本地持久性以支持网络延迟、离线模式和边缘实时分析,以及以一致方式将设备数据转发到物联网平台的能力
  5. 远程管理——能够远程提供、配置、启动/关闭网关以及运行在网关上的应用程序

Stack for IoT Cloud Platforms

物联网云平台代表启用物联网解决方案所需的软件基础设施和服务 物联网云平台通常在云基础设施(例如 OpenShift、AWS、Microsoft Azure、Cloud Foundry)或企业数据中心内运行,并有望同时扩展 横向,支持连接的大量设备,以及纵向解决各种物联网解决方案物联网云平台将促进物联网解决方案与现有企业应用程序和其他物联网解决方案的互操作性
物联网云平台的核心功能包括:

  1. 连接和消息路由——物联网平台需要能够与使用不同协议和数据格式的大量设备和网关进行交互,然后对其进行标准化以允许轻松集成到企业的其他部分
  2. 设备管理和设备注册表——一个中央注册表,用于识别物联网解决方案中运行的设备/网关,以及提供新软件更新和管理设备的能力
  3. 数据管理和存储——支持大量和各种物联网数据的可扩展数据存储
  4. 事件管理、分析和用户界面——可扩展的事件处理能力、整合和分析数据以及创建报告、图表和仪表板的能力
  5. 应用程序支持——能够创建报告、图表、仪表板……并使用 API 进行应用程序集成

物联网解决方案的功能

在物联网解决方案的不同层级中,有许多特性需要为任何物联网架构考虑,包括

  1. 安全性——从设备到云端都需要实现安全性 身份验证、加密和授权等功能需要成为每个堆栈的一部分
  2. 本体 – 设备数据的格式和描述是实现数据分析和数据互操作性的重要功能。 跨异构域定义本体和元数据的能力是物联网的一个关键领域
  3. 开发工具和SDK——物联网开发人员将需要支持不同硬件和软件平台的开发工具

image.png