mbed OS 是 ARM 公司专门为 IoT 设计的一个操作系统平台,它支持所有基于 Cortex M 系列的控制器,mbed OS 是开源的操作系统,详情源代码请看:http://github.com/ARMmbed/mbed-os,更多介绍请看官网:http://mbed.com。
简单来说,Mbed 是一个开发平台,一个基于 ARM cortex M 系列的单片机开发平台。
Mbed 提供 C/C++ SDK,因此使用者可以专注于应用程序的设计,而不用过多关注底层硬件,这使得它用起来有点像 Arduino。
AndroidIoT/Brillo
[attach]20792[/attach]
Android Things 是谷歌为 Google Brillo 更改名称后的新版系统,后者是谷歌在2015年宣布的一款物联网操作系统。尽管 Brillo 的核心是 Android 系统,但是它的开发和部署明显不同于常规 Android 开发。Brillo 把 C++ 作为主要开发环境,而 Android Things 则面向所有 Java 开发者,不管开发者有没有移动开发经验。
Android Things 整合了物联网设备通讯平台 Weave,Weave SDK 将嵌入到设备中进行本地和远程通讯。Weave Server 是用来处理设备注册、命令传送、状态存储以及与谷歌助手等谷歌服务整合的云服务。
从硬件资源的角度来看,Android Things 属于土豪级的系统,动辄上百 MB 的内存显然不适合单片机,这也正常,因为它的主要竞争对手其实是 Windows 10 IoT。
顺便说一下谷歌秘密研发而又众所周知的 Fuchsia 系统,它没有基于 Linux 内核,而是基于一种叫 Magenta 的内核,是一种轻量级的内核,适用于嵌入式系统。虽然 Android 占了移动设备端的大半江山,但 Android 仍然存在不少问题,比如:碎片化问题严重,在大屏幕设备上表现糟糕,以及被很多用户诟病的卡顿与体验问题。虽然卡顿的本质原因是很多无良应用的后台互相唤醒,无节制的权限、内存使用等,但是这也恰恰反映了 Android 的底层架构设计是有瑕疵的。所以谷歌想着干脆抛弃 Linux,开发自己的 Fuchsia,同时还避开了 GPL。按照谷歌的性格,还真不是不可能,看看 Java 和 Kotlin 就知道了。我等码农只能寄希望于 Fuchsia 能像它的中文名那样,未来能大红大紫,造福人类吧。
Windows 10 IoT Core
[attach]20793[/attach]
Windows 10 IoT 是面向各种智能设备的 Windows 10 版本系列,涵盖了从小的行业网关到大的更复杂的设备(如销售点终端和 ATM),种类繁多。结合最新的 Microsoft 开发工具和 Azure IoT 服务,合作伙伴可以收集、存储和处理数据,从而打造可行的商业智能和有效的业务结果。在构建基于 Windows 10 IoT 的解决方案后,合作伙伴将在利用一系列 Microsoft 技术提供端到端的解决方案时发现更多机会。
由于 Windows 10 for IoT 是全新产品,它在用户群和经验丰富的开发者方面显然落后于其他许多物联网操作系统。话虽如此,这款操作系统大有潜力,如果你想在内部开发应用程序,更是如此。最终,那些习惯于使用 Visual Studio 和 Azure 物联网服务,针对 Windows 从事开发工作的人会被整套的 Windows 10 for IoT 方案吸引过去。
WatchOS
[attach]20794[/attach]
说了那么多巨头,怎么少得了苹果公司呢,苹果在桌面端有 OS X,在移动端有 iOS。虽然苹果目前还没有在物联网市场扮演重要的角色,但苹果已利用了其操作系统平台的变种,开发了多款物联网设备,比如苹果电视、CarPlay(借助 BlackBerry QNX)和苹果手表。
Ubuntu Core 16
[attach]20795[/attach]
Ubuntu 已经向外界透露了它们对于物联网的最新想法,那就是让 Linux 成为让物联网更智能和可扩展的核心。Snappy Ubuntu Core 是面向智能设备的最新平台,其承诺可以运行存储在本地或依赖于云端的相同软件。显然,后者的最大好处就是可以让使用者避开频繁的定期升级。
Ubuntu Core 团队意识到,“联网设备”的数量将会激增。虽然手机和计算机的定期维护和更新已深入人心,但是对于洗衣机、温控器、以及智能开关来说,大家却很容易忽略掉它们。
此外,在频发的黑客攻击面前,联网设备的安全性也需要慎重考虑。如果没有最新的安全补丁和固件修复,那么必将会给联网设备的使用者留下巨大的隐患。
更重要的是,Ubuntu Core 既可以在设备上、也可以依赖云端而运行。并且无论他们运行于 ARM 或 x86 平台,开发者都会得到相同的 API 和安全更新。
截至目前,Ubuntu 母公司 Canonical 已经拥有了21家合作伙伴,我们希望这一数字可以在今年迎来更高的增长。
TRON
TRON 是一项开放式的实时操作系统内核设计项目,它是”The Real-time Operating system Nucleus”(实时操作系统内核)的缩写。该项目由东京大学的坂村健教授于1984年发起,宗旨是为全社会的需要开发一套理想的计算机结构和网络。
担任日本东京大学(University of Tokyo)教授的坂村一直是个跳脱框架的思想家、大胆敢言,并热烈支持下一代运算架构;他的大部分学术生命都投入于开发TRON,以及在日本推广普及、无所不在的运算之概念。坂村表示,他所构想的“智慧物联网(Intelligent Object Network)”──类似于当红的物联网──可追溯至1987年他所开发的TRON目标之一。
TRON 在国内的知名度不高,但其实它的应用非常广,有兴趣的可以搜索相关文章进行了解,比如《TRON 伴随生活的另一个操作系统世界》。
Ostro 操作系统是特别为物联网建造的操作系统,开发者可以马上用,节省了很多时间,功能也非常完善,包括覆盖全面的连接标准,支持包含蓝牙、WiFi 和 NFC 等连接方式,并且支持多种如 IoTivity 的设备对设备互联互通标准;包含安全启动、强制访问控制、加密标准和软件安全更新协议等安全措施;先进的设备管理以及直观的开发工具。
是一套基于 Linux 并且为物联网智能设备特别量身订做的开源操作系统,它可以为任意数量的物联网使用案例特别定制功能,包含 Linux 参考设计、软件包安装和管理机制。除此之外,它的开发工具可以让设备上的连接潜力扩展到最大。Ostro 项目不但提供管理众多设备的工具,最重要的是,它能保障物联网世界安全无虞。
Ostro 操作系统的适应性非常强,既可直接用于受支持的设备,也可以按照需求进行定制,而且开发环境提供了多种语言选择(Native (C/C++) 和 Node.js),可以轻松找到新设备的驱动程序,并充分利用 Linux 社区的所有资源。最后,它还提供了从引导/内核到中间件和应用的自上而下的安全性选项。
Ostro 操作系统包含易用的工具,让开发和原型制作都变得容易。它利用 Yocto 项目的工具组环境来进行操作系统和应用包的配置,开发者可以先创建出一个理想的配置再根据需求修改。当使用基于 Linux 的开发工具时,对于既有的 Linux 和安卓开发者,完全不需要额外的学习过程,开发者可以直接用交互编译工具来生成程序。
官方网站:http://ostroproject.org/
TinyOS
Tiny OS 是 UC Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专为嵌入式无线传感网络设计,操作系统基于构件(component-based)的架构使得快速的更新成为可能,而这又减小了受传感网络存储器限制的代码长度。Tiny OS 是一个具备较高专业性,专门为低功耗无线设备设计的操作系统,主要应用于传感器网络、普适计算、个人局域网、智能家居和智能测量等领域。
Tiny OS的如下特性决定了其在传感器网络中的广泛应用,使其在物联网中占据了举足轻重的地位。