Web of Things是啥与IoT(物联网)有何区别

简单地讲,Web of Things 就是结合物联网和万维网特点,让物联网无缝接入互联网的一套方法。
事情当然没有那么简单。
我们今天所说的“物联网”,还处在一个非常原始的阶段。我们仅仅是把传感器和单片机通过某种通讯方式连接在了一起,收集它们产生的数据,然后展现给人看,并允许人们对这些东西进行操作。包括今天我们所看到的“智能”家居设备、智慧城市、智慧工厂等,看起来我们真正地做到了“物联网”。我们动动手指头就能在外遥控家里空调开关、监视生产活动的各项参数、数据,甚至可以“大数据”一番,创造不错的收益。
很可惜,如果我们把“物联网”这个词拆开看,就会发现它联的“网”和我们平时所上的“网”完全是两个不同的东西。所以,今天的物联网与其说是物联网,不如说是物联局域网,因为它们是一堆功能孤岛,不能彼此之间互通共享。导致这个问题的原因有几个:
物联网协议和标准高度碎片化,参见维基百科:List of automation protocols现有标准生态封闭,大多数是轮子有些协议标准非常复杂(比如 ZigBee),它们试图大一统物联网世界,但是最终并没有做到这些通讯协议主要关注通讯技术,而较少关注应用层协议Web of Things是啥与IoT(物联网)有何区别

xkcd: 标准 (https://xkcd.com/927/) 世界上原本有 14 种互相竞争的标准。我们必须统一它们!于是世界上有了 15 种标准。想象一下这种场景:你买了一个小米智能插座,然后买了一个公牛的智能插座。你是不是就要被迫使用米家来控制一个插座,使用公牛的 App 来控制另外一个?如果你买了第三个厂家的插座,是不是又要安装第三个 App 来控制呢?看起来很沙雕,但是这就是现实。我相信已经有很多人想吐嘈这个问题了。
有人可能又会想,那米家的产品不是很多吗,我干嘛不小米全家桶,这样我只用一个 App 就能控制全家了,多好。这里的问题是,小米纵然布局了非常多非常细的智能家居产品,却总有满足不到人民日益增长的物质生活需求的时候。假设我是物联网开发者,我要让米家 App 能控制我的作品,那我又要去学习小米物联网平台的那一套理论,也是一种负担。
对于企业应用来说,这个问题就更加棘手。一个企业如果要布局智能化产品,那基本上只能吊死在一棵树上——只购买一家公司的解决方案。面对企业经常的离奇古怪的需求,方案公司又往往不能完全满足这些需求;更甚者做个几年倒闭了,企业又不得不全盘更换解决方案,花费不菲。就算有人能把两家公司的产品做到一起去,光是整合的价钱也不会少。
一些广泛应用的物联网标准实际上是一个巨大的封闭生态。至少对我一个计算机科学的学生来讲,有些物联网通讯协议简直就是另外一个世界(至今我仍然这么想),而且零星的,复杂、晦涩的文档我甚至要花费相当精力才能获取,甚至有些商业协议我可能并不能使用(我这么觉得)。
巨大且复杂的协议标准试图用它们体系内的可扩展性来统一物联网市场上的所有使用场景,但是迄今为止很明显没有哪个协议做到了这一点。我们消费者看到的仍然是四分五裂的、互不兼容的智能小玩意——音箱是音箱,灯是灯,门锁是门锁。小米的一些产品以及 Philips Hue 就使用 ZigBee 协议通讯,要做到用手机控制它们,你还需要安装一个网关,这个网关负责在我们所熟知的互联网和这些设备组成的“物联网”之间做一个转换。如果这些设备组成的“物联网”本来就和互联网是无缝连接的,这种对消费者来说不明所以的东西明显是没有存在的必要的;更何况如果我家里有十个设备使用不同的通讯方案,我是不是要装十个网关?
所以万维物联网(Web of Things,简称 WoT)作为物联网(IoT)的一个分支就出现了。万维物联网试图利用万维网(World Wide Web,WWW)今天所使用的被证明是非常可靠的通讯协议标准来解决掉物联网的碎片化问题。在万维网,有 HTTP 做设备之间的交互,有 XML、JSON 做结构化数据描述,有 TLS 做传输安全性保障,有 OAuth、JWT 做认证。这些标准久经沙场,已经是非常成熟、被业界认可的标准了,全球互联网都在用这些标准。为什么我们不把这些经验用到物联网上呢?


推荐阅读