物联网技术上面临的基本问题和操作系统设计

  时下,在操作系统界,有一个热得发紫的名词“物联网操作系统”,但物联网和操作系统究竟是什么关系,物联网将面临什么问题,操作系统又能为其解决什么问题呢?许多人都说协议是物联网的最大问题,但物联网需要哪些协议,什么问题能用协议解决,什么问题不能用协议解决,为什么有些协议永远不会有,本文和大家一起探讨上述问题。

  操作系统和其他电子产品一样,是个不断迭代、与时俱进的一个东西,由用户需求、软件积累、硬件成本等共同推动发展,反过来又激发需求、定义硬件。在物联网时代,大家都在谈论物联网操作系统,我们要分析物联网的核心问题是什么,操作系统对于物联网,能做什么,不能做什么,它如何影响操作系统设计。最后,我们会发现,物联网的核心问题中,大多数问题,操作系统会表示很无奈,无能为力,OS能做的事情很少,只能解决非常有限的问题。我们设计操作系统,要服务于物联网应用的话,就要分析清楚物联网面临的问题,要集中精力于解决核心问题,有的放矢,不要人云亦云地跟着感觉走。

  物联网,我们首先要解决的是“连接、区别、识别、沟通、操作”这五大问题,只有这些问题解决了,才有机会谈论安全性、易用性、低成本等问题。

  物联网是物体的社会,就是人类企图组建一个智慧的物体网络,来替人类服务,要发挥物体网络的智慧,其实跟人类社会网络有很多共同点。人与人之间,也存在连接、区别、识别、沟通、互动(也就是物联网说的互操作)这些问题。人和人之间,首先要通过见面、电话、信函等方式建立连接,才有机会交流吧。不同的人,必须能够区别开来吧,世界上没有完全一样的两张脸,就提供了区别的基础;有了区别后,你和你交流的对象,必须认识吧,你不能稀里糊涂就跟人走吧;能识别还是不行啊,必须能沟通啊,鸡跟鸭讲是不行的,得有相同的语言,配翻译也行。以上条件都具备了,才有互动(物联网中的互操作)的可能。以上过程,由于人具有高级智慧而变得简单,例如语言不通的人之间,还可以通过场景、手势、画画、眼神等来交流;对于只有非常有限的智慧的电子产品来说,会变得复杂和困难。

  物联网中,连接问题是最简单最基本的问题,也是当今操作系统支持最为充分的,业内很多人都在谈论的所谓协议,多数指的是通信协议。为什么说它简单呢?俗话说,能用钱解决的问题,都不是问题。这句话套用到物联网中就是,能用技术解决的问题,都不是问题。连接就是一个能用技术解决的问题,我们接下来会谈到,物联网面临的问题,大多数都不是技术能解决的问题,设计操作系统,要充分认识物联网面临的问题的基础上,把现阶段能解决的问题做到极致,尚不具备条件的,逐步地提出解决方案,或者为解决这些问题提供一些必要的支持。当前,连接的技术方面,虽然还有些纷扰,但也就WiFi、ZigBee、蓝牙等少数几个协议在竞争,已经算是进入了诸侯争霸时代,无论是连接还是组网方式,技术上都比较成熟。而事关设备识别和沟通方面,还一盘散沙呢。还有一些物联网开发平台,或者操作系统,发展自己的网络协议,企图形成技术准入门槛,进而垄断。巨头可以这样做,但我认为那是不可能成功的,为什么呢?Android、iOS能形成垄断的原因是什么?那是因为它足够复杂,一般人做不出来,而且手机操作系统作为应用分发和服务投送的平台,其生态系统上的APP厂商客观上不希望有太多平台,做一个APP,需要同时推出iOS、Android、win-mobile三个版本,已经够烦的了,再多几个操作系统的话,还不晕死,所以厂商会主动地选择少数几个最受欢迎的操作系统予以支持。所以在通用操作系统上,容易形成一将功成万骨枯的垄断局面。而对于物联网的接入协议来说,接入公网的技术已经成型,就是TCPIP,没什么好争的了,它是个公共协议,大家都能用;而局域无线网络,分两大类,一类是像智能家居一样,需要接入不同厂家的设备的,这种网络,必须使用统一的网络协议,一致性高的网络协议,不要搞成不同厂家的芯片互不兼容;另一类是不需要接入不同厂家设备的无线局域网,例如某些工业控制网。大多数无线局域网应用都比较简单,其所承载的业务也往往单一,就像开关插座不可能形成垄断一样,局部物联网的网络协议,也不太可能像IP网络那样,形成一个协议独大的局面,大家都有机会,更不可能形成少数几家开发工具垄断的局面,操作系统也会呈百花齐放的精彩。