mbed os系统有何优势?

信息 5036浏览 3评论

mbed os系统前段时候ARM高调发布了它的mbed OS开发平台,这在智能硬件圈里引起了一些轰动。mbed到底如何?是否真如宣传那么给力?

首先,相较于过去的开发工具和操作系统,mbed确实提供了一个相对更加系统和更加全面的智能硬件开发环境。mbed不但把当前智能硬件可能会涉及到的外设(红外、电机、蜂鸣器、陀螺仪等)基本都进行了标准化的处理,并且还提供了这些外设的原理、关键知识、示例代码等,这对于当前很多不太熟悉智能硬件的人来说,帮助都是十分巨大的。

其次,mbed还把很多与硬件相关的程序使用中间件进行封装,这使得操作硬件不必再特意关心底层驱动,开发者只需要调用友好接口就可以。这就好比Java封装后,比用C语言开发上手更快一个道理。因此利用mbed进行的开发工作会变得简单很多,而且由于很好的屏蔽了驱动层,mbed的跨平台开发也会显得更为方便,比如开发者可以很方便的从ST切换到freescale平台。

另外还有很重要的一点,相较于现有的其他开发工具,mbed除了可以使用类似与TurnOnMyLed这种交互很好的接口进行开发以外,还可以同时支持离线和在线开发环境,即可离线开发,也可以在网页上编辑,这不但可以让开发者将bin很方便的下载到设备上运行,还可以为开发者提供IDE本地编译环境,并且支持Arduio和Contiki工程,这让基于mbed的开发工作更加开放与灵活。

因此,相较于可以承载更多的功能和数据处理能力,我认为mbed推出的更大意义还是在于,进一步减少和降低了智能硬件的开发门槛,这可以帮助更多不熟悉物联网和智能硬件的开发者参与进来,并且还可以减少他们很多基础性的麻烦工作,让大家将更多的精力和重心聚焦在智能硬件自身的核心idea。

不过,mbed OS目前刚刚推出,生态系统建设还处在早期阶段,除了价格、能耗等技术问题,它的稳定性、成本、安全等问题都有待进一步验证。还有十分关键的一点就是mbed能否快速吸引到大批量的开发者和合作伙伴,这些都是mbed下一步将面临和需要解决的问题。

并且物联网(IoT)覆盖的范围很大,包囊我们生活的方方面面,各种各样的需求也有十分明显的碎片化特性,这就使得不同的客户需要不同的解决方案,客户需求决定任何一种开发工具或系统要想一统江湖都不大现实。

比如以Arduino为例,相较于mbed,它就显得更加简单易用,除了同样可以很方便地连接各类传感器外,在价格、能耗以及稳定性等方面的优势也是mbed暂时无法替代的。因此虽然我们都很希望在物联网领域有一个更加统一的标准和操作系统,尤其是作为已经在智能硬件和物联网领域耕耘四年的我们更是希望如此,但是这在短期会很难实现,因为物联网的多样性、丰富性和未来的巨大发展空间都会远远超出我们现有的想象。

你会发现,ARM在mbed平台上自己做了OS,看上去似乎并没有给Google留什么空间,这对在过去智能手机快速普及的几年曾大获成功的ARM+Google玩法产生一些改变。但就目前而言,mbed的价值更多还是体现在它是一个更加强大、更加灵活的开发环境和开发工具,mbed不但可以让智能硬件的开发变得更加简单,其强大的处理能力也给了自身足够宽广的未来空间。

作为操作系统来讲,mbed的优势在于更底层更基础的系统处理,Andriod则擅长上层应用、人机交互。因此在未来的物联网领域,虽然ARM和Google直接的竞争肯定是有的,但它们合作的空间其实更大。

就现在来看,mbed最大意义就是让智能硬件的开发进一步变得简单,我一直有关注他们的产品和进展,在机智云已接入的200余万台智能硬件,开始有部分开发者在用mbed了。最近跟智能家居新锐幻腾科技CTO吴天际聊天时,他对于mbed的易用性和可移植性就比较赞许,认为能帮嵌入式开发者不少的忙。

大家都说2014年是中国智能硬件元年,各种智能硬件和像mbed这样的技术的涌现,让我们很多人也都感觉到了真实的改变。等有一天整个物联网生态都变得完善起来的时候,人们将会在生活和工作的各个方面都充分享受到物联网技术所带来的巨大改善,人类的许多生产、生活方式也都将随之发生天翻地覆般的改变,我相信这一天已为期不远。

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (3)

  1. mbed os还不知怎样用。在mbed环境下,觉得和arduino没有区别。
    lzp20 4年前 (2015-03-07) 回复 编辑
    • mbed现在大家暂时都不是很了解,确实需要去研究下才知道。
      VeryARM 4年前 (2015-03-08) 回复 编辑
  2. mbed os 应用范围太小,资源匮乏
    亿凯工控安全网 4年前 (2015-04-03) 回复 编辑