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

时下,在操作系统界,有一个热得发紫的名词“物联网操作系统”,但物联网和操作系统究竟是什么关系,物联网将面临什么问题,操作系统又能为其解决什么问题呢?

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

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

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

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

对于网络,无非是以下几种:

中心服务网,就是有一个数据和运算中心,执行各种各样的服务,如数据存储、分析、分发、查询等。

无中心网,任何终端都可以找到另一个终端,而无需通过任何服务器,从安全性角度来讲,它能避开不受信任的服务器,这是未来组网的发展方向之一。

固定局域网,例如一个固定位置安装的无线传感器网络,这种网络,往往内部组成一个mesh网,然后通过一个公共出口连接到公网,或者根本就不连接到公网。

流动区域网,例如智能交通,汽车到了哪一个路口,就和哪一个路口的信号灯联网;跑到哪条路上,就跟那条路的路灯联网,是否连入公网,并不重要。

连接也包含组网、维持网络连接、设备发现的问题,维持连接在物联网中是一个很重要的问题,为什么呢?因为物联网中有许多低功耗设备,这些设备绝大部分时间是休眠的,又要省电,又要不丢失连接,需要有点智慧。维持连接一般是用心跳的方式,对低功耗设备,合理的心跳间隔、快速唤醒、快速连接,连接完后快速返回休眠状态,就非常重要了。操作系统能做啥?只需要支持常见的无线连接如ZigBee、蓝牙、WiFi等,并实现组网,在低功耗上做足文章就可以了。至于几种连接方式,诸侯争霸最终谁执牛耳,没操作系统什么事,只能隔岸观火、且看风云。

谈到设备区别,就开始出现问题了,网络中的两个设备,你必须能够区别出他们是不同的个体,就像人的身份证号一样,每个设备也必须有一个身份证号,或者在你所在的区域网中有一个唯一的号码也行。这个唯一的号码,谁来分配呢,就成了问题,分配号码的人,就成了老大,谁是谁啊,凭什么你当老大?其实设备区别这个问题,很早就有人想解决了,IPV4有一个32位地址,当时觉得32位足够大了,网卡考虑的周全些,有48位MAC地址,也不够大。maxim公司的iButton以及802.15.4,都有一个64位的唯一地址,理论上,64位够用了,但maxim公司是一个企业,自然无法成为老大;802.15.4绑定了特殊的连接方式,也无法成为老大,WiFi节点、有线网络的MAC节点,都会站出来反对你。那只剩下IPV6了,将来,只要需要接入网络的物联网节点,都会有一个固定的IPV6号码。但802.15.4的64位地址,802.11n的48位地址也不会消亡,有许多设备根本就不上广域网,只要在其局域网内有唯一地址就足够了。当然,IPV6也有问题,万物联网时代,一个生产水杯的小工厂,怎么低成本地获得IP呢?又如何收回其IP呢?如果不收回,垃圾桶里,每天都会有无数的IP,即使128位的IP,也迟早会消耗完的。这个问题,操作系统能做什么?操作系统不需要做多少事,只需要支持IPV6就可以了。

说到设备识别,头痛的问题,就开始来了,就目前而言,并没有任何一个物联网方案能完美解决设备识别的问题。一个最简单的智能交通系统,要实现这样的功能,哪个方向有车来,就开哪个方向的绿灯,都有车来,就根据流量智能调整红绿灯周期。问题就来了,你如何判断路上过来的是一辆车,还是一条狗!东西向有车来,南北向跑来一只狗,绿灯给谁放行?这还是最基本的识别问题,只是识别物种,还没有要你识别个体呢。识别有两个层次,一是人和物之间的互相识别,当然主要是人识别物,另一个是物和物之间的识别。由于人的智慧,人会根据许多的参考条件来进行模糊识别,人工智能也可以这样做,但人工智能毕竟无法跟人比,只能在有限条件下,做简单的辅助识别。物联网不是要有智慧么?要为个体提供专属服务么?做不到识别,一切妄谈。有些朋友会想到,用它的128位IP,或者唯一的MAC地址,不就可以了么?对不起,地址只能起到区别的作用,是起不到识别作用的,除非你为地球上的每一类物体都进行分类,不同种类的物体,给分配不同的IP段。可行么?拉倒吧,不说自然界每天都在诞生的新物种,或者新发现的物种,就是在创客之都深圳,创客们每天新设计出来的新奇玩意,你都数不过来。自描述是一个办法,因为绝大多数的物联网应用,只是要求识别部分类别的物体,回到前面所讲的智能交通,只要所有的汽车,都用一句“I
am a car,。。。”来描述,就不会跟跑过来的狗弄混。当然,对于具体应用而言,它不需要识别全地球的智能设备,能够识别跟具体应用相关的设备就行了,可以自己定义识别规则,这纯粹是应用自己的事,操作系统真的没有太多事做,你只能做些辅助线的工作,例如把物体的身份证号和自描述语句传递给应用程序,仅此而已。

最大的问题是沟通,沟通也分为人和物沟通与物和物之间沟通,就是互相明白对方在说什么。如果是物与人之间沟通,就好办多了。举个例子吧,一个智能温控器,显示一个按钮,无论在按钮上显示向上箭头,还是三角符号,或者英文“up”,或者中文“上”,人一看,都能知道这是控制温度上升用的。但机器不行,你必须转化为编码,像“03”表示温度上升,“04”表示下降,其他厂家生产的主控设备,如何知道“03”而不是“08”表示上升,如何让所有厂家生产的温控器也用“03”表示温度上升,“04”表示下降,这就有很大的问题。能够用标准去统一千万种物联网节点输出的数据和接受的控制信息格式呢吗?你能穷举物联网中数以千万计的物体所需要输出的数据和接受的控制命令,一一予以编号么?即使现有的物体都编号了,新冒出来的物种如何及时编号呢?即使解决了编号问题,还有传输顺序呢?数据包里面如果有温度,有湿度,也有告警信息,这些东西在数据包里面怎么排列,都能搞出无数种组合出来。所以,根本不可能有标准去规范物联网中万千种物体的状态、测量、控制命令的格式,各智能硬件的生产厂家,一定是自由飞翔的。事实上,也确实有通过穷举网络中所有需要传输的信息的规范,例如CANOPEN的“对象字典”,每一个CANopen设备里,都存储了一部字典,其主要构成部分是通用字典,这样的话设备与设备之间就能直接进行对话了。ZigBee协议通过profile和cluster
ID编码,来列举部分ZigBee设备常“说”的话,使ZigBee设备之间互相听懂。但这两协议,都没有局限于穷举,都是开放的,CANOPEN允许在通用字典外,定义个性化字典,ZigBee也没有允许使用非标准定义的profile和cluster。无论是对象字典,还是profile,都只是在极小的一个领域中穷举,它所规范的信息,与物联网中的信息相比,沧海一栗而已啊。而且标准其实是很不靠谱的,所有标准,都是围绕一个非常小的领域进行,尚且无法避免人们阅读标准后的不同理解,不同理解导致的是不同的执行结果。变电站自动化,这么小的一个领域,有严谨规范的协议,全国只有几十个厂家,而且在国家电网的强力推动下,花了不下几十亿,几年时间,做过无数次互操作测试,才基本统一了设备间传输的信息格式,设备之间才勉强可以对话。

如果能解决设备识别和设备间“沟通”问题,那么智能设备间的互操作就水到渠成了,由于在“识别”和“沟通”方面,无法形成一个开放的、广泛适用的标准,许多物联网系统就另辟蹊径,尽可能绕过标准问题。同时提供智能硬件开发平台以及通用操作系统的中间件,或者开发一个跨界系统,使物联网中不同设备上使用相同的开发工具,例如liteOS,就提供了iOS和Android上的中间件,我则直接把操作系统设计成既适用于通用设备,又可以在智能硬件上跑。人与物之间的操作问题,可以通过远程终端的方案,完美地解决。传统的非智能设备,人和物直接的操作,是通过文字、图形、按键、触屏这些介质来完成的,在物联网世界里,无非是操作介质和执行操作的智能硬件之间,隔了个空间距离而已。手持的操作界面,就是一个显示和操作终端而已,所有操作,对于设备来说,就像在设备上直接操作一样,这样才能规避没有标准的实事。例如空调的控制命令,你就告诉空调,用户按了向下的箭头就好了,空调自己知道那是要降温。但如果手机把遥控命令翻译成命令码下发的话,因为没有标准,每家的命令码都不一样,怎么办?这不是踏进没有标准的泥潭了么?下面我们来谈一种不靠谱但广泛使用的方案,和两种比较靠谱的方案。先谈谈不靠谱的方案,现在有些智能硬件厂家,开发专门的APP让用户操作智能硬件,这是死路一条,为什么呢?就以智能家居为例吧,假设家里安装了海尔的智能冰箱,美的的智能微波炉,西门子的智能热水器,创维的智能电视,格力的智能空调,还有各种智能开关,温度、湿度传感器等等。你的手机要为每个智能设备安装一个APP,密密麻麻摆满你的手机,那些密集恐惧症的患者,非跳楼不可。所以,需要安装APP才能操作的物联网方案,都是不靠谱的。

两种靠谱的方案,是HTML和远程桌面。

远程桌面是一个很好的解决方案,手机只是一个远程显示终端,而不是一个功能终端,手机只充当节点的显示器和触摸屏,这就要求,节点上的操作系统,其gui必须支持远程桌面,该远程桌面必须具备以下特性:

1、极其省资源,必须能够在只有几十K内存的节点上运行,你总不能要求一个微波炉控制器拥有数M的内存吧。

2、极其节省带宽,有些节点的功耗非常低,低功耗意味着低主频,即使你用WiFi接口,其传输带宽也必然非常小,要在非常低的速率下实现远程桌面,是一个挑战。我做过测试,普通的非动画桌面,串口就可以流畅传输。

3、无论节点本身是否有显示器、触摸屏、按钮,都可以实现远程界面。

使用远程桌面后,你的手机只需要安装一个智能设备APP,点开该APP后,你家里的所有智能设备都会被罗列在里面。

远程桌面的缺点是,动画显示很困难,尤其是大面积的动画,有些消费品是有这个需求的,这种时候,就要使用HTML了。除了动画外,远程界面的优势还是很明显的。

首先是兼容性问题,浏览器的标准化程度其实不高,网银挑浏览器大家都知道了,就是准备这次视频之前,测试过几个直播网站,既挑浏览器,又挑操作系统,很令人失望。

其次是一致性问题,有许多智能硬件,本机是有显示界面的,比如冰箱,在家里,你可能习惯于直接在冰箱上操作,用冰箱本身的界面操控设备,在外面,你就用手机操作,界面跟冰箱上的界面完全一样,就像站在冰箱前操作一样,无须学习两套界面。如果冰箱上和手机上的界面不一样的话,你会抓狂的,远程桌面天生就是完全一样的。而使用HTML的话,你则要自己维护两份界面的一致性,不要小看维护这个一致性问题,搞过硬件的人就知道,维护原理图和bom表的一致性,是一个致命的工作;维护过两个以上并行软件版本的人也应该清楚,确保两个版本应该相同的部分是一致的,是非常困难的。

在工业控制上,才是远程界面真正体现价值的地方,本次视频时间有限,有兴趣的筒子,欢迎私下跟我交流。

以上是物联网的核心基础问题,其实物联网的问题远远不止这些,试举几个:

1、信息安全问题,斯诺登事件,使人无法相信网络,特别是中心服务器,过去,人们认为闭源可以确保安全,但斯诺登事件,使人们不相信闭源服务器的运维组织,反而开源更易于获得信任。无中心的可信连接,点对点通信可以绕开不受信任的云。

2、普通老百姓对于安全性的担心,更为直接些,例如,智能门锁会不会被人破解呢?黑客贼是否可以通过家里电器的开关情况知道何时家里没人而方便下手呢?家里的摄像机是否会被黑客控制?

3、使用寿命问题,长寿命的基础设施,长期维护和服务很困难,坏了谁来修,供应商倒闭了呢?比如智能门锁,普通门锁用几十年基本不会坏,而智能门锁则不然,电子设备普遍不能超过10年,大多数5年就坏了。

4、电子设备可靠性问题,智能灯泡的控制器坏了,开不了或者关不掉怎么办?

5、降低研发成本,操作系统需要提供提供易学易用的开发方法和开箱即用的解决方案。

稍微总结一下,操作系统究竟解决了物联网的什么问题。

连接:操作系统通过集成常见的网络协议栈,例如TCP/IP、ZigBee、蓝牙、WiFi驱动等,算是为解决连接问题作出了贡献。

智能硬件间的区别和识别:这两个问题,似乎真的跟操作系统没啥关系,基本上只能为同一厂家产品之间的“区别和识别”提供部分帮助。

沟通和互操作:物和物之间的沟通和互操作,操作系统基本上看热闹而已,同样只能对使用同一个厂商提供的开发工具开发的特定应用提供一些帮助;人和物之间的互操作,支持支持远程桌面和webserver的操作系统能够提供比较完善的帮助。

djyos主页:www.djyos.com,欢迎访问。

时间: 2024-10-01 04:25:27

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

智能家居的物联网技术

随着科技的发展,尤其是云计算.物联网的出现,智能家居的概念频频出现在各大媒介上,并进入公众的视线.那么,什么是智能家居呢? 智能家居通过物联网技术将家中的各种设备(如音视频设备.照明系统.窗帘控制.空调控制.安防系统.数字影院系统.影音服务器.影柜系统.网络家电等)连接到一起,提供家电控制.照明控制.电话远程控制.室内外遥控.防盗报警.环境监测.暖通控制.红外转发以及可编程定时控制等多种功能和手段.在我国,智能家居的概念出现于20世纪90年代,那时候只有深圳的几家公司开始从事相关的业务.从那时起

使用物联网技术实现无土栽培中的数据、设备监控

农业无土栽培物联网解决方案 一.概述 1.行业背景 无土栽培是农业现代化的重要组成部分.无土栽培以其高产量.高品质深受现代人喜爱.西方国家无土栽培技术日趋成熟,应用范围和管理水平也在不断提高,经济效益显著,我国的无土栽培技术与国际先进水平尚有差距,在具体管理中存在诸多问题. 2.行业问题 (1)无土栽培往往具有面积大,设备多的情况,往往难以关注到所有设备的运行状况: (2)无土栽培苗株对环境要求较高,室温.光照等需要精细控制.及时调整,但人的精力有限,无法全程兼顾: (3)营养液的储液池设计.安

【华为云技术分享】漫谈LIteOS-物联网操作系统介绍

[摘要] 本文主要对于目前物联网操作系统的定义以及主要特点进行了分析,最后介绍了几个常见的物联网操作系统. 1简介 提到操作系统,可能首先想到的就是苹果操作系统,windows,Linux,Unix,Android,IOS等,显然目前比较为人熟知的操作系统基本都是一些手机或者电脑端的操作系统.而随着互联网技术的不断发展,硬件的体积越来越小,物联网技术也迎来了爆棚式的发展.物理网不同于 互联网的不同在于后者更关注的是人与人的互联,而前者是更加强调人与物,物与物的连接,从而实现万物互联(IOT).显

物联网技术助力智慧农业机械实现精准租赁高效调度

智慧农业涉及的新技术有很多,比如遥感技术.地理信息系统.GPS全球定位系统.物联网技术.5G高速无线通信.各种传感器技术,通过数据分析和数据挖掘为主的大数据技术以及机器视觉和深度学习的人工智能技术等. 其中人工智能中的计算机视觉.图像识别及深度学习等人工智能技术实现对作物产量的预测.土地规划及病虫害防治:物联网技术通过传感器.摄像头等监测设备借助无线传感技术实现动植物远程监控及管理:大数据平台以天气.土壤.农作物.病虫害以及动物身体特征数据(红外)作为大数据基础对动植物生长情况进行分析.预测.预

程序员的口头禅:技术上无法实现

「技术上无法实现」这句口头禅,我在过去多年的程序员职业生涯中经常听见,甚至我自己就曾说过很多次.最近当我再次听到有人说出这句话时,就不禁思考起来,为什么程序员爱说这句话呢?为什么曾经我也时不时说这句话呢? 不知 当我刚开始工作的第一年,我在一家银行客户现场工作.当时要给银行的出纳管理部做一个系统,这个系统有个功能就是上传各个国家的高清真假币鉴别对比图片,然后银行的出纳和柜员就可以在系统上学习各国家纸币的鉴别方式了. 针对这些高清纸币图片,客户为了怕别人盗取乱用,就要求必须对对图片做加背景水印的功

如何从技术上预防抢票软件刷屏

对于很多外地的朋友来说,没到逢年过节,买张回家的火车票都是一件让人头疼的事.12306网站一到那个时候就会变得其慢无比,要多次登录才能成功,而且等到登录系统之后,回家的票很可能已经被抢光.大家只得花高价从票贩子手中购票.而票贩子之所以能顺利的买到票,是因为他们手中有各种高级抢票软件,有的甚至能在几秒之内抢光一节车厢的所有车票.12306网站想过很多方法来防止抢票软件抢票,如让验证码不断闪动,甚至让用户从图片中寻找指定的物品,但用不了几天,都被破解.那有没有办法能从技术上防止抢票软件抢票呢(在假定

刘强东新建三大事业群背后的野心,要在技术上战胜阿里巴巴

日前,刘强东发出内部邮件,对京东商城人事结构进行大调整.宣布组建大快消事业群.电子文娱事业群和时尚生活事业群,并分别任命王笑松.闫小兵.胡胜利为三大事业群总裁并升任京东集团高级副总裁. 关于刘强东的内部信,大家都把焦点聚在人事调整上,但何玺认为,我们更应该关注的是刘强东在内部信中对京东将坚决做"技术转型"的表态. 一.组织调整后,刘强东工作重心有转移 刘强东内部邮件显示,本次人事调整后,京东由原来的8大事业部升级为3大事业群. 1.新成立大快消事业群,由生鲜事业部.消费品事业部以及新通

共享单车物联网技术简析

共享单车自诞生之日起,便以如火如荼之势席卷全球,成为时下智慧生活最热点的名词之一,墙边街角,五颜六色的共享单车随处可见,每个人的手机里都或多或少的安装了几款共享单车的APP.要说其中的佼佼者,莫过于阿里扶持的ofo.腾讯支持的摩拜.以及口碑和骑行体验都挺不错的小蓝单车(可惜已经树倒猢狲散,成为过去式了.) 图1 市面上常见的共享单车 这里不去争论它们孰优孰劣,也不去纠结各自的前景如何,单从一个理工男的角度聊聊应用在共享单车上的智能锁及物联网技术原理. 先说摩拜吧.首先,每辆摩拜单车均配备了GPS

物联网技术简介(科普)

目录 物联网技术 概念 传感器技术 射频识别技术(RFID) 无线网络技术 物联网技术 概念 把所有物品通过射频识别(RFID).红外感应器.全球定位系统.激光扫描仪等信息传感设备与互联网连接起来,进行信息交换和通讯,实现智能化识别.定位.跟踪.监控和管理. 基本特点: 全面感知 随时随地采集各种动态对象 可靠的传送 实时传送 智能控制 感知层: 主要用于采集物理世界中发生的物理事件和数据,包括各类物理量.标识.音频.视频数据.物联网的数据采集涉及传感器.RFID.多媒体信息采集.二维码和实时定