ラズパイZeroにAlexaをインストールできるか?
書くネタが尽きてきたので、方針転換することにしました。
今までは最終型の出来上がったものを要点をまとめて記事にしてきていました。
最近手をつけたラズパイのAlexa化は、1パッケージをビルドするだけで一晩位かかるので、全部終わるのを待っていたら、いつ完成するかわかりませんし、頓挫する可能性も高いので、なんの記事も書けなくなってしまいます。そこで、忘備録的に日々手がけたことを記録する方向にシフトしたいと思います。
全く役に立たなかったり、袋小路にはまったり、無駄になってしまうこともあるかもだし、不必要なことも書くことになってしまうかもしれませんが、ご容赦ください。
なので、最初から完全を目指さず、最終的にうまくいったら、必要だったものを選別してまとめた記事を書くことにします。
前提条件
- 使用するラズパイ:Google AIY Voice Kit 2.0 - Raspberry Pi Zero WH 同梱。秋月で¥6,900円で購入しましたが、現在は取り扱っていないようです。
- MicroSDカード:32GBに換装
- 操作方法:WiFi経由でのssh
- IPアドレス:固定
という環境でセットアップしてますので、AIY Voice Kit2.0でない場合は、マイク・スピーカー付きのラズパイを用意する必要があります。またAIY Voice Kit 2.0で付属のMicroSDカードでは容量が不足すると思われるので、より大容量のMicroSDカードを用意する必要があるでしょう。その場合はOSのクリーンインストールが必要と思われますので、google_aiy_voice_kit - raspberry_pi - hardware [ともやん・どっと・ねっと]サイトを参考にインストールし直しからとなるでしょう。
参考
以下のサイトを見て、ラズパイでビルドできると考えました。
- Raspberry piのスマートスピーカー化 (Amazon Alexaの公式インストールシェルが利用できないのでソースからインストールしてみた) - Qiita
- Quick Start: Set Up the AVS Device SDK on Raspberry Pi for Voice-Only Devices | Alexa Voice Service
Quick StartではRaspberry Pi 3B or 4.が必要とあり、ラズパイZeroで失敗した記事がこれです。
ただし、swapを適切に設定すれば可能かも、と書かれているのでチャレンジしてみることにしました。
おおまかな手順
- swap領域の拡張など、セットアップの下準備
- curlやAlexa(avs-device-sdk)のビルドに必要なツール・ライブラリのインストール
- ninja-buildをビルド
- cmakeをソースからビルド&インストール
- curlをソースからビルド&インストール
- Alexa(avs-device-sdk)のビルド
てな感じになると思います。先にあげた参考サイトに載ってることは基本的に省いて、追加で必要になった事項/差分を中心に書きますので、ここだけを見ていると取りこぼしがあるかもしれませんのでお気をつけください。
差分といいますのも、一旦は最終バイナリであるSampleAppのmakeまで辿り着いたのですが、libcurlに未解決のシンボルがあると言われて、最新のcurlでやりなおす事にしたのですが、curlを構築するのに必要なツールがninja, cmakeで、それぞれapt-getでは古いか無いかなので、ソースからビルド&インストールする必要があるというわけなのです。
それぞれの項目を記事にしていくことにします。
いまこの記事を書いている最中に、ラズパイはAlexaのSampleAppをmake中です。完成するのを気長にお待ちくださいませ。