Android Things 物聯網應用開發初體驗
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。
Android Things @ Intel Edison
配置你的 Android 開發環境,老司機應該都輕車熟路了。需要下載安裝並更新最新版 Android Studio,在天朝這個區域網快速完成此事著實不易:
將 Edison 連線到 PC,通過 adb
驗證裝置是否可用,在
macOS 下,adb
工具存放在 ~/Library/Android/sdk/platform-tools/
$ cd ~/Library/Android/sdk/platform-tools/
$ ./adb devices
前往 Google 官方倉庫克隆示例,裡面有高手必經之路——“點燈大法”
$ git clone [email protected] :androidthings/sample-simplepio.git
Build → Run,一步到位,如果一切順利的話,Android Monitor 視窗將有 log 輸出,板子上的 LED 閃爍:
Android Things @ Raspberry Pi 3
安裝最新映象,準備一張 8G 以上容量的 Micro SD 卡,下載最新映象,解壓,根據開發機器的作業系統,選擇相應方式進行燒錄:
插上 Micro SD 上電啟動系統,可以外接 HDMI 顯示器觀賞其啟動過程:
配置 Wi-Fi,Raspberry Pi 3 不像 Intel Edison 可直接通過 USB 連線至開發機器,需要通過乙太網介面進行 IP 連線,之後可以配置 Wi-Fi 無線連線,這樣就不需要多餘的網線了。
# 先通過有線連線,獲取IP
$ ./adb connect <ip-address>
connected to <ip-address>:5555
# adb連線上之後配置 Wi-Fi
$ ./adb shell am startservice \
-n com.google.wifisetup/.WifiSetupService \
-a WifiSetupService.Connect \
-e ssid <Network_SSID> \
-e passphrase <Network_Passcode>
# 驗證是否 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 <wifi-ip-address>
connected to <wifi-ip-address>:5555
# 檢視裝置是否attached
$ ./adb devices
List of devices attached
<wifi-ip-address>:5555 device
Demo,這次不搞“點燈大法”了,Raspberry Pi 3 既然能夠外接顯示器,就來玩玩 UI,前往官方倉庫克隆程式碼:
git clone https://github.com/androidthings/sample-simpleui.git
假設你已經安裝好 Android Studio,直接開啟 sample-simpleui
工程,Run
一下即可將程式碼部署到板子上。
更多玩法
可以多多關注一下 Android Things 的官方網站或倉庫,未來應該會有更多好玩的東西出來: