首页 > 通讯 > 学会通讯详情

物联网快速开发平台

作者:董玮、高艺、陈纯浏览量:10

定价:2.0元会员价:免费

摘要:物联网(Internet of Things, IoT)的理念最早出现于20世纪90年代。当时比尔·盖茨在《未来之路》一书中就提及物物互联的概念。近年来,嵌入式系统、无线网络以及传感技术的创新与革命极大促进了物联网的蓬勃发展。

物联网研究现状

物联网(Internet of Things, IoT)的理念最早出现于20世纪90年代。当时比尔·盖茨在《未来之路》一书中就提及物物互联的概念。近年来,嵌入式系统、无线网络以及传感技术的创新与革命极大促进了物联网的蓬勃发展。例如:

在物联网智能设备方面,ArduinoBeagle Bone、树莓派等新型开发设备不断涌现,极大地降低了开发物联网应用的门槛,使得越来越多的物联网应用成为可能。

在物联网低功耗传输技术方面,20176月,工信部发布了《关于全面推进移动物联网(NB-IoT)建设发展的通知》。阿里云宣布与中国联通等合作,发布国内首个LoRa城域网试商用(20183月)。华为、中国移动、中国电信等投入巨资建设窄带物联网(NB-IoT)基础设施,大量低功耗物联网设备如何接入互联网的关键问题有望得到全面解决。

在物联网开发平台方面,各大主要互联网公司相继推出了物联网开发云平台,包括亚马逊IoT平台、微软Azure IoT云平台、阿里云Link平台等,以解决大量物联网数据如何存储、查询、处理的共性问题。各大公司正在抢占物联网商业领域的主导权。

近年来,边缘计算概念的出现,有望能有效提升物联网应用的用户体验(如降低延迟)并有效保护用户数据隐私。

在高德纳(Gartner)2017年公布的新型技术成熟度曲线中,与物联网相关的几个主要技术:物联网平台(即物联网云平台)、边缘计算、联网家庭均接近发展顶峰,是目前热门的研究领域。据市场研究公司Machina Research预测,2025年全世界物联网设备将达到270亿[1]。物联网的研究在学术界得到了大量的关注。除了传统传感网领域的两大旗舰会议ACM SenSysACM嵌入式网络传感器系统会议, The ACM Conference on Embedded Networked Sensor Systems)和IPSN(传感器网络信息处理国际会议,The International Conference on Information Processing in Sensor Networks)之外,2016年开始举办的国际会议ACM/IEEE IoTDI(物联网设计与实现,IoT Design and Implementation)专门聚焦物联网领域的学术前沿,同年举办的国际会议ACM SEC(边缘计算研讨会,Symposium on Edge Computing)则专门聚焦边缘计算的前沿问题。物联网已不是一个模糊的概念,其愿景已越来越清晰。

阿里巴巴、IBM、 亚马逊、微软等主要互联网公司以及众多创业公司正在物联网平台与应用方面提前布局,争取在物联网时代占据优势。然而,物联网应用与传统互联网应用存在巨大 的不同:在传统互联网应用中,用户只需要有电脑、手机、平板电脑等通用设备以及网络连接即可使用相应的网络服务;而在大多物联网应用中,用户则需要在其使 用场景中部署专有的物联网设备,例如智能门锁、智能音箱、室内空气监测节点等。这一区别显著提高了物联网应用的开发与使用门槛。为了开发一个物联网应用, 开发者需要全方位考虑物联网设备的软硬件设计、通信方式与协议的选择、云平台的使用以及最终呈现给用户的应用形态。本文将从物联网应用开发的角度,探讨目 前的物联网开发平台及关键技术。同时以物联网快速开发平台为基础,进一步梳理物联网不同热门技术及其关系。

物联网应用架构

2014年初开始,我们课题组就开展了城市空气质量监测的项目[2]。该项目是一个典型的物联网应用,其基本思想是构建低成本的PM2.5感知节点,将其部署在移动的车辆上,达到城市范围内空气质量的细粒度监测。这一典型物联网应用的架构如图1所示,包括四个主要部分。

1.jpg

物联网设备:这是物联网的终端感知设备。在本应用中,它是PM2.5感知节点,该节点采集PM2.5空气质量数据,并通过某一种通信方式上传到物联网云平台。

网关:物联网设备通常通过无线方式接入互联网。传统的接入方式包括Wi-FiGPRS等,新兴的接入方式包括NB-IoT、蓝牙5.0等。在这些接入方式中通常需要一个网关(如Wi-Fi接入点、蜂窝网基站等)。网关通过无线接收数据,并通过有线将数据传输到物联网云平台。

物联网云平台:物联网云平台主要存储物联网感知数据,并提供查询、分析、处理等功能。

客户端:基于物联网云平台,应用开发者也可以开发各类前端应用,可能是PC应用程序、网站或者是智能手机App等。

由此可见,一个物联网应用的开发涉及到多个方面。而在每一个方面都可能涉及众多不同的软硬件平台。图2展示了部分常见的设备与平台。在物联网云平台方面,目前各大互联网公司有相对成熟的平台和产品,大大简化了物联网数据的存储、分析和处理。但在物联网设备的选型和开发、无线接入方式的选择、应用程序流程的简化和优化等方面还面临很大的机遇和挑战。

物联网设备选型与开发

微机电系统(MEMS)和嵌入式技术的发展极大促进了物联网设备的小型化及低功耗。例如,2000年之后,无线传感器网络(WSN)的发展就得益于小型化和低功耗的传感节点,包括MicaZTelosB等。这些节点集成了通用的传感器、802.15.4通信芯片、低功耗微控制器等,具有感知、通信和计算能力,是无线传感器网络研究的基础。

然而这些平台难以直接应用到实际的物联网场景中。例如,传统的TelosB节点并不提供空气质量监测应用中需要的关键组件,如PM2.5传感器、存储模块以及GPRS通信模块。并且由于其集成化程度较高,传感节点难以改造和扩展。

 另一方面,在创客领域,智能硬件得到了长足的发展,代表性平台包括Arduino、树莓派等。这些平台与传统传感平台的一个显著不同就是其扩展性和易用性。Arduino主板及扩展板包含很多接口,可以支持多种不同类型的功能模块。

如何基于智能硬件最新进展构建一个相对通用的物联网设备平台是一个极具挑战的问题。例如美国密歇根大学教授普拉巴·杜塔(Prabal Dutta)早在2008年发表的论文[3]中就指出:构建一个通用的传感节点平台需要数十年的经验,来满足感知、功耗、软硬件兼容性的要求。

为了解决这个问题,微软公司推出了.NET Gadgeteer系统平台。该平台基于.NET Micro Framework以及Visual Studio,使得开发者在并不熟练掌握硬件知识的情况下,通过在集成开发环境中拖拉各种外界模块,就可以组合成一个满足需求的智能硬件。这种强大的组合特性,使构建一个功能齐全的设备的用时仅为几个小时,而不是原来的几天或几周。但是为了兼容.NET Gadgeteer系统,需要对该平台能使用的硬件组件进行定制,而定制的硬件往往价格不菲,如主板模块需120美元,USB模块需25美元。

3.jpg

为了解决上述问题,我们课题组开发了TinyLink系统[4](http://tinylink.emnets.org)。该系统改变了传统嵌入式开发自底向上的模式,将其变为自顶向下的模式,即开发者首先基于抽象的编程语言进行应用的开发,TinyLink系统对代码进行自动分析,获得应用所需要的组件(如PM2.5、传感器、GPS等),系统将在综合考虑各种硬件限制条件的基础上,自动给出硬件选型的建议。当硬件定型后,上层应用代码将自动交叉编译成硬件匹配的目标代码。这样由软件定义硬件、自顶向下的开发模型将大大加速物联网应用的开发。与.NET Gadgeteer系统不同,TinyLink支持市场已有的主流的硬件平台和功能模块,而不是定制的功能模块。目前TinyLink支持ArduinoLinkit OneBeagleBone、树莓派四个主要的硬件平台,并支持100多个不同的外设模块。TinyLink的工作流程如图3所示,它采用云编译的技术,即应用程序代码上传到云端进行编译,因此仅需要一个轻量级的本地开发环境,免去了不同开发环境兼容性、依赖性的问题。

物联网设备构建自动化的思想与《中国计算机学会通讯》2017年第7期的专栏文章《计算机体系结构2030:未来15年的研究愿景》中提及的硬件设计大众化的趋势不谋而合:物联网大规模应用的关键是排除专用物联网设备设计的障碍。使得硬件设计变得像软件设计那样敏捷、便宜和开放。软件开发团队可以利用丰富的、拥有现成的可重用部件的生态系统(通常是免费和开源的),使用高级语言加速提高单个开发者的能力,并依靠强大和自动化的程序分析、综合、测试和调试来保证品质。

物联网云平台

与 传统的云平台不同,物联网云平台需要管理的不是一系列软件,而是软件和物联网硬件设备的结合。所以,物联网云平台需要提供设备层的接入和资源管控能力。由 于物联网应用的快速发展,各大云平台厂商和创业公司都开始关注物联网方向。在云服务上占有领先地位的微软、亚马逊和阿里云都已进军物联网业务。现在常用物 联网云平台有微软Azure IoT、亚马逊AWS IoT、阿里云物联网套件、腾讯云物联网套件、中移物联网、机智云等。

4.jpg

5.jpg

这些云平台究竟提供了什么样的服务?我们以微软Azure IoT云平台以及空气质量监测应用为例进行说明。整体流程如图4所示。

数据进入IoT Hub:物联网设备与云平台的交接层称为IoT Hub,它是一个全托管的云服务,帮助建立设备与云端之间安全可靠的双向连接,以支撑海量设备的数据收集、监控、故障预测等各种物联网场景。例如,空气质量监测节点产生的PM2.5、温湿度数据通过网络传输至IoT Hub,同时IoT Hub还可以对物联网设备是否在线、是否出现故障进行监控。

流分析IoT Hub收集的数据进行流分析”(stream analysis)处理。微软Azure云平台的流分析工具包提供了基于SQL语言的实时查询系统,每秒可对数百万事件进行流式处理。流分析服务可以在不阻塞数据的情况下对数据进行整理和挑选。

数据进入事件中心:它可以将流分析中产生的不同种类的数据(如不同监测设备产生的PM2.5数据和温度数据)进行时间采样和归类。

Azure服务函数(Azure Function):它是一个根据需求运行代码的服务,不需要开发者对服务器有足够的了解,只需要编写好服务函数,设定好触发条件或接入数据流,即可开始发挥函数的作用。例如通过Azure服务函数将明显不正确的PM2.5或温度的数据点删除,加上时间戳并转换成为用户可读的数据形式,并将其存储到数据库中。

数据进入数据库物联网云平台提供数据库服务来存储物联网设备产生的数据(如微软Azure SQL DatabaseAmazon DynamoDB、阿里云OTS),在此基础上开发者可对数据进行查询(规则引擎)、分析或接入自己开发的网页或移动端App。在此基础上,很多物联网云平台提供了额外的工具包,可以帮助开发者高效地构建出自己想要的物联网应用。

不同的物联网云平台厂商提供的服务千差万别,但是在核心服务方面却比较相似,如表1所示。他们均提供了对MQTT通信协议的支持,通过一定的方式保证物联网应用的数据安全等。

一个物联网应用的安全可分为三个方面:设备安全、连接安全和云安全。在微软的Azure平台上,设备安全向设备下发安全令牌或X.509证书,并对于其支持的MQTT/HTTP/AMQP协议均提供了对设备安全的验证模块;连接安全方面它采用了传输层安全性(TLS)来保护;云安全方面Azure提供了完整的访问控制体系,保证用户数据不被侵犯。与微软Azure平台类似,Amazon IoT同样提供了对于设备安全X.509的支持,同时它还有独有的“SigV4”验证方法保证设备和传输的安全性。阿里云通过其开发的嵌入式系统安全套件,在设备启动、调试、连接云等方面提供安全支持,整体上保护了物联网应用安全。

物联网云平台不仅仅需要管理软件与数据,也需要管理硬件节点。物联网硬件节点具有低能耗、网络连接不稳定的特点,这就导致了在云端对硬件进行操作的时候可能因为硬件不在线而导致操作失败。在硬件节点管理方面,亚马逊和阿里云均提供了影子设备的设备管理方式。影子设备即在服务器端维护一个设备的状态快照,它记录了上一次硬件在线时的所有状态和一个期望状态,在从云端下达对硬件的指令时,将更新影子设备上的期望状态,在下一次硬件上线时将期望状态推送至硬件端。

物联网应用性能优化——边缘计算

由于物联网设备资源受限,复杂的计算一般需要在云端进行。例如在我们的空气质量监测应用中,由于PM2.5数据的校准涉及复杂的模型和算法,在云端计算可以提高应用的整体性能(如延迟、功耗等)。近年来,半导体领域的进展大大促进了协处理器的发展。例如图形处理器(Graphics Processing Unit, GPU)可以处理计算复杂的深度学习算法,视觉处理器(Vision Processing Unit, VPU)可以有效进行视觉处理算法。这使得上述复杂的计算可以迁移到网络的边缘上,从而降低应用的延迟,并有效保护用户数据的隐私(如图5所示)。由此出现了边缘计算的概念。边缘计算是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近提供边缘智能服务。

6.jpg

狭 义上讲,边缘计算是指在物联网设备上进行计算。但是为每个物联网设备配置强大的计算能力不一定能满足应用低成本、低功耗的要求。因此,广义上讲,边缘计算 也包括在网关上计算。网关的计算资源可以在其管辖的设备之间共享,从而降低单物联网设备的成本。同时由于网关连通电源,不太受能耗问题的约束。据预测,到2018年,40%IoT数据将会通过边缘计算在近端处理。边缘计算和云计算并非是非此即彼,两者的有机结合将为万物互联时代的信息处理提供较为完美的软硬件支撑平台[5]

7.jpg

实际上,亚马逊物联网云平台、微软的Azure物联网云平台均已扩展并支持边缘计算(AWS GreengrassAzure IoT Edge)。图6展示了微软Azure平台云计算与边缘计算的区别:原先在云端执行的计算,如流数据分析、Azure函数,都可根据应用需求迁移到边缘网关上执行。

我们进一步以Wi-Fi路由器为例,要进行边缘计算就需要改变以往的网络设备,将其变为智能网关。目前,英特尔公司、中国移动均推出了智能网关设备。一般来说,智能网关主要由以下功能模块构成(见图7)。

8.jpg

连接模块该模块通过Wi-FiBLEZigBee等接收物联网设备数据,并将其转发到物联网云平台。

计算和存储模块:这是区别于传统网络的最大不同。物联网数据可以存储在边缘网关上。边缘网关同时支持复杂数据分析处理。

安全模块:该模块提供安全功能,如物联网设备认证、用户数据隐私保护等。

管理模块:该模块用于配置智能网关设备以及其管辖的物联网设备。

ACM SIGMOBILE主席、威斯康星大学麦迪逊分校(University of Wisconsin-Madison)教授苏曼·班纳吉(Suman Banejee)课题组在首届边缘计算国际研讨会(ACM SEC 2016)上就发表了一篇关于边缘计算平台的设计和实现的文章。文章完整地讲述了在Wi-Fi路由器上如何设计并实现一个可动态创建、安装和撤销边缘计算服务的平台ParaDrop[6],并向第三方开发者提供了在不同的路由器上部署并管理计算资源的API。由于网络节点的计算资源受限,ParaDrop平台使用容器(container)而不是虚拟机(Virtual Machine, VM)来提供更轻量级的虚拟化服务。在虚拟化服务的基础上,Wi-Fi路由器就可以同时运行多个边缘计算应用。在这个平台上,边缘计算应用被称为降落伞”(chute),代表了可以从端的服务器中将降落伞落到ParaDrop“平台上来实现远程、动态的部署和撤销部署在边缘设备上的应用。由于它提供了强大的功能和对开发者友好的API,这个平台已经吸引了很多第三方开发者在此基础上开发应用,比如Netflix影片自动在路由器上缓存、摄像头的远程控制与查看等。

综上所述,物联网云平台、边缘计算、联网家庭是目前物联网领域的热门研究领域,在近年来得到了学术界和工业界的重点关注。物联网平台是开发大量物联网应用的基础,边缘计算则是物联网性能优化的关键技术。基于此,在互联家庭/智慧家居领域中,存在巨大的物联网应用创新空间,蕴含巨大的市场规模。物联网如何改变人们的日常生活,让我们翘首以待!   

参考文献:

[1] Machina Research. IoT 2025: 27 billion devices spewing 2 zettabytes of data and generating $3 trillion[OL]. (2016-08-05). http://www.telecomtv.com/articles/iot/iot-2025-27-billion-devices-spewing-2-zettabytes-of-data-and-generating-3-trillion-13872/.

[2] Gao Y, Dong W, Guo K, et al. Mosaic: A low-cost mobile sensing system for urban air quality monitoring[C]// IEEE International Conference on Computer Communications (IEEE INFOCOM), 2016.

[3] Dutta P, Taneja J, Jeong J, et al. A building block approach to sensornet systems[C]// ACM Conference on Embedded Network Sensor Systems (ACM SenSys), 2008.

[4] Guan G, Dong W, Gao Y, et al. TinyLink: a Holistic System for Rapid Development of IoT Applications[C]// ACM International Conference on Mobile Computing and Networking (ACM MobiCom), 2017.

[5] 施巍松, 孙辉, 曹杰,. 边缘计算:万物互联时代新型计算模型[J]. 计算机研究与发展, 2017, 54(5):907-924.

[6] Liu P, Willis D, Banerjee S. ParaDrop: Enabling Lightweight Multi-tenancy at the Network’s Extreme Edge[C]// IEEE/ACM Symposium on Edge Computing (IEEE/ACM SEC), 2016.


购买后继续浏览全部内容
特别声明:中国计算机学会(CCF)拥有《中国计算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF允许,不得转载本刊文字及照片,否则被视为侵权。对于侵权行为,CCF将追究其法律责任。
发表评论
共:0  条评论
作者介绍
  • 浙江大学计算机科学与 技术学院教授

  • CCF 高级会员

  • 为物联网 系统、低功耗无线网络、物联网感知与 安全等

  • dongw@zju.edu.cn

  • 浙江大学计算机学院助理研究员

  • CCF专业会员,入选CCF青年人才发展计划

  • 物联网协议与测量、无线传感器网络、移动计算等

  • gaoyi@zju.edu.cn

  • 中国工程院院士。浙江大学 计算机科学与技术学院教授

  • CCF 会士

  • 嵌入式系统、计算机图形图像处 理、人工智能、大数据处理等

  • chenc@zju.edu.cn

意见
反馈