ailia SDKを試す<第22回> Android搭載ラズパイでailia SDKを動かす

 ラズベリー・パイには,標準のRaspberry Pi OSのほか,UbuntuやDebian,そしてAndroidなど,さまざまなOSをインストールして利用できます.そこで今回は,ラズベリー・パイにAndroidをインストールし,ailia SDKを実際に動作させる手順を紹介します.Android上で動作させることで,スマートフォン向けのAIアプリ開発環境をそのままラズベリー・パイ上で再現できるようになります.これにより,モバイル・デバイス向けAI推論のテストや,軽量エッジ環境での実装検証が容易になります.

 

●使用するラズパイ/Androidの種類
 使用するラズベリー・パイには,処理性能とメモリ容量の点からリソースに余裕のあるラズベリー・パイ5(8GBモデル)を採用しました.これにより,Androidの動作やailia SDKの推論処理を快適に実行できる構成となります.なお,ラズベリー・パイ4でも利用は可能なので,手元にラズベリー・パイ4がある場合は,それでお試しください.
 ラズベリー・パイにインストールできるAndroidには,Emteriaや AOSP(Android Open Source Project)(注1)など,複数の種類が存在します.EmteriaのAndroidはRaspberry Pi Imagerから簡単に取得できますが,開発関連の機能には一部制限があり,利用するには別途ユーザ登録が必要です.そのため今回は,よりオープンに利用できるAOSPのAndroidを使用します.
ーーー
注1:AOSPのAndroidイメージには,Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International(CC BY-NC-SA 4.0)の非営利ライセンスで提供されている部分が含まれています.このため,個人利用/教育利用/研究用途などでは自由に利用可能ですが,商用利用は許可されていません.

 

●環境構築
▲ステップ1:Androidイメージ・ファイルの入手
 使用するイメージは,AOSP (Android 15) for Raspberry Pi 5です.AOSPの公式ウェブ・ページ(https://konstakang.com/devices/rpi5/AOSP15/)からダウンロードします(注2).このページには,インストール方法や利用可能な機能について詳しく説明されています.ダウンロードする際は,ページの内容をよく確認してください.
 ダウンロードしたファイルは圧縮されているので,解凍してから後で紹介する書き込みツールが参照できる場所に保管しておきます.
ーーー
注2:ラズベリー・パイ4用には,別途AOSP(Android 15)for Raspberry Pi 4が公開されています(https://konstakang.com/devices/rpi4/AOSP15/).
▲ステップ2:Android OS のインストール・メディアを作る
 Android OSをラズベリー・パイに書き込むには,The Raspberry Pi Foundationが公開しているRaspberry Pi Imagerを使用します.Raspberry Pi Imagerを起動したら,次の手順で設定を行います.
******
・1,デバイス項目で,使用するラズベリー・パイのモデルを選択
・2,OS項目で 「カスタムイメージを使う」を選択し(図1),先ほど展開したAndroid OSのイメージ・ファイルを指定する(図2)
・3,ストレージ項目で,OSを書き込むSDカード(Writer)を選択する
・4,「次へ」をクリックし,カスタム設定は行わずにそのままイメージを書き込む
******

図1 「カスタムイメージを使う」を選択

図2 Android OSのイメージ・ファイルを指定する

図3 カスタム設定は行わない

 

▲ステップ3:Android OSの起動
 作成したSDカードをラズベリー・パイに挿入し,電源を入れるとAndroidが起動します.初回起動時はシステムの初期設定が行われるため,ホーム画面が表示されるまで少し時間がかかります.起動が完了すると,図4のようなAndroidのホーム画面が表示されます.


図4 起動した Android OS の画面

 

▲ステップ4:Wi-Fiの設定
 Android起動後,ネットワークを利用できるようにするため,Wi-Fiの設定を行います.手順は次の通りです.
******
・1,ホーム画面で「設定(Settings)」を開く
・2,「ネットワークとインターネット」→「インターネット」を選択
・3,Wi-Fiを有効にする
・4,一覧に表示されるアクセス・ポイントの中から,接続したいWi-Fiを選択し,パスワードを入力して接続する
******
 接続が完了すると,画面右上にWi-Fiアイコンが表示され,インターネットが利用可能になります.
▲ステップ5:開発者向けオプションを有効化
 ailia SDKの動作確認やデバッグを行うために,開発者向けオプションを有効化します.手順を次に示します.
******
・1,設定アプリを開き,下までスクロールして 「タブレット情報」(または「デバイス情報」)を選択
・2,画面下部にある「ビルド番号」(図5)を7回連続でタップ
・3,「これでデベロッパーになりました」というメッセージが表示されれば有効化完了
******
 有効化後は,「設定」→「システム」画面に 「開発者向けオプション」 メニューが追加されます(図6).


図5 「ビルド番号」(図5)を7回連続でタップ


図6 「開発者向けオプション」が追加された

 

▲ステップ6:PCとラズパイの接続準備
 PC側のAndroid Studioと接続するには,Wi-Fi経由で接続します.そのために,まずラズベリー・パイ側でWi-Fiペア設定コードを取得します.手順を次に示します.
******
・1,「設定」→「システム」→「開発者向けオプション」を開く
・2,「ワイヤレスデバッグの使用」を有効にする(図7)
・3,「ワイヤレスデバッグ」をタップする
・4,「ペア設定コードによるデバイス設定」を選択(図8)
******
 すると,「デバイスとのペア設定」ダイアログ(図9)が表示され,Wi-Fiペア設定コードが確認できます.このコードは,後でPC側のAndroid Studioに入力の設定で使用します.


図7 「ワイヤレスデバッグ」を有効にする 


図8 「ペア設定コードによるデバイスのペア設定」を選択 


図9 Wi-Fi ペア設定コードの表示画面

 

▲ステップ7:Android Studioの設定
 PC側のAndroid Studioから,ラズベリー・パイ上のAndroid デバイスに接続します.手順を次に示します.
******
・1,Android Studioのメニューで「Device Manager」を開く
・2,画面右上の「+」ボタンの横にある 「Pair Devices Using Wi-Fi」をクリック(図10)
・3,表示された「Pair new devices over Wi-Fi」画面で,「Pair using pairing code」 をクリック(図11)
・4,先に起動しておいたラズベリー・パイ(Android)のデバイス情報がリストに表示される
・5,対象のデバイスを選択すると,認証コード入力画面(図12)が表示されるので,Android側で取得したWi-Fiペア設定コードを入力
・6,認証が完了すると,ペアリングした端末の名前が表示され,接続が確立する(図13)
・7,デバイスマネージャのリストに端末が表示される
******
 ここで,「Start Mirroring」をクリック(図14)するとAndroidの画面がAndroid Studioの画面に表示されます(図15).


図10 「Pair Devices Using Wi-Fi」をクリック


図11 「Pair using pairing code」 をクリック


図12 認証コード入力画面


図13 ラズベリー・パイをペアリングした画面


図14 「Start Mirroring」をクリック


図15 Androidの画面をAndroid Studio画面側に表示

 

●ailia SDKサンプルの実行
 Androidと接続が確立した状態で,ailia SDKのサンプル・アプリを実行します(図16).アプリを起動すると,Android Studio側の画面とラズベリー・パイ側の画面の両方にアプリ画面が表示され,動作を確認できます.


図16 三角アイコンをクリックしてアプリを実行


図17 ラズベリー・パイ上で動作するailia SDK サンプル・アプリ

 

●まとめ
 今回は,ラズベリー・パイにAndroidをインストールし,ailia SDKを動作させる手順を紹介し,AOSPのAndroidイメージを利用することで,オープンな環境でAI推論を実行できることを確認しました.さらに,Android Studioとワイヤレス接続することで,PC側からデバッグや画面ミラーリングを行いながら,モバイル向けAIアプリ開発環境をラズベリー・パイ上で再現できることも実証しました.これにより,ラズベリー・パイを利用した低コストで柔軟なAI開発/検証環境の構築が可能になります.このAndroid Studioは,Androidアプリ開発における基本的なツールです.興味のある方は,ぜひ一度この環境を構築して試してみてください.
 なお,ailia SDKではAndroid向けの開発環境として Unityにも対応しています.今後は,このUnityとailia SDKを組み合わせた開発環境の構築手順についても紹介したいと思います.

 

氏森 充(うじもり・たかし)
約30年間,(株)構造計画研究所にてIoT,ビッグデータ,機械学習,AI関連のシステム開発や実務応用に従事.退職後はLLM(大規模言語モデル)関連の情報収集や技術動向の調査・発信に注力し,雑誌「Interface」でもLLM技術に関する記事を執筆中.