0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物联网操作系统应该怎么选?

candyling 来源:互联网 作者:佚名 2018-06-08 10:48 次阅读

物联网大致可分为感知层、网络层、设备管理层、应用层等四个层次。其中最能体现物联网特征的,就是物联网的感知层。感知层由各种各样的传感器、协议转换网关、通信网关、智能终端等终端设备组成。这些终端大部分都是具备计算能力的微型计算机。运行在这些终端上最重要的系统软件就是所谓的物联网操作系统。对于物联网发展而言,“碎片化”是主要的问题,其中芯片、传感器、通信协议、应用场景千差万别。比如无线通信标准,有Wi-Fi、BLE、ZigBeeNFC、ThreadNB-IoTLoRaSigfox、Gprs4G等。很明显,技术方案不统一,体系结构不一致,阻碍了物联网的发展,也局限了物联网的互联互通。但从已有产品和宣传信息来看,其基本的技术特征已初显端倪。概括来讲,物联网操作系统应具有以下技术特征:

1、跨硬件平台

物联网应用最重要的是必须跨硬件平台运行,即编写的物联网应用程序,能够在多种不同的目标硬件设备上运行,而不用重新修改甚至编译应用程序。如果开发语言不是跨硬件平台的,只针对一种硬件平台开发,当面对硬件配置各不相同和物联网设备的千差万别时,就需要针对不同的CPU类型,不同的硬件配置,分别进行开发和部署,这显然是无法满足物联网硬件碎片化特征的需要。由于物联网设备硬件配置千差万别,硬件与软件不匹配则导致的错误会大大增加。而采用跨硬件平台开发语言的好处,就是可以限制错误范围,不会因为应用程序层面的错误,而导致整个系统崩溃。安卓系统就是采用去跨硬件平台的构架,才能够在不同硬件配置的手机上运行相同的应用程序,大大降低了应用程序的开发工作量。

2、面向对象机制

所谓的面向对象,就是在编程的时候尽可能去模拟真实的现实世界,按照现实世界中的逻辑去处理问题,分析问题,更容易解决大型的复杂的业务逻辑。在物联网领域,面向对象编程方法,可以让程序员以更接近现实世界的方式来理解应用场景,建立程序开发模型,把每个物体都可以抽象为程序开发领域的一个对象,通过不同对象之间的消息交互,可以快速完成复杂的应用系统开发,同时也可以简化开发维护过程,降低开发成本,加快开发速度。相比传统的模块化编程,面向对象编程更适合物联网应用开发,也更具有价值。

3、高效的开发方式

C和C++都更接近底层设计,当你在需要对硬件进行非常精细的监测和控制时,他们都是很好的选择,但这也意味着所写出的代码移植性比较差。而Java是一种面向对象的开发语言,拥有非常好的移植性,编译器中几乎不存在任何硬件依赖性。为了实现对特定硬件部分的精准控制,Java需要借助硬件所支持的库并从中调用通用代码。从经济角度上看,Java是一门非常强大的语言,对Java代码的一次投入可以在多个不同的平台收获果实。Java同时也是当前人气最高的主流编程语言之一,被应用于成千上万计算机科学与电子工程技术项目当中。因此懂得Java的人才可以从市场上轻松找到。

4、开发组件丰富

物联网操作系统因为是对物应用场景的感知和控制,感知的方式千差万别,应用场景各不相同,同时哪怕最简单的物联网设备也要具无线和有线的联网功能,网络通信协议的多样性,云端接入的复杂性,都要求物联网操作系统具备丰富组件支持,把常用的传感器和联网协议和云接入方案,全部按照组件的形式开放出来,使用者不需要关心太多的物理层功能,专心进行业务逻辑处理,加快物联网产品上市速度。

5、占用极低的硬件资源

物联网是一个数以千亿计设备总量的市场,他的特点就是品种多,数量多,对硬件成本要求苛刻,这就要求物联网操作系统运行的硬件平台不能太高,要平衡开发效率和硬件成本的关系。

物联网碎片化特点必将导致物联网操作系统的多样性。短时间内,很难形成像智能手机Androidios两家独占市场的局面,以下简单介绍几款物联网操作系统。

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开发人员。这无疑是给物联网行业带来了巨大的增长潜力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    MiCO 基于微处理器的联网操作系统

    `MiCO 基于微处理器的联网操作系统介紹 :`
    发表于 01-26 10:42

    联网操作系统设计要领与资料集锦

    联网操作系统由内核、辅助外围模块(文件系统、图形用户界面、通信协议栈、各类常见设备的驱动程序等、集成开发环境等组成,基于此,可衍生出一系列面向行业的特定应用,
    发表于 06-05 16:13

    【Aworks申请】联网操作系统

    。为了解决这个问题,我决定一边学习一边开发一套全新的轻量级的操作系统。项目描述:我将这个联网操作系统命名为智慧核心,简称智核。该系统采用三
    发表于 07-09 11:04

    【NXP LPC54110试用申请】TreeOS联网实时操作系统语音识别底层驱动

    项目名称:TreeOS联网实时操作系统语音识别底层驱动试用计划:申请理由本人在联网领域有三年多的学习和开发经验,曾参与国内直流充电桩控制
    发表于 09-27 11:18

    十大联网操作系统介绍

    、中间件组件和开发者社区于一体的技术平台。RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的联网操作系统。ALiOS:面向loT领域的轻量级
    发表于 01-16 22:50

    主流联网操作系统的比较

    原作者:Orange Cai一、什么是联网操作系统近年来随着联网的发展,现在
    发表于 09-17 09:05

    联网有哪些开源实时操作系统

    、Linux、Android、iOS等操作系统,对任务处理能力要求比较高。联网操作系统一般地,对实时性控制要求比较高的应用MCU用不到RTOS,如电机控制等。而随着
    发表于 09-18 09:05

    开源管理模式将对Zephyr联网操作系统产生什么影响?

    数字将增长至754亿个。伴随联网设备种类和数量的增加,开发者需要找到与产品匹配的联网操作系统,并维护其不断更新满足多种应用的需求。这样的
    发表于 10-25 06:28

    关于联网操作系统控制相关疑问?

    朋友们,本人初学联网操作系统这块,有些问题,还想请教一下。描述:假如我早一块芯片上嵌入了操作系统,我现在在学习linux,嵌入系统之后想通
    发表于 12-23 16:58

    联网操作系统的新进展,不看肯定后悔

    文章介绍了以微软、ARM、Micrium、华为和庆科为代表的联网操作系统的最新发展情况,作者预计开源软件依然会在联网
    发表于 05-20 06:55

    联网为何需要开源操作系统联网开源操作系统有哪几种?

    操作系统是什么?操作系统通常具有哪些功能?什么是开源操作系统?开源操作系统的优势有哪些?联网
    发表于 06-16 06:37

    国产开源IoTOS:腾讯联网操作系统TencentOS Tiny的探索与实践 精选资料分享

    导语 |腾讯联网终端操作系统(TencentOS tiny)是腾讯面向联网领域自主研发的嵌入式实时
    发表于 07-21 07:20

    MiCO联网操作系统

    摘要电脑联网成了互联网,手机联网成了移动互联网联网
    发表于 08-20 06:06

    【有奖话题】首个除华为外基于OpenHarmony 2.0的联网操作系统诞生

    美的今天发布了一款:美的联网操作系统1.0,这是首个除华为之外的基于OpenHarmony2.0的联网
    发表于 10-14 18:51

    如何玩转TencentOS tiny联网终端操作系统

    如何玩转TencentOS tiny联网终端操作系统
    发表于 11-11 06:22