一年多以来,Google一直在为连接物联网(IoT)的设备使用Project Brillo操作系统(在较低级别的Android上构建),甚至在Ubiquity开发期间就此进行了课程和讨论。 2016年1月的峰会 。

2016年12月,谷歌发布了该操作系统的更新版本,该版本具有另一层,允许Android应用程序开发人员在创建连接的设备时使用精简版的Android。 尽管Android Things目前处于开发人员早期预览阶段,但它有望作为可快速创建原型并大规模支持用户的IoT平台。

在本文中,我将为您介绍Android Things的工作原理,并简要介绍一些如何使用它的示例。

什么是Android Things?

Android Things是Android的轻量级版本,可以将其刷新到不同的硬件原型板上,以轻松创建连接的物联网(IoT)设备。 这使得可能没有经验的开发人员可以使用嵌入式编码。 借助Android Things,Google还提供了一个库,您可以使用该库来构建可读取和写入板上不同引脚的应用程序,从而允许您连接不同的传感器和执行器以与世界互动。

那么,什么使Android Things与其他IoT原型解决方案不同? Google已经做了大量的工作来使特定的硬件原型板工作,并将继续提供更新以支持内置的蓝牙,无线,软件更新和其他功能。

这意味着,作为开发人员和创建者,您可以使用Raspberry Pi等开发板对IoT设备进行原型设计。 然后,当您准备将产品推向市场时,可以设计精简版的硬件以节省硬件生产成本。

当前设备和功能支持

在撰写本文时,Android Things支持三个原型开发板: Raspberry Pi 3 Model B , 具有Arduino 分支的英特尔Edison开发板和NXP Pico i.MX6UL 。

尽管这似乎很有限,但受限制的受支持硬件列表使Google可以完全支持这些常见的原型开发板,并为开发人员提供经过测试和认证的坚固平台。


除了前面提到的三块板外,Android Things还将很快支持Intel Joule 570x和NXP Argon i.MX6UL,从而为您提供了更多的硬件开发选项。


一旦有了原型开发板,您将想知道您可以使用它来构建什么。

虽然我们将在后面的教程中介绍刷新板并建立连接的项目的过程,但是您可以在Google Android驱动程序样本GitHub页面上使用Google提供的驱动程序为各种传感器和执行器找到示例项目列表。

一些驱动器示例包括伺服电机,脉宽调制(PWM)扬声器,按钮,GPS传感器和HT16K33支持的字母数字分段显示。


此外,您可以在GitHub上阅读这些驱动程序的源代码,以为数字传感器或数字/ PWM执行器创建自己的驱动程序, 例如我为HC SR501运动检测器传感器编写的该快速示例 。


要记住的一件事是,在撰写本文时,Android Things处于其开发人员预览版的第一次迭代中。 这意味着,由于它是用于测试和反馈的早期版本,因此某些功能当前不可用,或者在测试和构建平台后可能会出现故障。

目前,开发板尚未启用蓝牙通信,并且Android Things通用输入/输出(GPIO)类中不包括对简单模拟传感器的支持-尽管存在技术上的原因,并且您仍然可以使用SPI和I2C,如本AOSP问题中所述 。

由于该平台仍然是新的,因此传感器或其他硬件的驱动程序并不多,因此使用该平台的开发人员将需要创建自己的驱动程序,或者使用Android Things社区中其他开发人员当前可用或开源的驱动程序。

无限的可能性

构建物联网设备的最好的事情之一是,您不仅可以使用电话附带的硬件,还可以构建满足项目需求的复杂设备。

尽管您可能需要为自己的执行器和传感器编写驱动程序,但是鉴于该平台使用Java和Android基础,因此此过程仍然相对简单,因此无需挖掘低级语言即可使产品正常运行。 这意味着如果您决定制作一个使用运动检测和伺服电机移动的动画骨架,那么您可以!

除了能够支持新硬件之外,您还可以使用Android生态系统中有价值的部分。 使用Android已支持的功能(例如Camera API,Play Services和Firebase),您可以轻松构建可通过互联网连接的设备拍摄照片并将其附加到后端服务(例如Firebase Storage)的设备,或者通过Google Play服务的vision API分析图像。


结论

有了创建自己的设备并轻松与Google Play服务和其他后端服务(Firebase,机器学习服务等)进行交互的能力,Android Things有望提供一个易于使用的平台来快速创建新的连接设备可以投放市场或用于您自己的个人项目。

翻译自: https://code.tutsplus.com/articles/introduction-to-android-things--cms-27892

更多相关文章

  1. Android特色开发之传感器
  2. 转:搭建Android(安卓)UI Testing自动化测试开发环境
  3. Android自动化测试,5个必备的测试框架
  4. Android(安卓)8.0新特性
  5. Mono For Android(安卓)开发入门系列——目录
  6. Android(安卓)adb命令
  7. 在Linux中连接android设备
  8. Android(安卓)Mqtt客户端的接入
  9. Android中dp,px,sp概念梳理以及如何做到屏幕适配

随机推荐

  1. Android P按键静音流程
  2. android开发中@+id/和android:id用法的区
  3. Android adb shell执行mv等操作时,提示:Rea
  4. android 恢复出厂设置流程
  5. Android的全屏问题
  6. Android 动画效果 --Animation 动画(讲解
  7. Android(安卓)调用系统相册选择照片与调
  8. Android属性(property)机制
  9. android 借助AccessibilityService实现模
  10. 创建maven-android工程