这是 Android Things 专题的第二篇,我们介绍一下硬件。***篇入门篇请戳这里。
经过 2016 年 Brillo 首批开发者的反馈和市场调研,为了照顾广大 Android 开发者的习惯,形成了现在的 Android Things 操作系统,完全兼容 Android Studio 的开发环境。
今年 2 月 8 日,Google 发布了 Developer Preview 2 (DP2) 版,以后大概会每隔 6 到 8 周更新一个版本。DP2 版本做了如下改进:
- 开发板添加了 USB audio 支持,并且集成到系统的硬件抽象层 (HAL) 中。
- 解决了 Raspberry Pi 3 上的一些与硬件相关的问题。
- 添加了对 Intel Joule 开发板的支持。
Android Things 现在支持 4 款开发板:Intel Edison 开发板,Intel Joule 开发板,NXP Pico i.MX6UL 开发板和 Raspberry Pi 3 开发板。这四款开发板兼顾了 ARM 和 X86 架构,并且也兼顾了 32 位和 64 位的系统。所有的开发板都支持 Wi-Fi 和蓝牙。
我们就来看看这四款开发板的真面目:
x68 系列有两块开发板支持 Android Things,Intel Edison 和 Intel Joule,Joule 是 2016 年才出货的芯片,是***的嵌入式 CPU。
Intel Joule 比起 Intel Edison 开发板,带来了一些新的特性,除了主频和内存的性能提升之外,还有高清视频处理接口。其中 HDMI 用于高清显示输出,值得一提的是,HDMI 本身是支持音频信号的传输的,后续可扩展哦。现在用 USB Audio 解决了音频的问题。而 CSI-2 是 MIPI 联盟的 CSI 协议的第 2 版,这也是比较先进的技术了。Wi-Fi 这一块,802.11ac 是支持双模的,在 2.4G 和 5G 两个频段都可以使用,蓝牙协议也有升级。而 USB 的支持,更是一大亮点,USB3.0 OTG 也支持起来了。
综合 x86 结构下的两款开发板,我们会看到,Android Things 在 Wi-Fi,摄像,音频方面有全方位的支持。也就意味着,Android Things 可以解决音频、视频以及其它数据输入的问题。
我们再看看ARM的两款开发板的对比:
ARM 的开发板,也有音频和视频的支持了,并且都有有线网口的支持。也就是现在我们需要的各类数据传输途通道,Android Things 都可以一口通吃了。
由于 Android Things 的内核还是基于 Linux 内核的,支持 MMU 和多任务处理。我们知道,在 ARM 的体系结构中,Cortex-M 系列的 CPU 是不支持 MMU 的,一般用作节点或者端点设备。Android Things 支持 Cortex-A 系列的 CPU,可以用于大多数节点,或者是路由,网关相关的节点。
Android Things 与 Android ***的区别在于,Android Things 是为物联网量身定制的通用系统,主要支持传感器,外设的相关程序开发。但是比起起传统的嵌入式开发来说,更容易一些,基本封装了与硬件相关的接口,使用软件开发者调用硬件更容易。即便你只是稍微了解硬件,也能够完成物联网应用的开发,Android 开发人员,可以更快的适应 Android Things 的应用开发。
从 BSP 层面来说,Google 管理了 BSP 相关的代码,并且做了 OTA 的支持,保证代码的可靠性和安全性。
【本文是51CTO专栏机构“谷歌开发者”的原创稿件,转载请联系原作者】