Android Things 是 Google 最近推出的全新物联网操作系统,前身是去年发布的物联网平台 Brillo,除了继承 Brillo 的功能,还加入了 Android Studio、Android SDK、Google Play 服务以及 Google 云平台等 Android 开发者熟悉的工具和服务。任何 Android 开发者现在都可以利用 Android API 和 Google 服务轻松构建智能联网设备了,这就是 Google 说的:
If you can build an app, you can build a device.
目前,Android Things 已经能够支持 Intel Edison、NXP Pico、Raspberry Pi 3 等硬件平台,好像高通的 Snapdragon 也已经在赶来的路上了。
还有,Android Things 天生支持物联网通讯协议 Weave,可让所有类型的设备能够连上云端并与其他服务如 Google Assistant 交互,现在已经有一些 IoT 设备像 Nest、Hue、SmartThings、WeMo、LiFX 等前来支援 Weave。这些现在看来都不是什么新的概念,就因为觉得不是什么新的概念,估计这种概念也就已经深入人心、习以为常了。
混迹开源硬件圈,刚好玩过 Intel Edison 和 Raspberry Pi 3,有点套路了,现在就拿他们来体验一下 Android Things。
使用 Intel Platform Flash Tool Lite 烧录 开发者预览版镜像
配置你的 Android 开发环境,老司机应该都轻车熟路了。需要下载安装并更新最新版 Android Studio,在天朝这个局域网快速完成此事着实不易:
将 Edison 连接到 PC,通过 adb
验证设备是否可用,在 macOS 下,adb
工具存放在 ~/Library/Android/sdk/platform-tools/
$ cd ~/Library/Android/sdk/platform-tools/
$ ./adb devices
$ git clone [email protected]:androidthings/sample-simplepio.git
Build → Run,一步到位,如果一切顺利的话,Android Monitor 窗口将有 log 输出,板子上的 LED 闪烁:
安装最新镜像,准备一张 8G 以上容量的 Micro SD 卡,下载最新镜像,解压,根据开发机器的操作系统,选择相应方式进行烧录:
插上 Micro SD 上电启动系统,可以外接 HDMI 显示器观赏其启动过程:
配置 Wi-Fi,Raspberry Pi 3 不像 Intel Edison 可直接通过 USB 连接至开发机器,需要通过以太网接口进行 IP 连接,之后可以配置 Wi-Fi 无线连接,这样就不需要多余的网线了。
# 先通过有线连接,获取IP
$ ./adb connect
connected to :5555
# adb连接上之后配置 Wi-Fi
$ ./adb shell am startservice \
-n com.google.wifisetup/.WifiSetupService \
-a WifiSetupService.Connect \
-e ssid \
-e passphrase
# 验证是否 Wi-Fi 是否连接成功
$ ./adb logcat -d | grep Wifi
...
V WifiWatcher: Network state changed to CONNECTED
V WifiWatcher: SSID changed: ...
I WifiConfigurator: Successfully connected to ...
# 重启,撤掉网线,获取 Wi-Fi 连接后的设备 IP,可通过 HDMI 显示器获得或从路由器后台获得
$ ./adb connect
connected to :5555
# 查看设备是否attached
$ ./adb devices
List of devices attached
:5555 device
Demo,这次不搞“点灯大法”了,Raspberry Pi 3 既然能够外接显示器,就来玩玩 UI,前往官方仓库克隆代码:
git clone https://github.com/androidthings/sample-simpleui.git
假设你已经安装好 Android Studio,直接打开 sample-simpleui
工程,Run
一下即可将代码部署到板子上。
可以多多关注一下 Android Things 的官方网站或仓库,未来应该会有更多好玩的东西出来: