许多低功耗无线接口和协议,如低功耗蓝牙、ZigBee、Thread 等,在智能家庭和智能工业传感器网状应用中很常见。但是,开发人员发现,这些射频协议设计于物联网 (IoT) 出现之前,因此通常缺乏与互联网协议 (IP) IPv4 和 IPv6 的互操作性,从而使得将相关设计与 IoT 连接以实现智能传感、自动化和控制的目标充满挑战。
IP 互操作性问题有多种途径可以解决,如转换数据包或使用 IP 兼容的无线接口。第一种选择效率较低,第二种方式又缩小了设计师的 Wi-Fi 选择范围。
本文将专门介绍第三种方式: IoT 网关。它们可用作网络聚合器,并且通常具有先进的安全性和多种 I/O 回程选择。本文将描述其功能和特征,再介绍适当的解决方案以及如何最大程度发挥其作用。
IoT 的无线选择
尽管缺乏直接的 IP 互操作性,许多流行的低功耗无线接口和协议具有良好的范围和吞吐量、与其他 2.4 GHz 技术的共存性以及网状网络支持特性。
双向无线连接能让用户远程监视并控制系统,同时能通过基于云的强大算法对过程数据进行分析,以实现优化性能、节能或提高生产率等目标。
如前所述,有三种方式可以克服低功耗无线协议缺乏 IP 互操作性的问题。首先是选择具有网络适配层的协议,该层可“转换”数据包,使其能通过 IPv6 网络输送。有的制造商提供低功耗蓝牙、ZigBee、Thread 和包括基于 IPv6 的低功耗无线个人局域网 (6LoWPAN) 传输层的其他射频协议“栈”。通常,这些协议栈可以正常工作,但实施起来更加复杂,并且各节点需要更多的处理器资源和功耗。
第二个选项是使用具有本地 IP 支持的无线协议。Wi-Fi 可能是最佳示例。严格来讲,Wi-Fi 仅定义了协议栈的物理 (PHY) 层、介质访问控制 (MAC) 层和逻辑链路控制 (LLC) 层。但是,互联网 Wi-Fi 连接无处不在,供应商通常提供基于 Wi-Fi 较低层的完整 TCP/IP 协议栈。代价则是 Wi-Fi 节点更大、更昂贵,并且比形成竞争的其他无线技术功率更高,因此不适合于所有应用。
第三个方法是利用 IoT 网关。这些设备属于自足式装置,包括弥合 LAN 和 IoT 之间差距所需的所有软件和硬件(图 1)。对于射频专业知识有限的开发人员,或者希望在传统的低功耗无线网络中增加互联网连接性的人员,网关也是不错的选择。
图 1: 设计师能从无线传感器网络与 IoT 连接的三种方案中选择。此处显示的第一个选择描述了如何将无线节点连接到 IoT 网关,从而将其作为中继连接至互联网。(图片来源: Texas Instruments)
网关和路由器之间的差异
网关与路由器有必要加以区分。路由器是一种更简单的设备,它为节点服务,共享共同的协议,并且需要单独将通过该协议传输的数据传递至互联网,以及从互联网接回。Wi-Fi 路由器是一个不错的例子;这些设备在启用 IP 的移动设备(如智能手机和便携式计算机)和互联网之间路由数据,但没有交互。
与之相对,IoT 网关整合了来自不同无线来源和接口的数据,并将其连接到互联网。某些情况下,网关与路由器配合使用,以方便实施。网关的主要优势在于不需要各自独立的网络节点,从而凭借其相关复杂度和成本特性支持 IP。
网关可以简单,也可以复杂。简单的装置组织和“转换”节点收到的数据包,使其适合于在互联网上传输。并且,简单的网关可转换从互联网收到的数据包,并将其分布到网络中的各节点。
更复杂的网关不仅有此功能,还具有高级安全特性和处理全部或部分(与节点共享负载)应用过程的资源。该系统的优点是节点更简单、更便宜,并且功耗更低。在有许多节点的系统中,将处理功耗集中在网关比将其分布到所有节点的成本更低。更复杂的网关还能确保 LAN 在互联网访问中断时继续工作,并且能缓冲节点数据,以便在重新建立互联网访问时进行云传输。
网关解决方案
许多制造商提供商业 IoT 网关解决方案。设备通常为市电供电装置,可配置成使用各种无线接口,包括选择低功耗射频协议。通常,连接 IoT 是通过 Wi-Fi 等基于 IP 的无线广域网 (WAN) 接口(或者以太网等有线类型)。有些更加新的设计包括通过蜂窝网络或专有 WAN 技术(如 LoRaWAN)进行互联网访问。
WAN 技术通常采用诸如 Linux 等操作系统 (OS) 控制的重量级协议栈。为了应对此类固件的计算需求,商业 IoT 网关配备有强大的嵌入式微控制器。
更先进的网关支持多个网络平台,例如 HSDK、NAT64、PC-BLE-Serialization 和 LoRaWAN Gateway Bridge,以及多种云服务,如 Amazon、Microsoft、Ayla 和 IBM 的云服务。这些先进装置还具有诸如应用程序安装远程管理、固件更新和配置更改、终端设备固件更新以及网状网络拓扑和设备的远程管理等特性。
Rigado 的 Vesta 系列 IoT 网关是最新一代可配置网关的很好例子。该产品由运行 Yocto Linux OS 的 NXP i.MX6 UltraLite Arm® Cortex®-A7 应用程序处理器提供支持。该装置支持 2.4 和 5 GHz Wi-Fi (IEEE 802.11a/b/g/n)、蓝牙 4.2、低功耗蓝牙和 IEEE 802.15.4(包括 Thread)。网关还支持采用 IEEE 802.3af 以太网供电 (PoE) 和 USB 2.0 的以太网。网关需要 4.5 至 5.5 V 电源或通过 PoE 连接运行。根据 Rigado 的介绍,即将提供蜂窝和 LoRaWAN 扩展选项。Sierra Wireless 的 FX30 IoT 网关还具有 Arm® Cortex®-A7 应用程序处理器,并采用开源 Yocto Linux OS(图 2)。互联网连接通过蜂窝基础设施 (LTE Cat 1) 实现,并且该装置能接收 IoT 接头扩展槽的 Wi-Fi、蓝牙和 ZigBee 输入。标准装置设计为采用有线接口,如仅限以太网和 USB,需要 4.75 至 32 V 电源。该装置的低功耗引人注目,待机模式耗电不到 1 W,休眠模式仅 2 毫瓦 (mW),并且坚固耐用。装置符合 MIL-STD-810 的振动和机械冲击要求,工作温度范围从 -30° 至 +75°C,是工业应用的良好选择。
图 2: Sierra Wireless 的 FX30 IoT 网关采用蜂窝技术连接到互联网。(图片来源: Sierra Wireless)
商业 IoT 网关的第三个例子来自 Laird Technologies。其 Sentrius RG1xx 系列因采用 LoRaWAN(一种互联网连接的长距离低功耗 WAN 技术)而出名。该装置采用 Atmel A5 嵌入式微处理器,运行 Linux OS。除了 LoRaWAN,装置还提供 2.4 和 5 GHz Wi-Fi、蓝牙 4.0 和低功耗蓝牙接口以及以太网接口。由于采用长距离连接,Sentrius 十分适合智能电表、工业自动化和农业应用。调试网关
诸如 Rigado、Sierra Wireless 和 Laird Technologies 等 IoT 网关能让设计师将其低功耗无线网络连接到互联网和云服务,无需设计复杂的连接硬件和固件。但是,需要进行一些开发工作,以确保无缝操作。幸运的是,IoT 网关制造商通常提供便于此开发过程的产品、工具和服务。
例如,Laird 的 Sentrius 专门设计为针对无线传感器应用连接该公司的 RM186/191 系列 LoRaWAN/低功耗蓝牙无线模块。这些装置结合了便利性和低功耗蓝牙的智能手机互操作性,LoRaWAN 扩展范围高达 15 km。Laird 提供开发套件 DVK-RM186-SM-01,可简化将模块连接到 Sentrius 网关的过程。利用该公司的 Node-RED 开发环境和相关指南,该过程变得较为直接明了。
Sierra Wireless 建议使用 Legato 开源 Linux 平台将其 FX30 IoT 网关连接到云。Legato 带有应用“沙盒”,为运行和控制多个应用程序提供安全的环境。该平台还提供应用程序编程接口 (API),使开发人员可以连接到云。
对于需要设计高级网络的开发人员,Legato 提供带有多语言支持的基于 Eclipse 的集成开发环境 (IDE),以及一套诊断工具,以启动本地和远程调试、故障排除、监控和分析。
发送数据至云
Rigado 已通过其 VG3-23E4-WIB0C0-ASA-DEK IoT 开发套件进一步简化了无线网络和云连接,包括 Vesta Gateway 和 Nordic Thingy:52 低功耗蓝牙开发套件(图 3)。该开发套件允许工程师设计连接蓝牙 5/低功耗蓝牙传感器与云的原型解决方案。使用 IoT 开发套件的优点在于无需射频经验,因为 Thingy:52 传感器已配置为与 Vesta Gateway 通信。由于 Rigado 的 Node-RED 开发环境包括演示应用程序,可将 Thingy:52 传感器的数据通过 Vesta Gateway 转发至 Amazon Web Services (AWS) 云服务,原型设计得到进一步简化。
图 3: Rigado 的 VG3-23E4-WIB0C0-ASA-DEK IoT 开发套件包括 Vesta Gateway 和 Nordic Semiconductor 的 Nordic Thingy:52 IoT 开发套件。Rigado 的 Node-RED 开发环境可简化网关配置。(图片来源: Rigado)
通过 Vesta Gateway 将 Nordic Thingy:52 各传感器数据发送至 AWS 的方式直接明了。Vesta 首先配置为 Wi-Fi 接入点并通过浏览器连接至开发人员的 Wi-Fi 网络。单击提供的 URL 可启动 Node-RED 应用程序,该程序随后自动扫描 Nordic Thingy:52,尝试连接并扫描通用唯一标识符 (UUID)。建立连接后,从 Nordic Thingy:52 读取传感器数据,并发送至 AWS 和 Node-RED 应用程序仪表板。开发人员可通过仪表板进行更改,以筛选要传输的信息、以及发送频率。
Node-RED 开发环境还为经验丰富的开发人员提供简便方式,以创建基于浏览器的工作流来连接硬件设备、应用程序编程接口 (API) 和云服务。
通过 IoT 网关将传感器网络连接至云可成倍提高系统的利用率。云服务提供商通常提供基础设施,以处理传感器原始数据、控制和分析数据并从中提供有用信息或反馈。
例如,在使用 AWS 云系统时,Vesta Gateway 连接 AWS 的 API 网关(图 4)。通过 API 网关,开发人员可以创建、配置并托管 API,以便 Vesta Gateway 应用程序接入云。例如,应用程序可以使用 API 上传来自 Nordic Thingy:52 内置传感器的温度和湿度数据。然后,原始数据可以存储在 Amazon S3“存储桶”或 Amazon DynamoDB 数据库服务中。
图 4: Vesta Gateway 利用 Amazon 的 AWS 云服务收集数据,并运行所有相关代码。(图片来源: Rigado。)
AWS 的另一部分 AWS Lambda 可提供计算服务,允许开发人员运行基于云的代码,无需准备或管理服务器。AWS Lambda 支持 Node.js、Java、C# 和 Python。
例如,开发人员可以使用 AWS Lambda 上运行的代码利用 Nordic Thingy:52 发送的原始数据通告温度和湿度极端值和每日、每周及每月均值。
配置 AWS Lambda 在响应触发事件时运行代码相对直接,如对存储桶或数据库中数据进行特定更改。例如,开发人员可选择运行一组代码,以在温度或湿度超过设定阈值时向智能手机发送通知。
原型设计完成后,可使用 Rigado 基于半导体的 Nordic 模块系列(用于蓝牙 5/蓝牙低功耗无线传感器网络应用)替代 Nordic Thingy:52
总结
云连接对于最大程度利用智能无线技术的益处至关重要,然而由于主流低功耗无线协议和 IP 之间缺少互操作性,仍然存在严峻的技术挑战。应用 IoT 网关是一种方便快捷的解决方案,这种嵌入式设备能以最小的设计开销将无线传感器网络连接到云端。
评论
查看更多