Guardian 模块

重要

这是 Azure Sphere(旧版)文档。 Azure Sphere(旧版)将于 2027 年 9 月 27 日停用,用户此时必须迁移到 Azure Sphere(集成)。 使用位于 TOC 上方的版本选择器查看 Azure Sphere(集成)文档。

Guardian 模块是一个附加硬件,它整合了 Azure Sphere 芯片,并物理地连接到“棕色地带”设备的端口上,即可能已经在使用的现有设备

通过使用 guardian 模块,你可以将安全的 IoT 功能添加到不支持 Internet 连接或不安全支持 Internet 连接的设备上。 简而言之,guardian 模块提供了在现有设备中实现安全连接的方法,而无需将这些设备公开给 Internet。 由于是 Azure Sphere 设备,因此所有 Azure Sphere 安全和连接功能都可用:所有数据都是加密的,操作系统和应用程序更新都安全进行交付,身份验证确保该模块仅与受信任的主机通信。

Guardian 模块的工作原理如下:

  • 保护者模块连接到棕色地带设备,如本主题的 “连接 ”部分所述。 “棕色地带”设备本身未连接到网络。

  • Azure Sphere 操作系统与自定义高级应用程序和方案所需的任何其他 Azure Sphere 应用程序一起在 guardian 模块上运行。

  • Guardian 模块使用 Azure Sphere 安全服务进行基于证书的身份验证、故障报告和无线软件更新。

  • “棕色地带”设备与 guardian 模块通信,guardian 模块可以通过执行本地操作或向 Azure IoT Central 等云平台报告来作出响应。

你可以从供应商处购买 guardian 模块,并根据使用方案对其进行进一步自定义,或者可以设计自己的 guardian 模块,可能需要与硬件合作伙伴合作。 有关硬件供应商的信息,请参阅 Azure Sphere 网站

用于 guardian 模块

守护者模块可以执行任何其他 Azure Sphere 设备可以执行的操作,同时充当现有设备和外部网络之间的安全接口。 守护者模块的可能用途包括:

  • 从棕色设备收集数据、处理数据并将数据安全地传输到云终结点
  • 将数据发送到多个终结点,前提是它可以对每个终结点进行身份验证
  • 收集从棕色地带设备不可用的其他数据;例如,保护者模块上的传感器可以提供环境数据,用于来自棕色设备的操作数据
  • 如果连接丢失,请从棕色设备保存数据

Azure Sphere 示例存储库包含两个示例,演示如何将 Azure Sphere 设备用作守护者模块:

  • 设备到云 显示 Azure Sphere 设备如何用于数据收集,同时为通过串行接口连接到它的棕色地带设备提供安全的 Internet 访问。
  • 专用网络服务 展示了 Azure Sphere 设备如何为通过 TCP/IP 接口连接到它的棕色地带设备提供安全的 Internet 访问。

连接

守护者模块与网络之间以及守护者模块与棕色地带设备之间有几种受支持的连接机制。 有关 Azure Sphere 连接解决方案的一般信息,请参阅 连接概述网络要求

保护者模块的高级应用程序与网络(包括 Azure Sphere 安全服务和其他云服务)和下游与棕色设备通信:

  • 对于保护者模块与网络之间的上游连接,可以使用 以太网Wi-Fi手机网络

  • 对于守护器模块与棕色地带设备之间的下游连接,可以使用以下内容:

    • 棕色设备公开的任何串行接口(如 UART、RS-485 或 SPI)
    • 专用以太网,它不向公用网络公开棕色地带设备
    • 无线,如蓝牙或 ZigBee

应用程序开发和部署

为保护者模块开发和部署应用程序与为任何其他 Azure Sphere 设备开发和部署应用程序没有什么不同。 有关详细信息,请参阅 Azure Sphere 应用程序和部署基础知识概述。 与任何 Azure Sphere 设备一样,守护者模块必须至少有一个高级 Azure Sphere 应用程序,并且也可能具有支持实时的应用程序。

你需要访问服务 UART,这是 MT3620 与在主计算机上运行的开发环境之间的主要 编程和调试接口 。 如果设计自己的守护者模块,则需要确保公开服务 UART 信号,并支持在守护者模块本身或单独的硬件上与服务 UART 进行交互的方法。 如果你从供应商购买模块,供应商应提供启用此连接的解决方案。

如果供应商或另一个第三方将创建应用程序,则可能需要提供对 Azure Sphere 租户的访问权限,以便应用程序开发人员可以加载和测试该应用程序并创建部署。

高级应用程序

必须为每个组织的棕色设备自定义编写保护者模块 高级应用程序 。 如果保护者模块供应商提供应用程序,请确保收到高级应用程序源代码和库,以便根据需要修改或更新应用程序。

与任何 Azure Sphere 设备应用程序一样,特定于设备的详细信息和特定于应用程序的详细信息必须列在 应用程序清单中。 例如, 保护者模块的连接 是必须包含在清单中的特定于设备的详细信息。

在保护者模块上运行的高级应用程序负责以下事项:

  • 建立和维护与棕色地带设备的连接
  • 建立和维护与 Internet 的连接,包括 Azure Sphere 安全服务和其他云服务
  • 处理从棕色地带设备接收的数据 - 根据需要解压缩和存储数据,并根据需要与 Internet 主机通信
  • 处理从 Internet 主机接收的数据- 根据需要解压缩和存储数据,并根据需要与棕色地带设备通信

向上游发送的数据可能包括错误报告、操作参数或整体遥测。 Azure Sphere 确保所有此类数据都是加密的。 应用程序可以 连接到 Web 服务 ,并将相互身份验证用于此类连接。

向下游发送的数据可能包括更新的软件或对“棕色地带”设备的设置或参数的更改。 为了避免潜在的安全漏洞,应用程序应在将传入数据传递到棕色地带设备之前对其进行验证。

应用程序注意事项

创建应用程序时,应考虑外围设备可用、存储要求和能耗。

外围设备

与其他 Azure Sphere 设备一样,guardian 模块在公开的外设上也有所不同。 选择一个 guardian 模块,该模块可提供你的方案所需的连接和感知功能。

根据 guardian 模块的硬件架构,即模块公开 Azure Sphere 芯片功能的方式,可以确定访问各个功能的软件必须实现为高级应用程序还是支持实时应用程序。

存储要求

Azure Sphere 的存储有限,因此请仔细考虑应用程序和数据所需的内存量。 有关详细信息,请参阅 可用内存

将数据从云下游发送到棕色地带设备时,请确保守护者模块有足够的空间来保存数据。 可能需要以区块的形式发送数据,如 Azure Sphere GitHub 示例存储库中的HTTPS_Curl_Multi示例所示

将数据从棕色地带设备上游发送到保护者模块时,请确保应用程序可以处理上游连接故障。 如果布朗菲尔德设备提供正在进行的遥测数据,则必须考虑在恢复连接时保留哪些数据以及稍后发送到云的数据量。 请参阅存储和转发库示例,该示例演示如何使用本地存储在上传数据之前临时缓存数据。

功率消耗

在很多情况下,守护者模块处于非活动状态的应用程序。 例如,假设一个 Azure Sphere 设备每小时从传感器网络收集数据,并将该数据上传到云中,此操作可能需要一两分钟。 在这种情况下,设备消耗的大部分电量都会被浪费。

你可以显著减少能耗,从而通过在设备处于非活动状态或设置电源配置文件来增加电池使用时间。 有关详细信息,请参阅 “管理关机状态 ”和 “设置电源配置文件 ”。