汉瑞科技------始终是您的最佳元器件合作伙伴!
 
 
 
IoT物物联网
来源: | 作者:hanrui | 发布时间: 2016-10-13 | 3259 次浏览 | 分享到:
在巨大利益的吸引下,很多公司对物联网(IoT)蜂拥而上。远到供应链半导体公司,发动开发了各种各样的硬件——为物体提供微小的微控制器单元(MCU),为集线器提供高能效的SoC,以及为云数据中心提供功能强大的加速器,这些都是IoT的底层支撑。
近到企业信息技术(IT)领域的巨人们开发了工作台,编程人员可以在其中编写云应用程序,融合来自物体的数据,做出响应,命令它们执行。中间则是现有的大量的有线和无线网络,努力实现这些新的不对称网络,把云、集线器和端点交织在一起。

在巨大利益的吸引下,很多公司对物联网(IoT)蜂拥而上。远到供应链半导体公司,发动开发了各种各样的硬件——为物体提供微小的微控制器单元(MCU),为集线器提供高能效的SoC,以及为云数据中心提供功能强大的加速器,这些都是IoT的底层支撑。

近到企业信息技术(IT)领域的巨人们开发了工作台,编程人员可以在其中编写云应用程序,融合来自物体的数据,做出响应,命令它们执行。中间则是现有的大量的有线和无线网络,努力实现这些新的不对称网络,把云、集线器和端点交织在一起。

然而,各方看起来并没有很好的沟通。
结果,系统开发人员发现他们自己面对IoT各种完全不同的技术、术语、假设,甚至是对IoT的看法。硬件孵化Lemnos实验室合作伙伴Eric Klein很热情的谈到,“这里有很多未被利用的机会。”但是当开发人员——他们的才能主要集中在应用上,他们希望能够应用到IoT中,尝试跨学科协同工作时,Klein叹息道,“为某一领域专家提供的工具阻碍了他们的进展。”

ARM® CTO Mike Muller在最近的ARM TechCon的主题演讲中列举了这类问题的一个例子——安全。“从工程师的角度想像一下遇到的难题。IoT要求没有安全设计经验的嵌入式设计人员保护价值1美元的MCU不受互联网上所有威胁的侵扰。”

没有人愿意IoT的应用开发仅限于一些博学者,只有他们同时掌握了应用算法、嵌入式h系统硬件和软件、短距离数据包射频、互联网协议,以及企业IT环境。因此,所有这些领域的供应商都扩展了他们的平台,为基本上只是应用程序专家的工程师建立单一的开发环境。在IoT的看法上缺少共同点,但这些平台看起来却在一种技术上不太可能的想法上统一起来:万维网。

网络成为共同语言

网络的确适合作为公共载体满足IoT上的所有特殊利益需求。网络开发比较简单,避免了处理复杂的底层系统,很少甚至不需要进行实际编程。网络的交换格式和协议本质上非常适合互联网,很容易通过各类网关和防火墙。网络以硬件无关的方式,在熟悉的目标上使用非常直观的比喻:表征状态传送(ReST)。

如果您没有参与网络开发,那么,这一术语可能不太好解释。ReST是客户端和服务器之间的会话模型(图1)。客户端可以向服务器发出四种主要申请:Get、Put、Delete,或者名为Post的Put变异。这是超文本传送协议HTTP中定义的标准方法。每一种申请都包括了统一资源标识符(URI——一般只是一个Web URL),来表示服务器上的某一项目、控制信息,如果需要,还会有数据串。数据通常是JavaScript对象标记(JSON)或者XML格式,这些都是人类可读的。

图 1.ReSTful会话支持客户端使用小规模HTTP方法,支持来自服务器的通用响应。

 

restful-http-methods

一个典型的ReSTful交换会以客户端发出Get申请开始,要求获得服务器上的某一URI。服务器以状态字符串回应,表示其响应——从“here you go”直至烦人的“404 Page Not Found”,然后是数据串。数据表示申请的URI的当前状态,以申请格式进行编码。

要重点指出的是,根据HTTP的无保证特性,服务器并没有保存以前传送的信息,或者客户端状态的信息。因此,服务器并不知道前面的申请成功与否,也不知道这是不是有故障的网络第35次传送同样的申请。

划分平台

ReSTful立刻吸引了来自IT世界的供应商。例如,Oracle的软件开发资深总监Robert Clark解释说,Oracle在IoT上的方法是把物体当做ReSTful端点。Oracle的体系结构基于一组云应用程序接口(API),为新的或者已有的企业应用提供多种IoT服务。服务的最底层为物体提供ReSTful连接。但是,Oracle支持您构建物体的虚拟模型,通过模型管理实际物体,收集数据,分析数据,把数据传送给命令和控制算法,或者传送给传统的企业应用程序。概念上,Oracle以近乎实时的方式把真实世界集成到了统一的企业数据池中。

并非只有Oracle一家是这样想的。Intel的Wind (以前的Wind River)提出了相似的概念,但是从嵌入式的角度出发,而不是企业和软件的角度。与Oracle一样,Wind提供了基于云的应用平台,通过ReSTful API与物体通信。但是在其边缘管理系统中,Wind把软件堆栈向下扩展到了集线器以及运行在物体上的嵌入式软件中——前提是物体能够支持。

微小物体

随着端点越来越小,问题的本质出现了变化。很容易想象交流供电的工业控制器运行android,通过10 Mbps以太网端口支持ReSTful连接。但是,让我们考虑一个更轻型的设备。

在他的ARM TechCon主题演讲中,Muller描述了一个正在进行原型开发的胰岛素笔。您打开盖,刺到自己身上,采一些血。笔分析采样,通过蓝牙向智能手机应用程序报告其结果。采样、分析和传输所需的能量都来自您打开盖这一动作——器件本身没有其他的电源。

微小的Cortex™-M0微控制器单元(MCU)在这种回收电源的支持下以非常小的占空比工作,并不适合作为网站主机——或者任何其他类型的HTTP终端。但是,ARM依然装配了一个平台,能够通过无线集线器匹配,把这种微小的端点放到基于网络的IoT中。

平台从ARM的微小mbed内核程序开始:含有单线程监视程序的服务包,传感器接口和无线调制解调器驱动,以及传送数据用的足够的协议堆栈。举一个例子,NXP在其集成了低功耗无线收发器的MPU射频系列MCU中使用了mbed。NXP首席产品应用工程师Ian Morris解释说,采用微小的轻型监视程序,mbed为集线器提供了Thread连接。Thread是一种多方协议,用于IoT端点。它使用了IEEE 802.15.4无线网格网的6LoWPAN协议,支持IP可寻址以及高级加密系统(AES)。

通过Thread连接物体和智能集线器,或者通过蓝牙连接智能电话,通过互联网,建立从支持HTTP连接的物体到设备的通路,还可以连接至云端。ARM认为这种异构连接不仅是支持ReSTful数据会话的方法,而且还是在微小物体和云之间划分大规模嵌入式操作系统的方法:操作系统即服务(图2)。

图 2.一个完整的嵌入式操作系统可以在非常简单的物体、集线器和云之间进行划分。

 

full-embedded-operating-system

几个问题

在您提出疑问之前,这看起来似乎很好。最先提出异议的是控制工程师。在他们的环境中,IoT必须支持传感器计算响应环路,其可靠性和固定延时必须有保证——至少是确定性的延时。但无论802.15.4网格网,还是6LoWPAN或者HTTP都不能保证服务达到这一水平。关键控制环路必须使用本地的确定性网络。物体只能通过云端获得非实时服务,例如,数据记录、用户接口,或者离线自适应监视和调整等。

一个非常有趣的研究领域是怎样结合本地简单的实时反馈环路和复杂得多的算法,例如,状态估算器、预测算法,或者机器学习等,通过非确定性的链接与控制环路分开。大计算量算法会在云端运行,可以访问企业规模的数据集。对于物体或者集线器而言,控制环路可以是本地的。而链接将很有可能是ReSTful HTTP链路。这一体系结构功能很强大,但是也存在稳定性和可靠性等切实问题。

控制工程师提出了他们的问题后,电源管理专家也有异议。首先,JSON或者XML等人类可读格式在墙插电源和带宽无限的环境中是非常方便的,但是在独立的电池供电或者能量回收无线系统中,几乎不可能使用。这一问题对于传感器而言更严重,传感器的负载可能只有几个字节,而占空比会很长。

让我们看一个简单的实例。即使是智能电话中鲁棒的电池也无法胜任IoT集线器随意完成的工作。在一次特别有趣的ARM TechCon主题演讲中,谷歌开发人员提议Colt McAnlis介绍了商场里智能电话的窘境。

他介绍说,“每隔10英尺您就会走到另一个蓝牙零售广告信标的范围内。信标会连接您的电话。它会让您的电话读取其GPS位置,通过4G网络连接至云端应用程序,报告其位置,以及您的购物历史,然后下载某些制作精美的广告和产品介绍。再过10英尺,会有另一个信标,另一次4G连接,更多的图片广告。在这种环境下,一块新电池能够持续工作一小时就很不错了。”

但是这些在Muller提出的IoT开发人员最关心的一个问题面前就显得无关紧要了:既不是性能也不是功耗,而是可信问题。IoT干线已经延伸到写字楼、家庭和汽车中——支线也渗透到了危险的机器中、安全系统中,以及人体中,安全越来越重要,再也不是可有可无的,而且很难实现。

目前源自网络的IoT是依靠会话层安全(TLS):端到端对称负载加密。TLS本质上对于欺骗和人在中间攻击是无能为力的。的确很难找到一种加密方法,微小物体支持它,也能够有效的抵御有组织的攻击。

最难的一个问题是怎样保护加密密钥。NXP的Morris观察到,目前有些芯片能够保护不受侧面通道的攻击,甚至能够保护安全密钥库。他提醒说,“扔掉一个烧坏的智能灯泡就意味着您交出了智能家庭的密钥。”安全智能卡一般会被保护不受物理攻击的威胁,除此之外,业界对保持密钥不受持续性攻击方面还没有太多的经验。

Muller指出在不同的环境下有同样的问题。ARM雇佣了专业服务来建立无线网络,为TechCon提供智能电话应用软件。ARM的一个黑客小组只花了几个小时的时间就完全攻破了网络。除了其他的脆弱点之外,他们还发现了无线集线器上有一个未受保护的加密密钥库。

细分的未来

这些问题并不会阻止IoT继续沿网络这种线路发展——实际上,成为物物联网(WoT,Web of Things)。但是技术问题,还有大公司但凡有希望建立他们自己事实上的标准都不会彼此合作,这些导致了细分。

我们将看到,新出现的WoT按照不同的企业而分散开,大公司会在其客户基础上打造概念上相似但是不具有互操作性的平台。我们还会看到按照功能进行细分,可靠性、确定性或者特殊的网络需求等问题都促使对网络进行分段划分。

不幸的是,我们将清楚的看到,整个WoT经过了一系列的灾难性攻击后,供应商单打独斗的工作以保护其产品安全并不能实现全系统的整体安全。这种未来是不可避免的。但是考虑到企业IT系统、所谓的安全政府系统,以及国家电网中那些尚未解决的安全漏洞,我们在这方面还缺少经验,那么,成功的攻击在未来也有可能是不可避免的。“最小公分母”是有代价的。