akimachoのはてなブログ

ICTとデザインのためのブログ

Raspberry Pi 3でのAndroid Thingsのインストール方法

はじめに

Raspberry Pi 3でAndroid Thingsを試してみました。今回はそのログです。いろいろ調べるとコマンドラインでThingsのWiFi接続等のセットアップもできるようなのですが、マウスとキードードを使っても設定ができるのでそちらを紹介します。

前にQiitaでAndroid Thingsの概要とKotlinでのLチカという記事も書いたので、Thingsについて知りたい方はこちらをどうぞ。

必要なもの

  • Raspberry Pi 3 Model B
  • 8GB以上のmicroSD
    • SDカード変換アダプタ付き
    • MS-DOS(FAT)としてフォーマットしておきます
  • USBケーブル Type-B
    • 電源につなぐために使います
  • HDMIケーブル
  • HDMI出力可能なディスプレイ
  • マウス
  • キーボード
    • WiFiの設定を行うために使います

ちなみにmicroSDは以下のシリコンパワーのもので正常に動きました。

動作確認環境

インストール手順

  1. Andorid ThingsのイメージをmicroSDに書き込む
  2. RaspberryPi上でThingsを起動させWiFiの設定を行う
  3. PCからThings端末へ接続する
  4. Android Studio上で開発し、Thingsで実行させる

1. Andorid ThingsのイメージをmicroSDに書き込む

まずhttps://partner.android.com/things/console/u/0/#/toolsからAndroid Things Setup Utilityをダウンロードします。

次にOSイメージをmicroSDに書き込みます。

$ sudo ~/Downloads/android-things-setup-utility/android-things-setup-utility-macos
Password:

Android Things Setup Utility (version 1.0.16)
============================
This tool will help you install Android Things on your board and set up Wi-Fi.

What do you want to do?
1 - Install Android Things and optionally set up Wi-Fi
2 - Set up Wi-Fi on an existing Android Things device
1
What hardware are you using?
1 - Raspberry Pi 3
2 - NXP Pico i.MX7D
3 - NXP Pico i.MX6UL
1
You chose Raspberry Pi 3.

Setting up required tools...
Fetching additional configuration...
Downloading platform tools...
5.45 MB/5.45 MB
Unzipping platform tools...
Finished setting up required tools.

Do you want to use the default image or a custom image?
1 - Default image: Used for development purposes. No access to the Android
Things Console features such as metrics, crash reports, and OTA updates.
2 - Custom image: Provide your own image, enter the path to an image generated
and from the Android Things Console.
1
Downloading Android Things image...
274 MB/274 MB
Unzipping image...

Downloading Etcher-cli, a tool to flash your SD card...
20.5 MB/20.5 MB
Unzipping Etcher-cli...

Plug the SD card into your computer. Press [Enter] when ready

Running Etcher-cli...
? Select drive /dev/disk2 (15.5 GB) - Built In SDXC Reader
? This will erase the selected drive. Are you sure? Yes
Flashing [========================] 100% eta 0s
Validating [========================] 100% eta 0s
iot_rpi3.img was successfully written to Built In SDXC Reader (/dev/disk2)
Checksum: c1891a15

If you have successfully installed Android Things on your SD card, you can now
put the SD card into the Raspberry Pi and power it up. Otherwise you can abort
and run the tool again.

途中で以下のようがダイアログが出ると思いますが、書き込みが完了した証拠なので「無視」か「取り出す」をクリックします。

f:id:akimacho:20180118203104j:plain

2. RaspberryPi上でThingsを起動させWiFiの設定を行う

RaspberryPiに先ほど書き込んだmicroSDとその他(USB電源・マウス・キーボード・HDMIケーブル)を接続して、Android Thingsを起動させます(以下参照)。

f:id:akimacho:20180118201243j:plain

ディスプレイに以下のように表示されると思います。

f:id:akimacho:20180118201135j:plain

少し待つと以下のような画面になります。「CONNECT TO NETWORK」をクリックします。

f:id:akimacho:20180118201312j:plain

WIFI」をクリックします。

f:id:akimacho:20180118201456j:plain

「OFF」のトグルをクリックします。

f:id:akimacho:20180118201518j:plain

ネットワークのSSIDが表示されます。自分が利用するSSIDを選択します。

f:id:akimacho:20180118201612j:plain

パスワードを入力します。

f:id:akimacho:20180118201725j:plain

「ON」になりました。

f:id:akimacho:20180118201808j:plain

最初の画面に戻りますと、「Networks」の部分にSSIDIPアドレスが表示されます。このIPアドレスを次の手順では使用します。

f:id:akimacho:20180119125823j:plain

3. PCからThings端末へ接続する

先ほどのIPアドレスを指定して、以下のコマンドを実行。

$ adb connect 192.168.0.9
connected to 192.168.0.9:5555

これで接続が完了しました。

3. Android Studio上で開発し、Thingsで実行させる

Android Thingsのプロジェクトを作成します(端折ります)。

f:id:akimacho:20180118202154j:plain

「Run 'app'」を実行します。すると、以下のように「Google Iot_rpi3(Android 8.1.0, API 27)」と表示されました。

f:id:akimacho:20180118202454j:plain

そのまま実行すると、RaspberryPiに接続した画面に「Hello World!」と表示されました。

f:id:akimacho:20180118202508j:plain

おわりに

以上でRaspberry Pi 3上でのAndroid Thingsのセットアップ完了となります。ちなみにAndroid Thingsでは最近のアップデートでピンの情報が見れるようになりました。

f:id:akimacho:20180118202611j:plain

またAndroid 8.1.0(API27)にアップデートされたのでAndroid Neural Networks API (NNAPI)やTensorFlow Liteが動くのではないでしょうか。試してみたいと思います。

参考