Apache Mynewt 是一个开源模块化的实时操作系统,专门为内存和存储都极其有限而又要以极低功耗运行非常长时间的物联网(Internet of Things, IoT)设备设计。在关于 Arduino 与初创公司 Runtime 的一则 新闻 上,Mynewt被描述成“一个为32位微控制器(MCU)设计的组合式操作系统,将帮助可穿戴设备、电灯泡、锁、门铃等各式各样的嵌入式设备连上物联网。”
新闻称Mynewt解决了一个重要的物联网问题:“32位微控制器比平板电脑和智能手机使用的CPU更便宜,但上面无法运行Linux或者Android这样的Linux衍生品。物联网开发者需要可以运行在这些更小、更便宜的处理器上的Linux商用级替代方案。”
Eric Brown在Hackerboards.com上也 赞成 这一说法:“就象ARM公司的 Mbed操作系统 一样,新的Apache Mynewt将要为各种不能运行Linux的高端微控制器带来类似Linux的功能。”
Mynewt项目突出强调了开源实现的4.2版低功耗蓝牙驱动程序(Bluetooth Low Energy,BLE), 它 为物联网开发提供了包括支持IPv6/6LoWPAN和蓝牙智能网关的互联网连接等在内的新能力,有更低的功耗和更快的吞吐速度。
Mynewt代码是用C语言写的,在 github 上开源。项目遵守2.0版Apache许可协议。Rick Merritt 在电子工程专辑(EETimes)上这样描述了它的重要性:
Mynewt遵守2.0版Apache许可协议,与GNU通用公共许可协议不同的是,它不要求开发者公开他们在Mynewt上开发的产品的代码。
Apache Mynewt网站上有帮你开发新Mynewt项目的 详细文档 。在Mynewt的 快速启动 页面上就提供了两种方法帮你上手:
方法一:这是启动和运行Mynewt的简单快速办法。所有Newt工具和构建工具集都已经打包在了一个 全功能Docker容器 中,你只要在笔记本电脑或台式机上把它安装起来就好了。
方法二:你也可以自己在笔记本电脑或台式机上安装Newt工具、Mynewt操作系统模拟器和开发嵌入式软件的构建工具集(比如GNU构建工具集等)。
把软件安装好之后就可以 开发你的Mynewt项目 了。
Mynewt 0.9.0-incubating 是最新的Apache Mynewt发布版,包含扩展的硬件支持和硬件抽象层(HAL)。Runtime公司的Serling Hughes在一次非正式的 讲座 中公开了Mynewt开发的路线图:
v0.10 (2016年6月): 支持Wi-Fi和IP网络
v0.11 (2016年7月): 全面支持蓝牙功能
v1.0-GA (2016年10月): API兼容性开发,全面回归测试