第2章
物联网
物联网(Internet of Things,IoT)是通过各种信息传感装置实时采集信息,按事先规定好的协议,把物理世界中任意的实际物体与互联网连接起来,并进行信息传输、交互,最终达到智能辨识、准确定位、跟踪和管控信息目的的一种网络。
物联网具有互联互通、深入感知和智能服务三个根本特性。物联网的基础特征是互联互通,物联网首先要能够满足多种异构网络、异构终端和传感设备的通信要求,为下一步进行大量数据的感知和交互做准备;深入感知是物联网的关键,通过对现实存在的物理感知信息进行多层次融合和协同处理,提供经过处理后的感知数据信息给应用层使用,最终物联网要能实现智能服务的功能。物联网根据对物理环境实时感知和信息融合的结果,自主决策以动态适应实时变化的物理世界。国家“十三五”规划(2016—2020年)也明确提出支持积极促进物联网的发展,同时把“互联网+”等作为国家战略。
2.1 物联网架构
物联网应该具有三个显著功能,即全面感知、可靠传输、智能处理。全面感知即使用射频识别(RFID)、传感器、二维码等传感设备全面收集物理世界的物体信息;可靠传输是将感知的信息通过各种通信网络与互联网实时准确地完成传输;智能处理是在分析处理大量数据信息时采用云计算、模糊辨识等智能计算技术,实现物体的智能化控制。
2.1.1 物联网技术架构
1. 物联网三层架构
物联网的架构按照技术划分,可分为感知层、网络层和应用层三层架构,如图2.1所示。
图2.1 物联网三层架构示意图
(1)感知层是对物体进行辨识、收集数据信息的主要部分,处于物联网三层架构的底层,相当于人类感知器官的神经末梢,用于感知外界事物。感知层主要由传感器及传感器网关组成,通过信息传感设备,如传感器、二维码、RFID等来对数据信息进行采集,并实现对被监测物体的辨识。感知层的关键技术包括传感器技术、识别技术及定位技术等。
在物联网中主要的信息采集设备为传感器,它是完成物联网感知、服务、应用的基础。传感器将采集到的物理量、化学量等物质世界中的信息利用相关机制转换为一定形式的电信号,然后通过相应的信号处理装置进行信号处理,并产生相应动作。传感技术就是将模拟信号转换为数字信号,将信息量化的技术。在物联网中,传感器节点由多个模块构成,模块功能包括感知、信息处理、收发网络信息、提供能量等。相比于传统的传感器,物联网中的传感器具有协同、计算、通信等附加功能,具有感知、计算及通信的能力。在检测范围内布置大量的传感器节点,组建的无线网络系统称为无线传感网。无线传感网通过各个传感器节点相互协作来感知、采集处理该网络区域的监测信息,并传输给观测者。
自动识别技术将物理世界与信息世界统一在一起,此技术是物联网与其他网络不同的主要特点。自动识别技术就是使用特定的辨识设备来识别物体中间件的接近活动,从而能够自主提取与被识别物体有关的数据信息,并将信息提供给上层设备进行进一步处理的一种技术。通过自动识别技术,物联网可以自动采集数据,并对信息进行识别标识,输入计算机中,辅助人们完成大量数据的实时分析。
定位技术是采用某种计算方式,测量在指定坐标系中人、物体、事件发生的位置的一种技术,是物联网发展和应用的主要研究方向之一,物联网中主要采用的定位技术手段主要有卫星、WiFi、ZigBee、RFID等。
(2)物联网的网络层是物联网的关键部分,通信网络对从感知层传递来的感知信息进行分析处理并传输给其他网络,并将控制命令回馈给感知层。由于网络层可以将感知层数据限定在特定区域内传输,所以又称网络层为传输层。网络层相当于物联网的神经中枢和大脑,它由各种专用网络、互联网、通信网等组建而成,使得端与端之间的数据可以高效、无障碍传输,其传输可靠性高、并且传输过程较为安全,能进行更为广泛的数据互联,具有寻址、路由选择、网络连接、数据保持/中断等功能。网络层需要利用嵌入式系统对其进行网络物理化的处理,该嵌入式系统可通过计算技术对其物理设备进行管控。网络层中包含的关键技术有远距离有线/无线通信技术、网络技术等。
(3)应用层将从前两层得来的信息进行处理和传递,并进行控制和决策,实现信息存储、数据挖掘等功能,从而达到智能化管理、应用和服务的目的。物联网应用层由不同行业的应用组成,如医学物联网、农业物联网等,应用层根据用户的具体需求向其提供接口,完成不同行业、不同应用、不同系统间的信息交互和共享,实现真正的物联网智能应用。由网络层传递来信息数据之后,应用层进行相关的数据分析和处理,形成用户所需信息,并且可进行部分信息处理,为用户提供丰富的特定服务。应用层根据功能不同,可划分为服务支撑子层和应用子层两个子层构架。服务支撑子层通过利用下层传递来的信息数据组建能够符合要求的实时更新的动态资源数据库;应用子层的主要作用是根据行业需求不同,对数据资源、网络和感知层等各项技术进行修改,做出不同的解决方案。
物联网的应用范围很广,如对环境污染等的监控、智能检索、智能生活、设备控制、支付服务等,可将其应用分成监控型、查询型、控制型、扫描型等。
物联网是一个大规模的信息系统,它需要处理的数据量极为庞大,物联网应用层需要解决的一个重要问题是怎样对海量数据进行适当的处理,并提取其中的有效信息。物联网应用层中的重要技术有人工智能技术、云计算技术、M2M平台技术等。
1)人工智能技术
人工智能技术可以提高机器自动化及智能化程度,从而改善操作环境,减轻工作量。人工智能技术还可以提高设备的可靠性,降低维护运行成本,进行智能化故障诊断等。
2)云计算技术
物联网在处理海量数据时,云计算能够将网络中的计算处理程序分解为多个子程序,再将子程序通过多个服务器组成的系统对其数据信息进行处理分析,并把结果发回客户端。云计算技术融合了传统计算机技术和传统网络技术中不同的计算方法、信息虚拟化、均衡负载等功能。云计算数据处理能力强且计算结果可靠性高,存储能力极强,在计算技术中的性价比较高,对物联网应用非常适用。对于多种多样的物联网应用,云计算技术构建了统一的平台用于服务交付,对计算方法、资源存储方法做出了改进,并提供了统一的数据存储格式和数据处理方法。利用云计算可大幅度简化应用交付过程,降低交付成本,提高处理效率。图2.2所示为云计算模型。
3)M2M平台技术
M2M(Machine to Machine)即机器与机器间的通信。M2M侧重研究机器之间的无线通信方式,主要有机器对机器、机器对移动电话(用户远程监视)、移动电话对机器(用户远程控制)。M2M的通信方法是智能交互式的,机器可根据既定的程序主动发起通信,而不是被动等待通信,并且可根据获得的数据进行智能化抉择,向相应设备发出决策指令。图2.3所示为M2M系统结构。
M2M产品通常由三部分构成,即无线终端、传输通道、应用中心。特定行业的应用终端即无线终端,而并不是一般互联网中所说的终端设备,如手机、笔记本电脑等;终端上的数据经过传输通道送达应用中心完成数据汇总,应用中心可根据汇总的数据对分散的无线终端实现管控。
除上述形式的物联网架构表示方法外,物联网还有“海—网—云”或“端—管—云”等架构表示方法。其中“端”表示终端设备,是所有物联网感知终端和用户终端的全体;“管”表示传输管道,相当于网络传输层;“云”表示云端,将应用包含在了云服务的范畴内,相当于应用层。不同的架构表示方法只是从不同的角度出发,但其表达的物联网本质是相同的。
图2.2 云计算模型
图2.3 M2M系统结构
2. 物联网四层架构
四层架构形式主要由感知层、网络层(供输层)、支撑层和应用层4个层次组成。物联网四层架构示意图如图2.4所示。
图2.4 物联网四层架构示意图
1)感知层
感知末梢子层相当于物联网的神经末梢,其主要的任务是进行可靠感知,即对周围客观的物理环境参数进行采集和处理;感知汇聚子层包含各种有线或无线的现场网络,其主要的任务是进行信号传输和汇聚。它的核心设备是物联网网关,具有现场网络管理功能,并负责转发现场网络与各种广域网络的信息。
2)网络层(传输层)
网络适配子层对数据的目标网络进行判断,并生成相应的协议数据单元;传输承载子层包括各种IP专网、城域网、CMNET等,是传输数据信息的主要承载层;核心网络子层根据传输信息形式的不同将网络划分为电路域、分组域、CM-IMS域等。
3)支撑层
中间件子层由各种服务中间件构成,能将各种特定应用的基本性能集合进行特征提取,并提供服务调用功能给向上层公共服务层;公共服务子层内含不同行业的匹配程序,提供行业解决规划,调取中间件子层提供的通用服务接口交给其他程序使用,上层应用层通过公共服务子层的数据结果来做出决策控制。
4)应用层
应用适配子层对所有应用层信息数据的编码格式进行统一并提供统一接口;终端设备子层提供虚拟表进行数据查询,各个行业的特定应用最后在该层完成决策,决策者根据需求下达指令代码。
3. 物联网五层架构
物联网作为一种使用开放型协议的开放型架构,可以支撑各种以互联网为基础的应用。为了促进互联网与实际事物之间的信息交互和融合,物联网还应该具有可扩展性、网络安全性、能够进行语义表示等功能,因此学者们提出了一种五层架构体系对物联网进行定性分析,而不是具体对其协议做出定义。该物理模型包含感知控制层、网络互联层、资源管理层、信息处理层、应用层五层。
(1)感知控制层由RFID读写器、智能传感节点和接入网关等部分构成,物联网通过感知控制层的各个传感器节点对外界信息进行感知,传感器节点可自行组网,并将感知数据接入网关,最后由网关上传数据给互联网进行进一步的数据处理分析。
(2)网络互联层利用各种接入设备将不同的网络,如互联网、通信网等进行组合互联,实现数据的格式、地址转换及传输通信等功能。
(3)资源管理层进行资源初始化,对资源的运行情况进行监测,协调多个资源之间的工作,实现跨域资源的交互。
(4)信息处理层可实现对感知数据的解析、推理,完成决策,信息处理层还可完成对数据进行查询、存储、分析、挖掘等操作。
(5)应用层能够为用户提供多种服务。
除以上这5层架构的基础外,物联网中还有相应的各种机制能够作为基本架构的支撑,服务于特定的应用,如安全机制、容错机制、服务机制。
2.1.2 物联网平台架构
物联网平台是基于互联网和通信技术而构建的平台,在此平台下,用户可通过自己原有的设备和技术接入物联网,而不用使用特定的硬件模块。物联网平台架构由四大核心模块、网络、智能设备构成,四大核心模块包括设备管理、用户管理、数据传输管理、数据管理。这四大模块是物联网平台的基础,其他的功能模块都是基于这四大模块的延展。图2.5所示为物联网平台架构示意图。
图2.5 物联网平台架构示意图
1. 设备管理
设备管理可分为两个部分,一部分是设备的类型管理,此模块主要定义设备的类型,一般由设备制造商来完成这项管理功能,即设备制造商定义数据解析方法、数据存储方法、设备规格等信息。设备的使用者只能浏览设备的相关信息,而不能进行数据定义。另一部分是设备的信息管理,可以对设备有关信息做出定义,设备使用者对购买后激活的设备具有完全的控制权,可以控制设备的哪些数据可以被制造商查看、哪些数据可以被用户查看等权限。
2. 用户管理
用户管理可分为组织管理、人员管理、用户组管理和权限管理。
(1)组织管理:在物联网平台上,所有的设备、用户、数据都是基于组织管理的,而组织可以是设备制造商、设备使用者或家庭等。
(2)人员管理:用户是基于一个组织下的人员构成的,每个组织下都有管理员,管理员可以为其服务的组织添加不同用户,并分配给每个用户不同的权限。多个不同组织中可能存在同一个用户。
(3)用户组管理:令同一用户组用户拥有同等权限。
(4)权限管理:权限管理主要是对权限进行具体划分。
3. 数据传输管理
数据传输管理是针对一类设备定义的数据传输协议,其基本格式是
设备序列号@命令码@数据
其中,设备序列号是厂家给每个设备规定的编号,没有固定格式,依据设备生产厂家的编码格式而定;命令码可以体现此数据的作用,比如是上传数据,还是服务器下发给设备的命令等,一般采用两位数字00~99编码;数据是这条报文所包含的数据部分。每个协议可以定义不同的解析方式,每种设备类型均可定义多条命令,而每条命令都有不同的解析方式,组织管理员可根据需求定义符合设备类型的解析方式。服务器接收到数据后,会自动根据事先定义的解析方式解析数据字段,数据字段都是依照HEX的方式进行收发工作的。设备开发者根据物联网平台定义的数据格式,开发自家设备的解析代码。
数据解析完成后,要对数据进行存储,而物联网存储要使用分布式架构,这样就可以为每个设备规定不同的存储位置。在Diego IoT中数据存储使用MySQL数据库,可以将不同的设备存储在不同的MySQL数据库中,为每条数据定义生命周期,在生命周期结束后,系统将自动删除数据。
4. 数据管理
物联网中存在海量数据,可借用开源大数据平台实现数据的可视化分析,得到有价值的数据。物联网数据管理中一个重要的部分就是权限管理,只有设备拥有者才能定义数据的浏览使用权限。用户还可以将数据导出到本地来做相应分析工作。
2.1.3 网络通信架构
目前云端的物联网平台和设备之间的通信都基于TCP/IP协议,在此基础上,设备与云平台之间的通信还可以使用WiFi和4G、5G等方式,各个设备之间进行通信则可以采用WiFi、Bluetooth、ZigBee等方式。
1. 基于移动3G/4G的通信
移动3G/4G的通信架构是最简单的架构,主要需要考虑以下几点。
(1)每个设备都需要SIM卡,可到移动服务器商家去办理专门的物联网SIM卡。
(2)需要注意数据流量问题。这种架构基于移动3G/4G通信,因此会完全耗费数据流量,如果有视频数据,将会产生比较大的流量资费。
(3)需要考虑通信质量问题。此架构依赖移动服务商的网络覆盖,在某些信号较弱或无信号的环境下无法收发数据。
图2.6所示为基于移动3G/4G的通信过程示意图。
图2.6 基于移动3G/4G的通信过程示意图
2. 基于WiFi局域网的通信
基于WiFi局域网的通信架构,适用于所有物联网智能设备均处在一个局部环境中工作的情况,设备通过WiFi或有线局域网连接到路由器上,再由路由器统一连接到物联网服务器中。由于在局域网内的智能设备没有公网独立的IP,只有一个局域网内的IP,因此智能设备可以直接将数据包发送给物联网服务器,而物联网服务器不能直接给设备发送数据包。由于WiFi的功耗比较大,需考虑通过WiFi接入的智能设备的供电问题。
干扰问题也是此架构需要考虑的问题之一,如果环境中有强干扰源,例如电磁干扰等,就需要采用抗干扰能力较强的路由器。图2.7所示为基于WiFi或有线局域网的通信过程示意图。
图2.7 基于WiFi或有线局域网的通信过程示意图
3. 基于蓝牙的通信
在此架构中,智能设备通过蓝牙接入蓝牙网关,再由蓝牙网关统一连接到物联网服务器上。蓝牙是一种点对点的通信方式,因此要考虑以下问题。
(1)蓝牙的网关容量问题,也就是一个蓝牙网关能接入多少蓝牙设备。
(2)蓝牙配对问题,蓝牙设备都需要先配对才能通信,如果不能自动进行配对,那么在物联网中智能设备较多的情况下基于蓝牙的通信方法是不合适的。
还有一种情况是针对不需要一直在线的物联网设备的,只是在某种特殊情况下,物联网设备需要连上服务器,这种情况下可通过蓝牙设备来让设备接入物联网。蓝牙手环是这种架构的一种典型应用模式。图2.8所示为基于蓝牙的通信过程示意图。
图2.8 基于蓝牙的通信过程示意图
4. 基于ZigBee的通信
ZigBee是针对传感器之间的一种联网方式,具有非常强的低功耗能力。ZigBee接入网络依赖ZigBee网关,而网关本身也是一个ZigBee设备,ZigBee设备是自组网的,因此在使用过程中要注意数据量的问题。ZigBee是超低功耗无线通信技术,而设备的通信能力和其功率损耗是反向变化的,所以ZigBee的通信能力较弱,因此适用于传感器数据采集等数据量较小的应用场合,但是对于大数据量的场合就不适用了。图2.9所示为基于ZigBee的通信过程示意图。
图2.9 基于ZigBee的通信过程示意图
2.1.4 物联网网关架构
在物联网中,物联网网关至关重要,其主要功能是进行网络隔离、协议转化、适配及数据网的内外传输。
物联网设备接入网络后,设备与设备之间要互相通信,设备与云端需要互相通信,因此需要相应的物联网通信协议,只有遵循通信协议的设备才能进行相互通信,完成数据交互,实现物联网功能。常用的物联网通信协议主要有MQTT、COAP等,这些通信协议都是基于消息模型来实现通信的。设备与设备之间,设备与云端之间通过交换携带通信数据的消息来实现通信。图2.10所示为典型的物联网网关架构。
图2.10 典型的物联网网关架构
2.1.5 物联网终端设备软件系统架构
常见的物联网终端设备软件系统框架主要分为带RTOS和不带RTOS两种。RTOS是实时多任务操作系统,不带RTOS的设备终端系统处理的任务通常比较单一,带RTOS设备系统的终端设备可以并行处理多个任务。每个任务负责一个事务,通过并行化运行,可提升系统响应的效率。RTOS实时操作内核一般包含的重要组件有任务调度、任务间同步与通信、内存分配、中断管理、时间管理、设备驱动。图2.11所示为不带RTOS的设备终端系统框架。
图2.11 不带RTOS的设备终端系统框架
图2.12所示为带RTOS的设备终端系统框架。
图2.12 带RTOS的设备终端系统框架
2.1.6 物联网云平台系统架构
图2.13所示为物联网云平台系统架构。
物联网云平台系统架构主要包含四大组件:设备接入、设备管理、规则引擎、安全认证及权限管理。
1. 设备接入
设备接入组件包含多种设备接入协议,如MQTT协议,可进行并发连接管理,维持多达数十亿个设备的长连接管理。有些云计算厂商也在MQTT协议上精简其协议变成独有的接入协议,目前开放的MQTT代理服务器多为单机版,最多并行连接十几万个设备。因此,如果要管理数十亿个设备的连接,则需要使用负载均衡及分布式架构,在云平台需要布置分布式MQTT代理服务器。
图2.13 物联网云平台系统架构
2. 设备管理
设备管理方式一般为树形架构,包含设备创建管理及设备状态管理等。设备管理将物联网产品作为根节点,然后是设备组,再到具体设备。设备管理主要包含产品注册及管理,设备增、删、改、查管理,设备消息发布,OTA设备升级管理等。
3. 规则引擎
物联网云平台是在云计算平台的基础上构建起来的,物联网云平台和云计算平台共同为物联网业务提供服务。规则引擎先将物联网平台的数据进行过滤,然后转发到其他云计算产品上,如将设备上传的数据转发到Table Store数据库里。规则引擎一般使用类SQL语言,用户可以编写SQL语言来对数据进行过滤、处理,并把数据发送到其他云计算产品或其他云计算服务终端中。
4. 安全认证及权限管理
物联网设备需要携带由物联网云平台为其发放的唯一证书才可以接入云平台,因此每个接入云平台的设备都需要在本地存储一个证书,其存在形式是一个由多个字符串构成的KEY,设备每次与云端建立连接时,都需要携带证书,以便云端安全组件核查通过。云平台的最小授权一般为设备级授权。证书一般分为产品级证书和设备级证书两种,产品级证书可以对产品下所有的设备进行操作,操作权限最大;设备级证书的权限较小,仅能对其下属设备进行操作,无法对其他设备进行操作。