物联网网关


物联网网关:设备和云平台之间的桥梁

举个例子,设计过一个冷库温湿度监测系统,它是基于 LoRa 通信技术的。我们知道,冷库的环境是非常复杂的。

首先,库房内部的蜂窝网络信号一般都很差,一方面是因为要增强保温性能,所以墙壁做得比普通的墙体要厚;另一方面是因为库房位置通常位于城市的郊区,比较偏远,所以经常是完全没有网络信号。

其次,库房的信号环境是千变万化的,因为会出现满仓、空仓等多种情况。所以,在冷库内部部署的监测设备,如果直接连接蜂窝网络的话,完全不能实现可靠和稳定的通信。

这种情况下,可以选择的解决方案就是,在有稳定网络信号的地方部署物联网网关,让冷库里面的监测设备,通过 LoRa 这种穿透能力强、空旷环境通信范围可以达到几公里的技术跟网关通信,从而间接地实现设备的联网。

冷库物联网网关图

物联网网关正在成为整个物联网体系中不可或缺的角色。它作为物联网设备与云平台之间的桥梁,变得越来越重要。

协议转换:搭建桥梁的关键

BLE 、ZigBee 和 LoRa 设备在跟网关通信的时候,需要网关基于开放的或者内部私有的协议,解析出数据;然后网关再使用跟云平台的连接协议来组织数据,完成数据传输。

这个过程自然就要求网关设备能够支持不同的通信技术。下面给出了一张网关通信接口的结构示意图。

网关协议转换

上北下南,上半部分叫“北向接口”,下半部分叫“南向接口”。这是行业内约定俗成的说法。

北向接口需要接入互联网,所以通常的选择有 RJ45 以太网口、光纤接口、Wi-Fi 和 4G、NB-IoT 等蜂窝网络模组等。

南向接口用来连接物联网设备,除了刚说的 BLE、ZigBee、LoRa、Wi-Fi 这些无线技术的接口,常见的还有用在工控机(Industrial Personal Computer,工业控制计算机)上的 RJ45 以太网口、RS232、RS485 等有线接口。

这里需要注意的是,每个网关设备的接口类型和个数不是固定的,因为网关产品一般会根据应用场景确定几个不同的规格型号。不同型号的网关需要支持不同类型的协议,以及不同个数协议的转换,所以网关的协议转换功能一般采用插件的软件架构方式。

插件机制这种二次开发能力非常重要。一方面,它让我们可以根据接口的情况,动态、灵活地配置协议转换功能;另一方面,它也可以方便我们开发私有协议的解析功能。

比如通过 BLE、ZigBee 或 LoRa 技术跟网关通信的设备,它们通常采用的是私有的应用层协议,这就需要我们基于设备架构设计时定义的私有协议,专门编写解析代码。

至于使用 RJ45 网口或 Wi-Fi 跟网关连接的物联网设备,除了采用基于 TCP 或者 UDP 的私有协议之外,也可能采用我们之前讲过的 MQTT 或者 CoAP 这样标准的协议。这时,我们就需要按照这些协议的格式来处理。

另外,工控机 和 PLC (Programmable Logic Controller,可编程逻辑控制器)中经常使用的标准协议有 Modbus、ProfiBus、OPC UA 和 BACnet 等。

网关的其他功能

经过协议转换,网关就得到了通用格式的数据。对于这些数据,网关还需要进行持久化,把数据临时存储起来。

网关的存储功能可以防止因网络临时故障等原因,导致设备数据的丢失。另外,网关和设备的配置信息也需要存储在网关中,以便设备运行过程中快速读取。

同时,数据的安全性也非常重要,物联网网关需要做好这几个方面的事情:

  1. 完善的本地身份认证。这样可以防止网关设备被随意修改软件或者数据。
  2. 网关保证数据的加密传输。因为很多物联网设备的计算能力非常弱,不具备进行数据加密的能力,这时就需要借助网关来保证数据或者控制命令的加密和解密。
  3. 网关能够支持运营商专网接入,或者支持 VPN(Virtual Private Network,虚拟专用网络)技术。这里我补充说明一下,VPN 技术的好处是基于互联网网络建立加密通道。这样既保证了数据传输的安全可靠,又比建立专线成本要低。常用的 VPN 协议有 IPsec、OpenVPN 等。

除了我刚才讲到的协议转换存储功能和安全管理,物联网网关一般还有设备管理网关配置空中升级这些功能模块。

在网关上做数据分析

在行业内已经开始尝试将云平台上的部分计算服务,下沉到靠近数据发生地的“边缘设备”上进行,这就是边缘计算的由来,而物联网网关是边缘计算中最轻量级的解决方案的关键。

边缘设备,比如物联网网关,完成初步的数据处理,和需要及时响应的计算任务;而云平台负责需要大规模数据复杂计算的数据分析工作,以及完成整体的协调和控制

具体来说,云平台将原有的云计算模型的部分计算任务迁移到网络边缘设备上来;网络边缘设备(比如路由器、移动网络基站等),在数据源附近执行数据处理和数据分析任务。这样一来,就降低了云计算中心的计算负载,减轻了物联网对于网络带宽的压力,提高了数据处理的效率。

边缘计算模型的好处:

  1. 延迟低。数据只需要从产生设备传输到边缘设备,传输距离短,数据不需要通过其他网络,网络延迟低。
  2. 节约了主干网带宽。缓解大量数据传输所造成的网络拥堵想象。尤其像一些银行的专有网络,本身带宽非常有限,只能用于传输关键性的数据。
  3. 计算可用性好。数据在网络中的路径长度显著变短,因网络波动引起的计算服务不可用情况将有所减少。
  4. 隐私性更好。由于边缘设备距离用户近,用户的隐私数据不再需要上传到云平台,因此,在边缘计算场景下,用户的隐私也可以得到更好的保护。
边缘计算对网关的影响

技术架构的变化,一般也会对系统提出新的需求。边缘计算对网关的影响,主要体现在三个方面。

  1. 首先,为了更好地在网关中运行边缘计算任务,网关需要支持虚拟化技术,这在目前的实践中通常是采用容器技术实现。容器天然具有轻量和可移植的优点,非常适合开发人员快速测试应用程序,也方便维护人员在网关上大规模部署和更新应用程序。另外,容器技术也更利于网关使用容器自动运维平台技术,比如 Kubernetes,来实现应用程序的编排等功能。
  2. 其次,因为网络环境的不确定性,网关需要具备一定的自治能力。当网关与云平台的通信中断时,这种情况不应该影响网关处理数据的计算任务,和对物联网设备的管理。
  3. 最后,因为边缘计算的引入,我们需要在网关侧实现数据分析处理的任务。而网关的硬件资源非常多样,业务需求也千差万别,所以网关上提供统一的开发框架变得更加重要。开发框架可以为开发人员提供一致的 API 和组件的互操作能力。这样开发人员可以更加高效地实现业务功能,也更容易和其他厂商协作。

加入边缘计算能力后的网关架构图:

网关架构图

怎样实现边缘计算?

首先说一下标准化组织。目前,在推进边缘计算的标准组织主要有三个,分别是:

  1. Linux 基金会下的 LF Edge (Linux Foundation Edge)和致力于推进 Cloud Native 的 CNCF(Cloud Native Computing Foundation)
  2. Eclipse 基金会下面的 Eclipse IoT 项目
  3. OpenStack 基金会

容器技术:主要有 KubeEdge 项目,它的主要思路是将 Kubernetes 从云端扩展到边缘设备,方便应用程序在边缘网关上的编排和调度,同时实现云端和边缘设备的协同数据处理。

开发框架:比较知名的是 EdgeX Foundry 项目,定位是为工业物联网提供通用的边缘计算框架。为此,它适配了很多协议,提供出标准的 API 接口。

专门针对智能家居领域的项目有 Home Edge ,它是三星贡献的一个开源项目,用于加速智能家居设备的边缘部署。

小结

随着物联网应用场景越来越多,物联网网关正在成为“边缘中心”。它成为物联网的“云、边、端”架构(即云平台、边缘、终端三部分)中非常重要的组成部分。做物联网网关的架构设计和功能开发中,需要重点关注的内容有:

  1. 物联网网关是设备与云平台之间的桥梁,网关的南向接口和北向接口都非常多样。因此协议转换功能是必须包含的功能。它保证了物联网设备数据的可靠上传,和云平台控制命令的有效执行。
  2. 关注网关基础功能的实现。这些功能包括存储功能、安全管理、设备管理、网关配置和空中升级这些功能模块。它们既保证了数据的安全和可靠传输,也为远程维护提供了支持。
  3. 需要根据业务场景,决定网关对于边缘计算的支持能力。边缘计算对于物联网网关的架构有 3 个方面的影响:(1) 容器技术。容器技术的应用利于开发人员快速开发、测试应用程序,也方便维护人员在网关上大规模部署、更新应用程序。同时,基于容器自动运维平台技术可以实现应用程序的编排等功能。(2)自治能力。它可以保证网络环境不稳定时,网关的数据分析处理任务的正常执行。(3)开发框架。开发框架利于开发人员的开发工作,也有益于各部分组件的协同互操作。

Author: Andy Zhang
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Andy Zhang !
评论
  TOC