图解物联网
上QQ阅读APP看书,第一时间看更新

第2章 物联网的架构

2.1 物联网的整体结构

实现物联网时,物联网服务大体上发挥着两个作用。

第一是把从设备收到的数据保存到数据库,并对采集的数据进行分析。

第二是向设备发送指令和信息。

本章将会为大家介绍如何构建物联网服务,以及用于实现物联网的重要要素。

2.1.1 整体结构

物联网大体上有3个构成要素,如图2.1所示。一个是设备,另一个是网关,再来就是服务器。关于设备的基本结构和使用的技术,我们会在第3章详细说明。因此本章并不涉及设备。我们来详细看一下用怎样的机制才能实现网关和服务器。

图2.1 物联网的整体结构

2.1.2 网关

如图2.1左下所示,物联网使用的设备中,有3台设备不能直接连接到互联网。网关就负责把这些设备转发到互联网。

网关指的是能连接多台设备,并具备直接连接到互联网的功能的机器和软件(图2.2)。如今,市面上有很多种网关。在多数情况下,网关凭借Linux操作系统来运行。

图2.2 选择网关的标准

选择网关时有几项重要的标准,我们来一起看一下。

接口

第一重要的是用于连接网关和设备的接口。网关的接口决定了能连接的设备,因此重点在于选择一个适配设备的接口。

有线连接方式包括串行通信和USB连接。串行通信中经常用的是一种叫作D-SUB 9针(pin)的连接器,而USB连接中用到的USB连接器则种类繁多。

无线连接中用的接口是蓝牙和Wi-Fi(IEEE 802.11)。此外,还有采用920 MHz频段的Zigbee标准,以及各制造商们的专属协议。第3章会详细讲解这些规格各自的特征,重点在于根据设备对应的标准来选择接口。

网络接口

我们用以太网或是Wi-Fi、3G/LTE来连接外部网络。网络接口会影响到网关的设置场所。以太网采用有线连接,通信环境稳定。然而正因为采用的是有线连接,所以必须把LAN电缆布线到网关的设置场所。因此,在设置场所方面就会在某种程度上受到限制。

对3G/LTE连接而言,设置场所就比较自由了,但通信的质量会受信号强弱影响,所以通信不如有线连接稳定。因此,有时很难在信号不良的大楼和工厂等封闭环境中设置。不过,3G/LTE连接有个好处,即只使用网关就能完成和外部的通信,因此操作起来很简单。此外,想使用3G/LTE时,需要和电信运营商签订协议并获取SIM卡,这点就跟使用手机一样。

硬件

相对于一般计算机而言,网关在CPU和内存这些硬件的性能方面比较受限。我们需要确定让网关做哪些事情,也需要考虑到它的硬件性能。

软件

人们主要使用Linux操作系统来运行网关。虽然有很多种用于服务器的Linux,不过,网关上搭载的Linux是面向嵌入式的。

此外,还有一个叫作BusyBox的软件,它运行起来占用内存少,集成了标准的Linux命令工具。它用于在硬件资源匮乏的时候运行网关。除此之外,还要考虑是否有用于控制网关功能的程序库,以及与这种程序库对应的语言等。

电源

说起来,电源很容易被人们遗忘。网关基本上都是使用AC适配器当电源的,因此需要事先在设置网关的场所准备好电源。如果网关本身搭载有电池,那么就不需要准备电源了,不过需要进行充电等维护工作。

2.1.3 服务器的结构

在功能方面,物联网服务大体上可分为3个部分,本书分别称它们为前端部分、处理部分,以及数据库部分(图2.3)。

图2.3 物联网服务的3个功能

首先,前端部分包括数据接收服务器和数据发送服务器。数据接收服务器接收设备和网关发来的数据,转交给后续的处理部分。数据发送服务器则刚好相反,它负责把从处理服务器接收到的内容发送给设备。

通常情况下,Web服务的前端部分只接受HTTP协议。而物联网服务的前端部分则需要根据连接设备的不同来匹配HTTP以外的协议。使用者需要考虑到协议的实时性和通信的轻量化,以及能否以服务器为起点发送数据。我们会在2.2节重新讲解这些协议。

处理部分负责处理从前端部分接收到的数据。这里的“处理”指的是分解数据、存储数据、分析数据、生成发给设备的通知内容,等等。数据处理包括批处理和流处理等,批处理即把数据存入数据库之后一并进行处理,而流处理是逐次处理从前端部分收到的数据。使用者需要根据处理内容和数据特性来灵活使用这些“处理”。

最后是数据库。这里的数据库不只会用到关系数据库,还会用到NoSQL数据库。当然,使用者需要根据想存储的数据和想使用的方法来选择数据库。