物联网操作系统应该怎么选?
政府采购信息网 作者:x286212455 发布于:2018-06-08 11:17:52 来源:电子工程网
投稿邮箱为:tougao@caigou2003.com,投稿时请附作品标题、作者姓名、单位、联系电话等信息,感谢您的关注与支持!一经采用,本网会根据您的文章点击情况支付相应的稿酬。
物联网大致可分为感知层、网络层、设备管理层、应用层等四个层次。其中最能体现物联网特征的,就是物联网的感知层。感知层由各种各样的传感器、协议转换网关、通信网关、智能终端等终端设备组成。这些终端大部分都是具备计算能力的微型计算机。运行在这些终端上最重要的系统软件就是所谓的物联网操作系统。对于物联网发展而言,“碎片化”是主要的问题,其中芯片、传感器、通信协议、应用场景千差万别。比如无线通信标准,有Wi-Fi、BLE、ZigBee、NFC、Thread、NB-IoT、LoRa、Sigfox、Gprs、4G等。很明显,技术方案不统一,体系结构不一致,阻碍了物联网的发展,也局限了物联网的互联互通。但从已有产品和宣传信息来看,其基本的技术特征已初显端倪。概括来讲,物联网操作系统应具有以下技术特征:
1、跨硬件平台
物联网应用最重要的是必须跨硬件平台运行,即编写的物联网应用程序,能够在多种不同的目标硬件设备上运行,而不用重新修改甚至编译应用程序。如果开发语言不是跨硬件平台的,只针对一种硬件平台开发,当面对硬件配置各不相同和物联网设备的千差万别时,就需要针对不同的CPU类型,不同的硬件配置,分别进行开发和部署,这显然是无法满足物联网硬件碎片化特征的需要。由于物联网设备硬件配置千差万别,硬件与软件不匹配则导致的错误会大大增加。而采用跨硬件平台开发语言的好处,就是可以限制错误范围,不会因为应用程序层面的错误,而导致整个系统崩溃。安卓系统就是采用去跨硬件平台的构架,才能够在不同硬件配置的手机上运行相同的应用程序,大大降低了应用程序的开发工作量。
2、面向对象机制
所谓的面向对象,就是在编程的时候尽可能去模拟真实的现实世界,按照现实世界中的逻辑去处理问题,分析问题,更容易解决大型的复杂的业务逻辑。在物联网领域,面向对象编程方法,可以让程序员以更接近现实世界的方式来理解应用场景,建立程序开发模型,把每个物体都可以抽象为程序开发领域的一个对象,通过不同对象之间的消息交互,可以快速完成复杂的应用系统开发,同时也可以简化开发维护过程,降低开发成本,加快开发速度。相比传统的模块化编程,面向对象编程更适合物联网应用开发,也更具有价值。
3、高效的开发方式
C和C++都更接近底层设计,当你在需要对硬件进行非常精细的监测和控制时,他们都是很好的选择,但这也意味着所写出的代码移植性比较差。而Java是一种面向对象的开发语言,拥有非常好的移植性,编译器中几乎不存在任何硬件依赖性。为了实现对特定硬件部分的精准控制,Java需要借助硬件所支持的库并从中调用通用代码。从经济角度上看,Java是一门非常强大的语言,对Java代码的一次投入可以在多个不同的平台收获果实。Java同时也是当前人气最高的主流编程语言之一,被应用于成千上万计算机科学与电子工程技术项目当中。因此懂得Java的人才可以从市场上轻松找到。
4、开发组件丰富
物联网操作系统因为是对物应用场景的感知和控制,感知的方式千差万别,应用场景各不相同,同时哪怕最简单的物联网设备也要具无线和有线的联网功能,网络通信协议的多样性,云端接入的复杂性,都要求物联网操作系统具备丰富组件支持,把常用的传感器和联网协议和云接入方案,全部按照组件的形式开放出来,使用者不需要关心太多的物理层功能,专心进行业务逻辑处理,加快物联网产品上市速度。
5、占用极低的硬件资源
物联网是一个数以千亿计设备总量的市场,他的特点就是品种多,数量多,对硬件成本要求苛刻,这就要求物联网操作系统运行的硬件平台不能太高,要平衡开发效率和硬件成本的关系。
物联网碎片化特点必将导致物联网操作系统的多样性。短时间内,很难形成像智能手机中Android和ios两家独占市场的局面,以下简单介绍几款物联网操作系统。
1. AliOS Things
面向IoT领域的轻量级物联网嵌入式操作系统,搭建云端一体化IoT基础设备。 基于Linux平台,提供MCU虚拟化环境,开发者直接在Linux平台上开发硬件无关的IoT应用和软件库,使用GDB/Valgrind/SystemTap等PC平台工具诊断开发问题。
2. Andorid Things
作为 Andorid 系统的一个分支版本,类似于可穿戴和智能手表用的Andorid Wear。使用一种名为 Weave的通信协议,实现设备与云端相连,并且与谷歌助手等服务交互,面向所有Java开发者。该操作系统能够支持一系列物联网设备的计算平台,其中包括英特尔Edison 平台,NXP公司的Pico平台,以及“黑莓派3”。
3. RUFF
采用JavaScript语言,专为硬件开发而设计,兼容多个平台的运行环境,不仅支持嵌入式Linux,还支持MCU单片机领域等。拥有大量的开发API接口,也能在Rapsberry Pi等常见开发板上运行。
4. mbed OS
由ARM开发,专门为运行ARM处理器的物联网设备而设计。包含了C++应用程序网络,公司也提供其他开发工具和相关的设备服务器。默认情况下,mbed OS是事件驱动的单线程架构,而非多线程(实时操作系统)环境。
5. 钛极OS
该系统基于Java语言进行嵌入式开发,将Java虚拟机移植到低资源MCU芯片中,由内核掌管底层硬件资源,实现软硬件分离,伸缩性非常强,可以在编译时,裁剪掉不需要的模块,来匹配低端硬件的需求。不仅可以更好的扩大物联网应用程序的运行范围,而且能够降低开发效率和开发难度,快速推动物联网生态圈发展。
从技术层面看,物联网操作系统仍处在研发阶段,至今尚无一个比较完善的可商业应用的物联网标准操作系统,物联网时代最大的问题之一就在于沟通,不同设备之间不同标准的沟通、软件与硬件的沟通。而采用Java来开发智能硬件的钛极OS实现了这种沟通的可行性,并保证了沟通的实效性和高效化。全球又有大量的Java开发者,根据Oracle和ARM估计,全球大约有45万的嵌入式软件工程师,而IT业约有900万的Java开发人员。这无疑是给物联网行业带来了巨大的增长潜力。
本网拥有此文版权,若需转载或复制,请注明来源于政府采购信息网,标注作者,并保持文章的完整性。否则,将追究法律责任。
上一篇:如何选择合适的嵌入式操作系统
下一篇:我国自主智能终端操作系统日趋成熟
网友评论
- 广西建通工程咨询有限责任公司关于来宾市兴宾区人民医院网络升级及异地容灾备份系统建设(项目编号:GXZC2018-G1-014-JTLB)的招标公告
- 长汀县区域心电网络系统采购事项招标公告
- 茂名市经济和信息化局茂名市电子政务网络机房升级改造工程ZX2018-HG009公开招标公告
- 云南省肿瘤医院移动互联网医院网络安全及运维管理系统采购项目公开招标公告
- 龙口市数字化城管网络运营及视频监控采购公开招标公告
- 汕头市金荷中学智慧校园,pon全光纤校园网络、校园网安全接入中心建设项目公开招标公告
- 滕州市智能交通安全系统网络租赁项目招标公告
- 北京市朝阳区现代教育技术信息网络中心2017年朝阳区职业学校信息化配套建设公开招标公告
- 芜湖职业技术学院网络工程学院软件测试实训室采购项目
- 安徽亳州新能源学校网络安全设备采购项目(标段编号:LXCG2017321)(三次)招标公告