我们发布了 Android Things Developer Preview 2 (DP2),为该平台带来了一些新功能并修复了若干问题。我们致力于为开发者提供定期更新,并计划大约每 6 到 8 周发布一个新的预览版。Android Things 是一个借助 Android 的力量开发物联网 (IoT) 产品的综合解决方案。
现在,任何 Android 开发者均可使用 Android API 和 Google 服务快速构建智能设备,同时依靠 Google 直接提供的更新始终保持出色的安全性。它包含一些熟悉的工具,例如 Android Studio、Android 软件开发工具包 (SDK)、Google Play 服务和 Google 云端平台。Android Things 支持模块化系统 (SoM) 架构,在此架构中,可以先将核心计算模块用于开发板,然后利用定制设计轻松扩展到大规模量产,而同时,您仍然可以继续使用 Google 的 Board Support Package (BSP)。
1. 新增功能和问题修复
根据广大开发者对 Developer Preview 1 提出的宝贵反馈意见,我们现在新增了对 Intel Edison 和 Raspberry Pi 3 的硬件抽象层 (HAL) 的 USB Audio 支持。NXP Pico 已包含对设备音频的直接支持。我们还解决了许多与外设 I/O (PIO) 相关的错误。其他功能请求(例如蓝牙支持)均为已知问题,团队正在积极修复这些问题。我们新增了对 Intel Joule 平台的支持,到目前为止,我们产品中的大部分计算功能均由该平台提供。
2. 本机 I/O 和用户驱动程序
许多开发者使用本机 C 或 C++ 代码开发物联网软件,而 Android Things 支持标准 Android NDK。现在,我们发布了一个内容库,用于提供对 Peripheral API (PIO) 的本机访问,以便开发者可以轻松使用现有的本机代码。
文档部分介绍了新的 API:
developer.android.google.cn/things/sdk/pio/native.html
示例部分演示了如何使用该 API:
- github.com/androidthings/sample-nativepio
Android Things DP1 的一项重要新功能是支持用户驱动程序。开发者可以在 APK 中创建一个用户驱动程序,然后将其绑定到框架。例如,您的驱动程序代码可以读取 GPIO 引脚并触发常规 Android KeyEvent,或通过串行端口读取外部 GPS 并将其反馈至 Android Location API。这样,无需自定义 Linux 内核或 HAL,任何应用均可将硬件事件注入框架。我们为各种常见的硬件接口(例如传感器、按钮和显示屏接口)保留了一个用户驱动程序存储区。开发者也可以创建自己的驱动程序,然后与社区分享。
3. Android Things 的 TensorFlow
Android Things 最有趣的功能之一是可轻松部署机器学习和计算机视觉。我们制作了一个备受期待的示例:
- github.com/androidthings/sample-tensorflow-imageclassifier
演示如何在 Android Things 设备上使用 TensorFlow。此示例演示如何访问相机、执行对象识别和图像分类,以及使用文本语音转换 (TTS) 功能朗读结果。提供针对 ARM 和 x86 预建的早期版本 TensorFlow 推理库,您只需在 build.gradle 文件中编写一行代码,就可以轻松地将 TensorFlow 添加到任何 Android 应用中。
在带摄像头的 Raspberry Pi 3 上识别犬种(美国斯塔福梗)的 TensorFlow 示例
【本文是51CTO专栏机构“谷歌开发者”的原创稿件,转载请联系原作者(微信公众号:Google_Developers)】