GoogleがIoT向けに開発している「Android Things」というOSをRaspberry Pi3にインストールしてみました。
Contents
実行環境
母艦 : Windows 10
実験機: Raspberry Pi3 Model B + Android Things
インストール手順
Android Thingsの公式ガイド(Raspberry Pi 3 | Android Things)を参考にしています。
Android Thingsのダウンロード
Android Things Consoleで規約に同意してGoogleアカウントをAndroid Things Consoleに関連付けます。
Android Thingsをインストールする製品の情報を入力します。
ダウンロードするAndroid Thingsのバージョンを選択してビルドします。
今回は最新版であるAndroid Things v0.5.1をダウンロードしました。
イメージの展開
ダウンロードした圧縮ファイルを展開します。
イメージファイルが4GBを超えているため環境によっては展開する際にエラーが発生するようです。
公式ウェブサイトではWindowsの場合は「7-Zip」を、Macの場合は「The Unarchiver」を推奨しています。
自分はWinRARでイメージファイルを展開してみましたが問題ありませんでした。
イメージの書き込み
Win32 Disk Imager download | SourceForge.net
Installing operating system images using Windows – Raspberry Pi Documentation
Raspberry Piの公式ウェブサイトで紹介されている「Win32 Disk Imager」をインストールして使用しました。
書き込むイメージと書き込み先のデバイスを指定して、「Write」ボタンで書き込めば、イメージの書き込みは完了です。
あとはFile Explorerから取り出し操作をして安全に取り外します。
Android Thingsの起動
Android Thingsを書き込んだMicro SDカードをRaspberry Pi3に取り付けて起動させます。
Raspberry Piの電源を入れると真っ暗な背景に「Android Things」というロゴが、その下にはMACアドレスとIPアドレスが表示されています。
Android Thingsの確認
母艦のWindows側からAndroid Thingsにアクセスしてコマンドを実行してみます。
準備
Android Studio と SDK ツールをダウンロードする | Android Studio
adb(Android Debug Bridge)コマンドを利用するので、必要に応じてAndroid Studioをインストールします。
またAndroid Studioがインストール済みでもPathに追加されていない場合があるので、コマンドが通らない場合はPathに追加します。
C:\Users\irail\AppData\Local\Android\sdk\platform-tools # adbコマンド C:\Users\irail\AppData\Local\Android\sdk\tools # 各種ツール
adbについてはAndroid Studioの公式ウェブサイトに詳細があります。
Android Debug Bridge | Android Studio
adbの確認
>adb version Android Debug Bridge version 1.0.39 Revision 3db08f2c6889-android Installed as C:\Users\irail\AppData\Local\Android\sdk\platform-tools\adb.exe
adbがインストール済みでPathも通っていることを確認できます。
Android Thingsに接続
> adb connect 192.168.1.36 * daemon not running. starting it now on port 5037 * * daemon started successfully * connected to 192.168.1.36:5555
Android Things側で表示されているIPアドレスと接続します。
接続済みデバイスの確認
>adb devices List of devices attached 192.168.1.36:5555 device
接続済みのデバイスが確認できます。
Shellの起動
C:\Users\irail>adb shell rpi3:/ $ ls acct dev init.usb.configfs.rc nonplat_seapp_contexts postinstall system bugreports etc init.usb.rc nonplat_service_contexts proc ueventd.rc cache fstab.rpi3 init.zygote32.rc oem root ueventd.rpi3.rc charger gapps lost+found plat_file_contexts sbin vendor config init mnt plat_hwservice_contexts sdcard vndservice_contexts d init.environ.rc nonplat_file_contexts plat_property_contexts sepolicy data init.rc nonplat_hwservice_contexts plat_seapp_contexts storage default.prop init.rpi3.rc nonplat_property_contexts plat_service_contexts sys
Android Thingsのシェルを起動できます。
ファイルの転送
adb push hoge.txt /sdcard/ # ローカルからリモートへ adb pull /sdcard/hoge.txt . # リモートからローカルへ
スクリーンショット
>adb shell screencap -p /sdcard/screenshot.png >adb pull /sdcard/screenshot.png .
スクリーンショットも簡単に撮れます。
Wifiの設定
rpi3:/ $ am startservice \ > -n com.google.wifisetup/.WifiSetupService \ > -a WifiSetupService.Connect \ > -e ssid <SSID> \ > -e passphrase <Password> Starting service: Intent { act=WifiSetupService.Connect cmp=com.google.wifisetup/.WifiSetupService (has extras) }
SSIDとパスワードを引数に与えて、LANケーブルを外し、再起動してみると「WiFi “***” connected」という表示に変わりました。