ラズパイZeroの環境セットアップ(ラズパイZeroにAlexaをインストールできるか?その1)
この記事は「ラズパイZeroにAlexaをインストールできるか? - ま"’s blog」のサブ記事です。
「AIYをAlexa化」というカテゴリーを作ってそれに入れたので、これら関連の記事だけを見たい方はこのカテゴリーを選択してください。
この記事での内容は:
- 事前準備:セキュリティプロファイル IDなどの発行
- swap領域の拡張
- 環境を最新の状態にする
- 必要なパッケージをインストールする
です。
事前準備:セキュリティプロファイル IDなどの発行
セキュリティプロファイル ID、クライアント ID、クライアントのシークレットの発行までは、
amazon_alexa_with_google_voice_kit_v2 - raspberry_pi - hardware [ともやん・どっと・ねっと]
の最初を参考にしてやってみてください。
作業ディレクトリを作成
Quick Start: Set Up the AVS Device SDK on Raspberry Pi for Voice-Only Devices | Alexa Voice ServiceのStep.1-1に書いてあるように、作業ディレクトリを作成しておきます。
cd $HOME mkdir -p sdk-folder/{sdk-build,sdk-source,sdk-install,db}
でも同じことができるはず。
swap領域の拡張
ラズパイのswapは100Mと小さいです。そのままではsdkのビルドに失敗するのでswapを大きくします。
サイズを自動に設定させるため、CONF_SWAPSIZE行をコメントアウトし、CONF_SWAPFACTOR行のコメントをはずし、より大きな値にします。私は4にしました。
# 最初は2でやってfreeが足りなくなってハングアップしたのは、ここだけの秘密(^^;
cp -p /etc/dphys-swapfile /home/pi/dphys-swapfile sudo vi /etc/dphys-swapfile
viを使い慣れていない人はnanoを使ってくださいね。
pi@raspberrypi:~ $ diff /home/pi/dphys-swapfile /etc/dphys-swapfile 16c16 < CONF_SWAPSIZE=100 --- > #CONF_SWAPSIZE=100 20c20 < #CONF_SWAPFACTOR=2 --- > CONF_SWAPFACTOR=4
swapを再始動します。
sudo systemctl restart dphys-swapfile
swapが大きくなったか確認します。
pi@raspberrypi:~ $ free -h total used free shared buff/cache available Mem: 366Mi 307Mi 31Mi 0.0Ki 27Mi 21Mi Swap: 1.5Gi 409Mi 1.1Gi
標準のメモリサイズの4倍のswapになるはずです。
環境を最新の状態にする
sudo apt update sudo apt upgrade
気になる方は、もう一度updateして下さい。たまにupgrade後にupdateされるパッケージがあったりします。
AIYprojectのGPG鍵が合わないというエラーが出る場合には、鍵をインストールしてから再度行います。
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
必要なパッケージをインストールする
sudo apt-get -y install \ git gcc cmake build-essential libsqlite3-dev libcurl4-openssl-dev libfaad-dev \ libgtest-dev libssl-dev libsoup2.4-dev libgcrypt20-dev libgstreamer-plugins-bad1.0-dev \ libnghttp2-dev nghttp2 gstreamer1.0-plugins-good libasound2-dev doxygen portaudio19-dev
次のステップへ行く前に
Quick Startでは次のステップはAVS Device SDKのダウンロードしてビルドとなるのですが、結論からいうとビルド中にcmakeが古いと言われ、止まってしまいます。apt-getでインストールしたcmakeでは古いということで、必要十分に新しいcmakeをソースからビルド&インストールしたいのですが、cmakeのビルド中にninjaというプロセスがハングアップしてしまいます。
どうやらapt-getでインストールされるninjaが古いようです。ということで次のステップはninja-buildです。