物联网 *** 作系统的体系架构

物联网 *** 作系统的体系架构,第1张

物联网 *** 作系统内核、辅助外围模块(文件系统、图形用户界面、通信协议栈、各类常见设备的驱动程序等)、集成开发环境等组成,基于此,可衍生出一系列面向行业的特定应用。
物联网 *** 作系统与传统的个人计算机 *** 作系统和智能手机类 *** 作系统不同,它具备物联网应用领域内的一些独特特点,现说明如下。
物联网 *** 作系统内核的特点
1、内核尺寸伸缩性强,能够适应不同配置的硬件平台。比如,一个极端的情况下,内核尺寸必须维持在10K以内,以支撑内存和CPU性能都很受限的传感器,这时候内核具备基本的任务调度和通信功能即可。在另外一个极端的情况下,内核必须具备完善的线程调度、内存管理、本地存储、复杂的网络协议、图形用户界面等功能,以满足高配置的智能物联网终端的要求。这时候的内核尺寸,不可避免的会大大增加,可以达到几百K,甚至M级。这种内核尺寸的伸缩性,可以通过两个层面的措施来实现:重新编译和二进制模块选择加载。重新编译措施很简单,只需要根据不同的应用目标,选择所需的功能模块,然后对内核进行重新编译即可。这个措施应用于内核定制非常深入的情况下,比如要求内核的尺寸达到10K以下的场合。而二进制模块选择加载,则用在对内核定制不是很深入的情况。这时候维持一个 *** 作系统配置文件,文件里列举了 *** 作系统需要加载的所有二进制模块。在内核初始化完成后,会根据配置文件,加载所需的二进制模块。这需要终端设备要有外部存储器(比如硬盘、Flash等),以存储要加载的二进制模块;
2、内核的实时性必须足够强,以满足关键应用的需要。大多数的物联网设备,要求 *** 作系统内核要具备实时性,因为很多的关键性动作,必须在有限的时间内完成,否则将失去意义。内核的实时性包涵很多层面的意思,首先是中断响应的实时性,一旦外部中断发生, *** 作系统必须在足够短的时间内响应中断并做出处理。其次是线程或任务调度的实时性,一旦任务或线程所需的资源或进一步运行的条件准备就绪,必须能够马上得到调度。显然,基于非抢占式调度方式的内核很难满足这些实时性要求;
3、内核架构可扩展性强。物联网 *** 作系统的内核,应该设计成一个框架,这个框架定义了一些接口和规范,只要遵循这些接口和规范,就可以很容易的在 *** 作系统内核上增加新的功能的新的硬件支持。因为物联网的应用环境具备广谱特性,要求 *** 作系统必须能够扩展以适应新的应用环境。内核应该有一个基于总线或树结构的设备管理机制,可以动态加载设备驱动程序或其它核心模块。同时内核应该具备外部二进制模块或应用程序的动态加载功能,这些应用程序存储在外部介质上,这样就无需修改内核,只需要开发新的应用程序,就可满足特定的行业需求;
4、内核应足够安全和可靠。可靠性就不用说了,物联网应用环境具备自动化程度高、人为干预少的特点,这要求内核必须足够可靠,以支撑长时间的独立运行。安全对物联网来说更加关键,甚至关系到国家命脉。比如一个不安全的内核被应用到国家电网控制当中,一旦被外部侵入,造成的影响将无法估量。为了加强安全性,内核应支持内存保护(VMM等机制)、异常管理等机制,以在必要时隔离错误的代码。另外一个安全策略,就是不开放源代码,或者不开放关键部分的内核源代码。不公开源代码只是一种安全策略,并不代表不能免费适用内核;
5、节能省电,以支持足够的电源续航能力。 *** 作系统内核应该在CPU空闲的时候,降低CPU运行频率,或干脆关闭 CPU。对于周边设备,也应该实时判断其运行状态,一旦进入空闲状态,则切换到省电模式。同时, *** 作系统内核应最大程度的降低中断发生频率,比如在不影响实时性的情况下,把系统的时钟频率调到最低,以最大可能的节约电源。
物联网 *** 作系外围模块的特点
外围模块指为了适应物联网的应用特点, *** 作系统应该具备的一些功能特征,比如远程维护和升级等。同时也指为了扩展物联网 *** 作系统内核的功能范围,而开发的一些功能模块,比如文件系统、网络协议栈等。物联网 *** 作系统的外围模块(或外围功能)应该至少具备下列这些:
1、支持 *** 作系统核心、设备驱动程序或应用程序等的远程升级。远程升级是物联网 *** 作系统的最基本特征,这个特性可大大降低维护成本。远程升级完成后,原有的设备配置和数据能够得以继续使用。即使在升级失败的情况下, *** 作系统也应该能够恢复原有的运行状态。远程升级和维护是支持物联网 *** 作系统大规模部署的主要措施之一;
2、支持常用的文件系统和外部存储。比如支持FAT32/NTFS/DCFS等文件系统,支持硬盘、USB stick、Flash、ROM等常用存储设备。在网络连接中断的情况下,外部存储功能会发挥重要作用。比如可以临时存储采集到的数据,再网络恢复后再上传到数据中心。但文件系统和存储驱动的代码,要与 *** 作系统核心代码有效分离,能够做到非常容易的裁剪;
3、支持远程配置、远程诊断、远程管理等维护功能。这里不仅仅包涵常见的远程 *** 作特性,比如远程修改设备参数、远程查看运行信息等。还应该包涵更深层面的远程 *** 作,比如可以远程查看 *** 作系统内核的状态,远程调试线程或任务,异常时的远程dump内核状态等功能。这些功能不仅仅需要外围应用的支持,更需要内核的天然支持;
4、 支持完善的网络功能。物联网 *** 作系统必须支持完善的TCP/IP协议栈,包括对IPv4和IPv6的同时支持。这个协议栈要具备灵活的伸缩性,以适应裁剪需要。比如可以通过裁剪,使得协议栈只支持IP/UDP等协议功能,以降低代码尺寸。同时也支持丰富的IP协议族,比如Telnet/FTP/IPSec/SCTP等协议,以适用智能终端和高安全可靠的应用场合;
5、对物联网常用的无线通信功能要内置支持。比如支持GPRS/3G/HSPA/4G等公共网络的无线通信功能,同时要支持Zigbee/NFC/RFID等近场通信功能,支持WLAN/Ethernet等桌面网络接口功能。这些不同的协议之间,要能够相互转换,能够把从一种协议获取到的数据报文,转换成为另外一种协议的报文发送出去。除此之外,还应支持短信息的接收和发送、语音通信、视频通信等功能;
6、内置支持XML文件解析功能。物联网时代,不同行业之间,甚至相同行业的不同领域之间,会存在严重的信息共享壁垒。而XML格式的数据共享可以打破这个壁垒,因此XML标准在物联网领域会得到更广泛的应用。物联网 *** 作系统要内置对XML解析的支持,所有 *** 作系统的配置数据,统一用XML格式进行存储。同时也可对行业自行定义的XML格式进行解析,以完成行业转换功能;
7、支持完善的GUI功能。图形用户界面一般应用于物联网的智能终端中,完成用户和设备的交互。GUI应该定义一个完整的框架,以方便图形功能的扩展。同时应该实现常用的用户界面元素,比如文本框、按钮、列表等。另外,GUI模块应该与 *** 作系统核心分离,最好支持二进制的动态加载功能,即 *** 作系统核心根据应用程序需要,动态加载或卸载GUI模块。GUI模块的效率要足够高,从用户输入确认,到具体的动作开始执行之间的时间(可以叫做click-launch时间)要足够短,不能出现用户点击了确定、但任务的执行却等待很长时间的情况;
8、支持从外部存储介质中动态加载应用程序。物联网 *** 作系统应提供一组API,供不同应用程序调用,而且这一组 API应该根据 *** 作系统所加载的外围模块实时变化。比如在加载了GUI模块的情况下,需要提供GUI *** 作的系统调用,但是在没有GUI模块的情况下,就不应该提供GUI功能调用。同时 *** 作系统、GUI等外围模块、应用程序模块应该二进制分离, *** 作系统能够动态的从外部存储介质上按需加载应用程序。这样的一种结构,就使得整个 *** 作系统具备强大的扩展能力。 *** 作系统内核和外围模块(GUI、网络等)提供基础支持,而各种各样的行业应用,通过应用程序来实现。最后在软件发布的时候,只发布 *** 作系统内核、所需的外围模块、应用程序模块即可。
物联网 *** 作系统集成开发环境的特点
集成开发环境是构筑行业应用的关键工具,物联网 *** 作系统必须提供方便灵活的开发工具,以开发出适合行业应用的应用程序。开发环境必须足够成熟并得到广泛适用,以降低应用程序的上市时间(GTMT)。集成开发环境必须具备如下特点:
1、 物联网 *** 作系统要提供丰富灵活的API,供程序员调用,这组API应该能够支持多种语言,比如既支持C/C++,也支持Java、Basic等程序设计语言;
2、 最好充分利用已有的集成开发环境。比如可以利用Eclipse、Visual Studio等集成开发环境,这些集成开发工具具备广泛的应用基础,可以在Internet上直接获得良好的技术支持;
3、 除配套的集成开发环境外,还应定义和实现一种紧凑的应用程序格式(类似Windows的PE格式),以适用物联网的特殊需要。通过对集成开发环境进行定制,使得集成开发环境生成的代码,可以遵循这种格式;
4、 要提供一组工具,方便应用程序的开发和调试。比如提供应用程序下载工具、远程调试工具等,支撑整个开发过程。
可以看出,上述物联网 *** 作系统内核、外围模块、应用开发环境等,都是支撑平台,支撑更上一层的行业应用。行业应用才是最终产生生产力的软件,但是物联网 *** 作系统是行业应用得以茁壮生长和长期有效生存的基础,只有具备了强大灵活的物联网 *** 作系统,物联网这棵大树才能结出丰硕的果实。

工业物联网是指在工业中应用物联网技术,实现工业特有的价值增值的技术模式。

所有物联网都是为了实现万物互联,特别是物与物的互联,但是工业物联网又有其专有属性,原因是与工业物联网相对的消费物联网本身的联网密度、联网的实时性、联网物的异质化要求都不高,而工业物联网的要求主要表现在联网密度、联网实时性及联网异质化三个方面。

思考所有问题都需要从宏观到微观的细化过程,工业物联网也不能例外,我认为对工业物联网进行深度思考,需要从以下五个维度进行分析,否则将会要么带来一叶障目,要么带来好高骛远。

首先需要我们思考的问题是,工业物联网的价值、意义和目的是什么;第二个是工业物联网需要连什么的问题,这是一个范围的概念;第三个需要我们思考的是连入物联网的物的层级问题,也就是深度的问题;第四个需要我们思考的是实现物联的价值成本分析;第五个需要我们思考的是如何建设工业物联网。
互联网实现了计算机与计算机的连接,或者说实现了人与人的连接,这个连接带来了人的交互的便利,在这个基础上涌现出很多全新的、颠覆性的商业模式,例如,电子商务、即时通讯,社交媒体等等;而物联网将实现人与物、物与物的连接,同样我们也期望带来全新的、颠覆性的商业模式,甚至更进一步,期望带来人类生活、生产方式的全新的颠覆性的模式。

作为物联网主战场的工业物联网,人们对其的期许是在工业设计、制造、流通环节带来革命性的变革,为传统工业注入新的活力,提供新的势能,驱动工业在更高维度上发展、创新、乃至变革。随着计算、存储能力的提升,特别是大数据、人工智能的发展,任何行业对数据获取手段都提出了前所未有的要求。对数据获取手段的要求主要表现在四个特征,第一是高效性;第二是准确性;第三是实时性;第四是经济型;在当前技术能力下,能够同时满足这四个特征的就是工业物联网,首先,芯片技术已经发展到一个具有较强计算能力的MCU在美元以下,RFID芯片价格甚至已经到美分这个量级,使得工业物联网有了物质基础,同时满足了经济性要求;近三十年的通讯技术的发展,从模拟到数字,从简单调制到复杂调制技术的商用化,使无线通讯可以很廉价地覆盖几百米甚至数公里的范围,满足了数据获取的密集部署要求,同时由于工业物联网的永久在线的特征,使工业物联网满足数据获取的高效性、实时性要求;微电子技术在近年也发生了突飞猛进的发展,不论在价格上还是在进度上都有了长足的突破,满足了数据获取的准确性。

总而言之,工业物联网的出现是在以下几个条件成熟时涌现出来的不可逆转的趋势:

1、快速变化的市场需要数据支撑,产生了市场对数据获取的急切要求;

2、MCU的发展使得计算能力快速提升;

3、以调制技术为核心的通讯技术发展为联网建立的管道基础;

4、传感技术,特别是以MEMS为标志的微电子技术的发展给予感知世界提供的保证;

工业物联网不是规划出来的,是各种技术与需求发展进化的产物,是生活、生产、经济发展到一定高度后自然而然出现的,是在需求的驱动下,众多行业创新带了的自然产物。

通过工业物联网,可以把传统经济中不可数字化之物数字化,可以把传统不可数字化之行为数字化,可以把传统不可能变为可能,甚至变为容易获得、解决的方案。
这个问题是第一个问题的延续,如果不考虑经济性,那么我们可以说工业物联网连接一切可连接之物,但是,当我们在做一个务实的、有价值的方案时就不能不考虑可行性及经济性,那么工业物联网连什么呢?我们认为这是一个从哪里来到哪里去的问题,我们通过上面对价值、意义和目的分析可知,我们应该从目的反推,一切从目的出发,时刻盯紧企业需要弥补的最关键环节,例如,如果对量化OEE有需求,那么我们就要连接设备状态;如果要减少在制品,那么我们就要对在制品进行追踪;如果能源消耗对企业是重中之重,那么我们就要把能效物联化,等等。世界上不存在同样的两片树叶,同样地,世界上也不存在同样的两个企业,我们只能对企业本身进行深入分析,紧紧聚焦于企业价值,在保证经济性的基础上,确定工业物联网的实施范围方案。联网范围一个核心点是连入物的属性,也就是说我们通过分析连入物的属性与企业建设工业物联网目标的耦合度,决定需要实施工业物联网的广度。
通过分析工业物联网连什么后,我们得到了连入物的内容,接下来需要我们决定是对每个/每类连入物我们该数字化哪些属性,这里遇到工业物联网特有的一个障碍,需要连入工业物联网的物的可连通性问题, 特别是在设备互联时,可连通性表现的特别突出,例如,有的设备具有开放的通讯协议和可用的通讯接口,有的设备不开放协议等等,那么可连通性就是对方案供应商的很大的考验,我们的经验是有四种方案可供选择:

1、使用设备开放的协议;

2、使用设备自带的传感器;

3、添加新的传感器;

4、改变观察侧面及维度,使用全新的采集模式;

其中第四条,改变观察的侧面和维度,使用全新的连接方式是使用第一性原理,避开设备不开放协议或接口的阻碍,避开被设备供应商牵着鼻子走的方向,从本质上获取数据。例如:通过能效检测获得设备的使用状态,通过震动传感分析设备部件的故障、甚至是转速等,只要通过第一性原理从你需要的信息入手,而不是被动地从设备可以提供的数据入手来提供物联解决方案的方式。直接把我们需要的信息做为目标,观察除了直接连接设备外,我们还能够如何获得需要的信息,因为只有我们获得的数据能够与设备提供的数据在信息上能够“同构”即可。例如,我们可以在我们的物联设备上安装一个震动传感器,从传感器获得的数据中,我们即得到了设备是否开机,又得到了是否启动工作,同时还得到设备的转速。如果不用第一性原理,而是硬要跟设备互联,那至少要采集三个数据,并且未必设备能够给你。这就是典型的边缘计算的案例,边缘计算的计算规则一定要具有定制能力,可以说边缘计算一定是一个知识容器,可以方便地把客户、厂家,甚至是第三方的知识融入的容器,我们开发的支持脚本的设备已经具有了初步的边缘计算的功能,我们需要在这个方面继续加大支持力度。

所以,通过分析企业价值和物的可连通性,我们就可以明确定义需要连入物层级,也就明确了连入物的连接深度;

在连入物联网的物的层级中一个重要的概念是管理粒度,对于制造业来说,连入物的管理粒度大概分为如下几个层级:

1、传感级;

2、设备级;

3、产线级;

4、车间级;

5、企业级;

也就是说我们要在经济性可行的前提下定义数据获取的粒度。理论上讲,细粒度一定比粗粒度更好,更有价值,但是当加入成本分析后,可能并不一定粒度越细越好,需要按照各种制约因素找到一个平衡点。
价值成本永远在企业行为中持有权值最高的赞同或者否决的一票,通过前三项分析,我们仅剩下最后一个问题没有解决,这也是关乎价值成本的关键:管理粒度问题,我们到底需要在多细的粒度下进行管理?这带来了一个哲学问题:世界是不是需要黑盒子。什么意思呢?当我们确定一个管理粒度后,比管理粒度更细的信息将被隐藏在黑盒子中,这个黑盒子将成为我们分析深度或者认知深度的制约因素和约束条件。我们可以通过价值成本分析来找到这个平衡点,从而明确黑盒子的大小,并最终确定连入工业物联网的物的特性。
我们的期许是工业物联网建设的价值观,其他一起都是方法论。首先,我们在规划物联网时要本着既要有高瞻远瞩,又要有务实可行的精神。在思考黑盒子的大小时我们要高瞻远瞩,设计方案尽可能地以黑盒子尽量小为目标,而实施方案则按照价值成本分析选择合适的黑盒子的大小,也就是选择合适的管理粒度,从而保证投入收益的平衡,甚至我们可以把黑盒子尽量定义的大些,用以验证工业物联网的可行性,最大可能地降低工业物联网实施的风险。

总之,我们应该从以几个方案来确定工业物联网的建设原则:

1、期望获得什么结果?

2、期望用什么方式获得想要的结果?

3、需要信息基础提供什么?

4、工业物联网是否能够获得这些信息?

5、工业物联网如何获得这些信息?

6、获得这些信息的性价比如何?

7、回归分析,评估预期结果是否符合经济利益?

8、落地实施。

开发之间的重要问题

这些问题对物联网应用开发人员很重要。哪一种才是最好的方法,来构建一个“物联网应用”,它可以做很多事情,从远程控制家庭应用到对引擎改动机制造商发送通知,而这一需要维护服务的引擎有个能在世界任何一个地方?开发人员要具备怎样的技能?要从哪里先开始?

物联网应用开发的始占在于它本身。这些边缘设备通常没有屏幕(尽管并非总是如此)、处理器功耗低,搭载的是某种嵌入式 *** 作系统,使用一个或多个通信协议进行交流(通常是无线)。这些东西可能直接与网络、相邻事物和网络网关相连,一般外形就是一个盒子带一些闪闪发光的灯。

系统的下一层即集成层是软件和基础设施,运行在企业数据中心或云中,来从各种事物中接收和管理数据流。运行在集成层的软件通常也负责管理这些事物,必要时更新固件。

接下来就分析层,用于管理并处理数据。最后,还有一个终端用户层,这一层上应用程序用于用户之间交流。这些可能是企业应用、可能是网络应用,也可能是移动应用。

如果你正在想办法构建物联网应用,最后两层将会是你接触最多的。作为开发人员,你可能没有工具处理这些边缘设备或网关,或者没有适应集成层的能力。

这也就是为什么说构建应用程序要从已经就绪的“物联网平台”开始是有道理的了。这些平台通常包含集成层,这一层承载着以时间为序列输入的数据,以及分析层、自动精简配置,激活和管理功能,实时消息总线和建立其上的平台和应用之间的通信API。

现在市场上有许多公司都在提供这类平台。这有Xively、Mnubo、BugLabs和ThingWorx,他们都有能力与不同的制造商产生的大量“事物”进行沟通。

还有些比较有名的公司,如微软的智能系统服务,和企业软件厂商如SAP的物联网解决方案,这些厂商都在他们的产品中增加了物联网功能。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13297505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-10
下一篇 2023-07-10

发表评论

登录后才能评论

评论列表(0条)

保存