IoT的局限性及WoT对其局限性的解决方式

IoT的局限性以及WoT的解决方式

By Dominique Guinard and Vlad Trifa

在本文中,摘自《搭建WoT》一书,我们定义了IoT及其局限性,并描述了WoT是如何帮助IoT构建应用层。

现在,用一句话来概括IoT的本质几乎是不可能的。虽然这个词本身比较新,但这个概念已经存在了数十年,因此IoT没有明确的界限。尽管如此,广泛认可的IoT定义不再仅仅是一个连接多媒体集合的页面,而是通过大量嵌入式设备扩展到自然的实时的世界。简而言之,我们可以为IoT提供的最简单的定义如下:

IoT是一个可以通过电子设备的各种网络接口进行通信从而被发现,监视,控制或与之交互并最终能连接到更广阔互联网的物理对象系统

二十年前,物体每天可以通过传感器感知世界,然后分析,存储或交换信息的世界只在科幻小说中存在。今天,由于在嵌入式设备方面取得的巨大进步,这些场景日益成为现实,这些嵌入式设备带入一个新东西到世界上:智能设备。智能设备是一个被下列方式数字化增强的物理对象,:

  • 传感器(温度,光线,运动等),
  • 执行器(显示器,声音,电机等),
  • 计算(可运行程序和逻辑),
  • 通信接口(有线或无线)。

这些设备通过实现全新的应用场景拓展了我们生活的世界。一堆强大小巧且便宜的电脑被放置在我们身边,可以用比以前更高的时空分辨率来监控物理世界并与之互动。

图1

图1. - IoT的应用场景。IoT是可以以任何形式连接到互联网的事物。小到一盒带有电子标签的橘子,大到一个智能城市,其间的所有被数字增强的物品构成了IoT。

更具体地说,IoT中的物品可以是非常简单的标记产品,例如:快递包装上的自动识别标签(条形码,二维码或NFC和射频识别标签)可以从航运中心跟踪到户; 也可以是更精细、复杂的无线产品,设备或机器,如安保系统,你的汽车或工厂装配线; 甚至是一座建筑或者一座城市。该网络部分仅仅意味着这个设备的服务或数据可以被其他应用程序通过现有的网络基础设施访问和处理,但并不意味着这个设备必须与互联网连接。所使用的通信网络可以是建筑物中的自动识别技术,短距无线电(例如蓝牙,无线传感器网络等)或本地Wi-Fi网络。

不幸的是,今天几乎不可能建立一个单一的全球物联网无缝沟通系统。IoT没有独特而通用的应用协议可以在当今众多网络接口中使用。说穿了,今天的IoT本质上是一个孤立,不能真正互相交流的。

为了使IoT成为现实,我们需要一个通用的应用层协议(认为是“语言”),以便设备和应用能够相互通信,而不管它们是如何物理连接的。与其从头开始创建另一个协议(尽管许多IoT项目已经开始并且正在进行 ),为什么不直接地重用那些已经广泛用于构建可伸缩和交互式应用程序(如Web本身)的东西?这就是WoT的全部内容:重用和利用现成可用且广泛流行的Web协议,标准和蓝图,以使更多(Web)开发人员可以访问由对象提供的数据和服务。

谈谈WoT

一旦人们希望将来自不同制造商的设备集成到单个应用程序或系统中,物联网的局限性就会暴露出来。为了说明物联网如何处理这些限制,我们来看看全球著名连锁酒店老板Johnny B.的生活。Johnny想数字化连接酒店所有房间内的所有电器,这样他只需在巴哈马游艇甲板上使用基于Web的“酒店控制中心”应用程序就能监控,控制和改进他的酒店。同时,这个系统还可以为他的酒店的每位客人提供更愉快和个性化的体验,如图2所示。

WoT应用场景:酒店互联

这个智能酒店系统的构建可能需要Alpha公司的电子门锁,Beta公司的安全摄像头和一个Gamma公司的控制应用程序来管理所有这些设备。这些设备和系统彼此连接和协作将需要进行大量的定制系统集成工作。Johnny还要聘请一家专业公司,并用巨资花费数月在一个庞大的项目上。这样一个复杂的项目的稳定性和积木塔一样(稍有差池就会酿成大错):漏洞和黑客攻击会使其瘫痪,对其维护和扩展将会成为噩梦。毫无疑问,Johnny在获得他想要的系统之前会资金断裂。

图2

图2 - Johnny想要在他酒店的所有房间内数字化连接设备。首先,客人可以通过控制房间(灯光,空调,娱乐等),预订酒店设施,订购食物和饮料(所有这些都在他们的手机上完成)使用各种服务。其次,这个系统将允许Johnny以集中和高效的协调和优化他酒店的方方面面,而不必使用各种独立的应用程序和工具。

如果Johnny热衷于DIY(“自己动手”),他也可以决定自己构建整个系统。他可以购买同一家公司的全套产品,因为他们就是被设计得能够相互配套共同工作。不幸的是,市场上的任何解决方案都不可能拥有他想要控制的所有传感器和设备。即使他可以找到这个完美的系统,用户界面不太可能达到平衡,尤其是在定制访问控制和可配置性方面。如果他还希望系统具有可扩展性,可靠性和安全性,那么您可以很容易地将建设系统所需的时间增加一到两倍。我们是否也应该为酒店客人开发app?所以你懂的...

Johnny的生活可能看起来很超现实。不幸的是,今天的IoT就是这样。我们知道这一点是因为在过去十年里我们有机会与许多Johnny合作。从想要将他们现有的安全摄像头与门禁系统相结合以创建更智能的安全系统的商店经理,到希望通过Web控制其灯光的LED制造商,什么情况我们都经历过。

图3

图3 - 在当今的IoT中有数百种不兼容的协议共存。这使得来自各种设备的数据和服务的集成非常复杂和昂贵。在物联网中,任何设备都可以使用标准的Web协议访问。将各种设备连接到Web使跨系统和应用程序的集成变得更加简单。

如果任何设备在不用考虑网络协议的情况下可以被任何应用程序轻松集成和使用,不是很好吗?如图3所示,这正是WoT所能做的。

对比当前的IoT和WoT

随着越来越多的东西将被数字增强,下一个合乎逻辑的步骤就是使用万维网生态系统和基础设施为IoT构建应用程序,从而有效地打破这种“一个设备,一种协议,一种应用程序”模式。向各个微型设备推送完全相同的技术是非常有趣的,这些技术可以帮助诸如Facebook或Google等现代网站扩展到数百万并发用户,而不会影响安全性或性能。最大限度地利用现有的和新兴的工具和技术将其应用于发展IoT场景的想法就是我们所说的WoT。

当IoT一直忙于解决网络问题时,WoT则完全依赖于应用程序级别的协议和工具。将任何设备映射到Web思维模式使WoT无需顾及设备使用的物理和传输层协议。正如您将在本书中学习的那样,软件或硬件的“桥”(通过代理或网关)使得几乎任何自定义协议或标准都可以链接到Web。

图4

图4 - WoT仅依赖于处理应用程序,服务和数据的OSI最高层(7)。运行在如此高的抽象层次上使得多个设备间的数据连接和服务在无需考虑实际使用的传输协议的情况下成为可能。相反,IoT不提倡特定的应用级协议,通常专注于OSI堆栈的较低层。

在简单的Web模型背后抽象底层协议的复杂性和多样性具有许多优点。就像Web已经成为互联网上分布式应用的全球集成平台一样,WoT促进了各种设备和与它们交互的应用的集成。换句话说,通过隐藏IoT中使用的各种传输协议之间的复杂性和差异,WoT允许开发人员专注于其应用程序的逻辑,而不必担心该协议或设备如何实际工作。

回到我们的智能酒店场景,如果所有设备(无论其制造商)都能提供标准的Web API,跨设备和应用程序的数据集那么事情就好办了,因为所有设备都会使用相同的语言。在这种情况下,酒店所有者(或系统集成商)只需要操心构建“酒店控制中心”应用程序,这个程序可能是一个混搭的Web- 一种单一的Web应用程序,它结合了来自各种来源的数据和服务。他不必费心学习他想使用的各种设备所使用的每种协议的细节[1]。这不仅会大大减少构建所需的时间,而且会将每次添加、删除或更新设备或服务时维护系统所需的工作量降到最低。

使这一愿景成为现实一直是我们在2007年创建的WoT社区 [2]和2011年推出的IoT平台EVRYTHNG的目标[3]。使用HTTP,WebSockets,JSON和其他Web标准或工具与嵌入式设备进行交互对我们来说非常合适。当时,这个想法看起来不切实际,甚至毫无意义,我们得到了我们公平的批评。但是,具有高级功能的最新嵌入式Web服务器只能使用8 KB的内存来实现。由于高效的跨层TCP / HTTP优化,它们可以在小型嵌入式系统上运行,甚至可以在智能卡上运行,例如信用卡上的芯片!IoT中的嵌入式Web服务器通常比访问它们的客户端(如浏览器或移动电话)的资源有限,同时JavaScript社区的大规模发展,因此将大量工作负载从设备转移到到客户端应用程序甚至云变得越来越容易。

图5

图5 - WoT有直接在嵌入式设备上使用现代Web标准的能力。通过将所有这些标准用于IoT场景,我们都可以构建新型交互式应用程序,并确保设备能够以最少的工作量与现代Web应用程序和服务集成。

在WoT中,设备及其服务完全集成在Web中,因为它们使用与传统网站相同的标准和技术。这意味着您可以编写与嵌入式设备交互的应用程序,其方式与您使用Web API的任何其他Web服务(特别是使用RESTful体系结构)进行交互的方式完全相同

REST是开发分布式应用程序的体系结构风格,是构建现代Web的基础。REST的本质是专注于创建易于重用的松散耦合服务,这些服务使用URI,HTTP和标准化媒体类型来实现。通过统一接口(HTTP谓词和响应代码)将服务从其应用程序特定的语义中抽象出来,可以轻松地构建松散耦合的服务,因为它为客户端选择最佳的交互表示形式提供了一种简单的机制 。这使得Web成为构建与事物交互的“通用”体系结构和应用程序编程接口(API)的理想基础。

在实践中,这意味着你可以像在网上冲浪一样(通过与其他相关事物的链接)通过Web浏览器开始与事物交互并探索WoT。然后使用HTML,CSS和JavaScript轻松检索、处理和显示从分布式传感器收集的实时数据。

与IoT中存在的许多协议和标准相比,Web背后的编程模型更易于学习和使用。值得一提的是,它使具有基本Web编程技能的任何人都能围绕不仅是多媒体内容更有有使用来自物理世界的实时数据来构建网站和应用程序。

图6

图6 - WoT允许开发人员和应用程序使用标准的HTTP / WebSockets请求与任何设备交换数据,而不用考虑设备如何连接。

虽然WoT强调使用Web标准在设备之间交换数据,但并不意味着规定如何在设备间物理连接。换句话说,设备可以但不必公开地连接到Web,并且可以像网站那样被任何人公开访问。WoT可以在局域网(例如,贵公司的内联网或家庭网络)中运行。

在某些情况下,设备具有公共URL并且可以通过Web公开访问是有意义的。例如,城市中由政府管理的交通或污染传感器。在这种情况下,设备也可以像任何其他网页一样通过搜索引擎进行爬取和索引,并允许用户从字面上谷歌物理世界,或收藏智能设备的URL并与朋友分享。通过使用诸如Twitter等服务的API、发布自己的博客或聊天记录,Web连接的对象也可以变得活跃并参与到网络的其他用户中。

使用IFTTT [4]或Node-RED [5]等服务,用户可创建与真实世界的设备(例如家中的传感器与云中的虚拟服务,例如SMS网关或天气预报服务)融合的小型逻辑规则。这种应用程序被称为物理混搭。在我的书(《搭建WoT》)中学习一些原理和工具的使用,这样你就可以在设备上创建物理混搭。

要真正理解为什么WoT代表了IoT演进的下一个阶段,我们首先需要了解这个领域迄今为止都发生了什么。是什么导致了连接设备的想法首次出现?如果连接设备的全球网络的愿景如此有希望,那它为何仍未出现?这些是我们在本书中试图回答的问题。

[1]自动化协议表:https//en.wikipedia.org/wiki/List_of_automation_protocols

[2] http://webofthings.org

[3] http://evrythng.com

[4] https://ifttt.com/

[5] http://nodered.org/

本文的版权归 百浪多息 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏钱塘大数据

【11大编程语言薪资排行榜】用空格缩进比用Tab挣得多?

作者:新智元 编程语言有很多,但并非每一种的需求或工资都相同。人工智能和机器学习走热,让 Python 从众多编程语言中脱颖而出。本文将综合各种信源,比较与不同...

3468
来自专栏嵌入式程序猿

freeRTOS-&OpenRTOS-&SafeRTOS

在很早之前我们就曾在公众号里给大家介绍过freeRTOS,并且还介绍过在NXP kenitis KV46上的移植,相信很多猿友应该还有印象,freeRTOS因其...

3456
来自专栏大数据文摘

业界 | GitHub、Glitch和社交编码的未来

1484
来自专栏云计算D1net

研究表明:直接连接到云端至少降低50倍的延迟

对于将公共云作为其数据中心解决方案的一部分的企业来说,网络延迟是一个很大的问题。对于某些企业而言,还没有考虑到这种延迟,直到他们已经承诺使用公共云,并迅速成为一...

3537
来自专栏Java架构

阿里离职后自我创业:从零到百亿互联网金融架构发展史总体介绍下面做详细介绍

2742
来自专栏飞雪无情的博客

Google Developers 中国网站发布

随着2016年的Google IO大会在北京召开,Google宣布了一系列对开发者有益的事情,最重要的莫过于Google Developers中国网站的发布,为...

1004
来自专栏速成应用小程序开发平台

微信小程序开发成本预估费用多少?后期需要升级维护费用吗?

自小程序2017年1月9号正式上线以来,不论是中小商家,还是各大品牌巨头,都在抢占小程序这波风口,打造属于自己的小程序。截至目前,全国正式上线小程序超过100万...

2.8K3
来自专栏张善友的专栏

OpenSource 的 Free是自由 非免费

在Csdn上看到一篇新闻开源软件新模式:免费软件不免费 ,文中一直在描述这样的概念“免费”,而没有说明Free这个词的真正含义。 开源(OpenSource...

2035
来自专栏腾讯云数据库(TencentDB)

腾讯智造,新一代云数据库CynosDB,“C”位出道!

CynosDB是腾讯云自研的新一代高性能高可用的企业级分布式云数据库。融合了传统数据库、云计算与新硬件的优势,100%兼容开源数据库,百万级QPS的高吞吐,不限...

4.6K10
来自专栏PPV课数据科学社区

如何快速学习Tableau Desktop

这个要慌,问题有点大! 严格来说我只是Tableau众多粉丝中的一员,而且是一个不怎么会Excel的。三年前一次偶然的机会在领导推荐下接触了Tableau,开始...

6527

扫码关注云+社区

领取腾讯云代金券