ま"’s blog

電子工作の部屋?

Alexaをmake(ラズパイZeroにAlexaをインストールできるか?その5)

この記事は「ラズパイZeroにAlexaをインストールできるか?」のサブ記事です。
「AIYをAlexa化」というカテゴリーを作ってそれに入れたので、これら関連の記事だけを見たい方はこのカテゴリーを選択してください。

今までの前振りで、ようやっとラズパイZeroでAlexa(avs-device-sdk)をビルドする環境が整いました。

  1. ラズパイZeroの環境セットアップ(ラズパイZeroにAlexaをインストールできるか?その1) - ま"’s blog
  2. ラズパイZeroに最新ninjaをインストール(ラズパイZeroにAlexaをインストールできるか?その2) - ま"’s blog
  3. ラズパイZeroに最新CMakeをインストール(ラズパイZeroにAlexaをインストールできるか?その3) - ま"’s blog
  4. ラズパイZeroに最新curlをインストール(ラズパイZeroにAlexaをインストールできるか?その4) - ま"’s blog

前準備

Portaudioのライブラリを見つけておく

PORTAUDIO_LIB_PATH=$(find -P /usr/lib -name libportaudio.so)

環境変数PORTAUDIO_LIB_PATHに/usr/lib以下からlibportaudio.soという名前のファイルのパスを検索して設定しろというコマンドですね。

Alexa(AVS Device SDK)のビルド

cmakeによるMakefilesの作成

cd $HOME/sdk-folder/sdk-build
cmake $HOME/sdk-folder/sdk-source/avs-device-sdk \
   -DGSTREAMER_MEDIA_PLAYER=ON \
   -DPORTAUDIO=ON \
   -DPKCS11=OFF \
   -DPORTAUDIO_LIB_PATH=$PORTAUDIO_LIB_PATH \
   -DPORTAUDIO_INCLUDE_DIR=/usr/include \
   -DCMAKE_BUILD_TYPE=DEBUG \
   -DCURL_LIBRARY=/usr/local/lib/libcurl.so

元のマニュアルのと違うのは"-DCURL_LIBRARY=/usr/local/lib/libcurl.so"の追加です。

SDK SampleAppのビルド

make -j2 SampleApp

"-j2"オプションは無くても全然問題ありません。-jオプションにはCore数を指定すると効率が良くなるおまじないだと思ってくれればいいです。

途中でswapが不足してないか、プロセス数が許容範囲をオーバーしてフリーズしてないかを確認するために、別なターミナルウィンドウでログインし下のスクリプトを動かしてみてました。

while uptime; do free -h; sleep 30; done

次のステップ

設定を行なって、SampleAppの実行にチャレンジです。
時間に余裕があれば、ただの"make"を行なって全てのテストツールのビルドをしておくことをお勧めしますが、ラズパイZeroだと三日三晩ほどかかります(^^;。