物联网(IoT)已经成为了我们日常生活中不可或缺的一部分,无法想象如果不能在快到家的时候从手机上打开热水器的生活会是什么样子。如果想要实现上面提到的这个功能或者其他更重要的功能,就需要一个由许多组件构成并且无缝协作的生态系统。IoT架构(图1)可以根据功能分为多个层:
设备层(也称为终端层)一般包含三种元素:传感器用于测量实际数据、执行器用于执行相应的功能、收发器用于传输传感器的数据并接收执行器的指令。
IoT网关层是物联网生态系统中的一个重要组成部分,是传感器、执行器和云之间的媒介,用于处理本地传感器和远程用户之间的通信,并完成其他的相关功能。
云层用于整个物联网系统的监控和管理,它与多个网关相连接,对收集和存储的数据进行分析。
应用层是最终用户的接口,用于访问和控制物联网产品和服务。
图1 IoT生态系统可以被分成多个层,它们共同完成数据的测量、分发和分析,并且执行相应的动作。
网关设计的关键
虽然每个物联网系统是不同的,但网关的主要作用是聚合多个低速终端节点的数据,并将数据通过高速链路发送到云。
聚合数据所涉及到的可能不仅仅是向上层发送数据。例如,对于像ZigBee或LoRa这样的网格拓扑结构,网关所接收到的可能是相同消息的多个副本。在这种情况下,网关必须选择哪个消息像上层发送,哪一个消息发送到下层的终端节点。
随着物联网的功能越来越复杂,设计人员正在将部分数据处理功能转移到接近传感器/设备层的位置,也就是所谓的“雾计算”。以这种方式来划分IoT任务,不再需将对数据分析没有作用的数据发送到服务器,这样不仅减少了响应时间,而且降低了网络负载。
按照这种方式,网关设备所在的位置是最合适的选择,因为将响应合并到单个模块中的多个终端点,而不是在多个单元中进行划分,通常是比较便宜的。在大规模的物联网系统中每一层有明显的物理区分。然而,在一些小型系统中,可以将多个层组合到一个单元中。例如,自动售货机中的网关包括了用户界面、输入、输出和无线或有线接口。在这种情况下,IoT只包含了云和网关。
考虑到选择的多样性,哪些是IoT网关硬件和软件所必须的呢?
硬件的考虑
下面是网关硬件的一些需求:
CPU:
不同IoT应用程序对网关的CPU及其相关模块的需求差异很大。有些应用程序可能对计算能力要求很高,这就需要一个具有浮点计算能力的强大处理器;有些应用程序可能对安全性敏感,这就需要一个带有硬件增强功能的CPU,以满足TPM规范。许多供应商提供了兼容小型网关的CPU,例如,英特尔Atom E3800在物联网网关中很流行。该处理器具有从1个到八个核多个系列;内存从512kB到2MB; *** 作频率从1.33 GHz到1.91 GHz。
存储:
使用闪存存储数据的固态硬盘(SDD)是很流行的选择,因为他们没有移动的磁头,性能可靠,且与硬盘驱动器(HDD)相比性价比更高。英特尔E 6000p系列是SSD是一个很好的例子:容量分为128GB和256GB版本,带有功能标准的PCIe Gen 3接口,并提供了AES 256位的数据加密。
连接:
硬件必须支持各种有线和无线通信接口。互联网与云的连接很可能是通过Wi-Fi或以太网连接到路由器,但考虑到物联网用例的多样性,与终端节点的连接具有很强的专用性。
环境考虑:
在硬件的选择上也要考虑到实际的 *** 作环境。IoT网关设备将被安置在办公室、安置在工厂的地板上,还是以某种方式暴露阳光下?并且功耗要求是多少?
软件的考虑
IoT网关的软件也需要多点考量。主要有以下几点:
*** 作系统用于管理处理器、内存和其他资源,并为应用程序提供底层硬件的抽象。IoT网关的 *** 作系统有多种选择,包括专用系统,如微软的Windows IoT Enterprise或Windows IoT Core,还有其他的很多开源系统,如Ubuntu或Ubuntu Core,他们都是Linux的衍生产品。
与终端节点的连接和通信可以通过USB、RS-485、IEEE 802.11/b/g/n (WiFi)、LoRa或低功耗蓝牙 (BLE)等协议。与云的通信可以使用以太网、wi - fi或蜂窝协议。
网关位于终端设备层和公共互联网之间,对保证数据的安全起着重要的作用,同时网关也是黑客攻击的首要目标。任何健壮的软件栈都必须包括层的安全,包括通信的加密和设备的认证。安全设计通常包括硬件和软件组件之间的紧密交互。
网关设计实例
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)