Raspberry PiにAlexaをインストール_2023年度版(KWD&systemd設定を含む)

スマートホーム
スポンサーリンク
このエントリーをはてなブックマークに追加

やりたいこと

2020年に以下の記事で、Raspberry PiにAmazon Alexaをインストールする記事を掲載しました。あれから3年、Raspberry PiのOSはRaspbianからRaspberry Pi OSへ進化し、AlexaのベースとなるAlexa Voice Service(AVS) SDKもVersion 3.0が公開され、大きく環境が変化しました。

我が家では、今日も変わらずAlexaが元気に振る舞ってくれているので気づいていませんでしたが、当ブログの読者の方から「ブログの通りにやってもうまくいかない」とのコメントをいただきました。

そこで最新のRaspberry Pi OSに最新のAVS SDK v3.0をインストールしてみることにしました。最初は「バージョンが違うだけで少し手順を見直せば大丈夫!」と思っていましたが、実際にやってみるとすごく大変でした💦試行錯誤すること2ヶ月、ようやく動くようになったので、記録として残しておきたいと思います。

用意するモノ

①Raspberry Pi

まずは、今回のキーとなるRaspberry Piです。今回は手元にあった4B(4GB)を利用します。

②スピーカ

Alexaが喋るためのスピーカです。今回は「300円の割りに音質が良い」と評判のダイソーの300円スピーカを利用します。電源をUSBから取れるので、ACアダプタが不要で電源周りをスッキリできるのもポイントです。

③マイク

Alexaに話しかけるためのマイクです。今回は、集音性が高い(?)との噂の「pc USBマイク」を利用します。なお、Raspberry Piでもバッチリ動きました!!

Raspberry PiへのAlexaのインストール手順

それでは、Raspberry PiにAlexa(AVS)をインストールしていきます。

Alexa製品の登録

Raspberry PiにAlexaを搭載するためには、まずはAlexa Voice Service(AVS)搭載のデバイスとして登録する必要があります。

①Amazon Developerサイトにアクセス

まずは、PCのブラウザからAmazon Developerサイト「https://developer.amazon.com/login.html」にアクセスします。既にAmazon Echoに紐づいているAmazonアカウントを持っている人はそのアカウントでログインしましょう。

Echoに紐づいたアカウントを持っていない人は、一点注意点があります。ここでログインするアカウントはAmazon.co.jpのアカウントでのログインが必要です。AWSなどで利用しているAmazon.com(アメリカ)のアカウントではダメです‼️

②Alexa Voice Serviceを選択

画面の中から「Alexa Voice Service」を探し、クリックします。

③商品を選択

「商品」欄にある「製品」をクリックします。

④製品を作成する

次に、画面右上の「新しい商品を追加」ボタンをクリックします。

⑤製品情報の入力

製品情報の入力画面では、以下のように入力して「次へ」ボタンをクリックします。

 ・製品名:RaspiAlexa ※なんでもOKです
 ・製品ID:RaspiAlexa※なんでもOKです
 ・製品タイプ:Alexa内蔵の端末
 ・コンパニオンアプリを使用するか:いいえ
 ・製品カテゴリ:スマートホーム ※なんでもOKです
 ・製品概要:Alexa搭載のRaspberryPi ※なんでもOKです
 ・どのようにやり取りするか:ハンズフリー
 ・商品として配信するか:いいえ
 ・Alexa for Businessのために使用:いいえ
 ・AWS IoTコアアカウントに関連付け:いいえ
 ・13歳以下の子供向け:いいえ

⑥LWAセキュリティプロファイルの作成

LWAセキュリティプロファイルの画面が表示されたら「プロフィールを新規作成する」を選択します。

⑦プロファイル名の入力

セキュリティプロファイル名とプロファイル記述の入力欄が表示されるので、以下のように入力して「次へ」ボタンをクリックします。

 ・プロファイル名:RaspiAlexaのセキュリティプロファイル ※なんでもOKです
 ・プロファイル記述:RaspiAlexaのセキュリティプロファイル ※なんでもOKです

⑧クライアントIDの作成

画面の下半分あたりに「プラットフォーム情報」の欄がありますので、そこで「他のデバイスやプラットフォーム」のタブを選択します。次に「クライアントID」に「RaspiAlexa」など適当に入力して「一般ID」のボタンをクリックします。

⑨クライアントIDのダウンロード

クライアントIDが発行されるので、「ダウンロード」ボタンをクリックして「config.json」をダウンロードします。このconfig,jsonは後で使うので大切に保存しておいてください。

⑩規約への同意

最後に、規約への同意のチェックをつけて「完了する」ボタンをクリックします。

11.セキュリティプロアイルの有効化

次に、作成したセキュリティプロファイルを有効化するために「 https://developer.amazon.com/lwa/sp/overview.html」にアクセスし、先ほど作成したセキュリティプロファイルを選択します。そして「確認する」ボタンをクリックします。

12.プライバシー規約同意書URLの入力

「プライバシー規約同意書URL」に「https://example.com/privacy.html」など適当に入力して「保存」ボタンをクリックします。このURLにはアクセスしないので、今回のように自分だけで使う場合には、適当でOKです。

以上で、Amazonのサイト上での操作は完了です。

マイクの接続と確認

ここからは、Raspberry PiにUSBマイクとスピーカを接続してちゃんと録音・再生できるか試してみます。Raspberry PiへのRaspberry Pi OSのインストール手順は省略するので、他のサイトなどを参考にインストールして、SSHとVNCでログインできるようにしておいて下さい。

当記事では以下の「2023年2月版の Raspberry Pi OS 32bit」を使っています。

①マイクとスピーカの接続

Raspberry PiのUSBポートに、USBマイクとスピーカの電源用USBケーブルを接続します。また、イヤホンジャックにスピーカーの入力ジャックを接続します。以下の写真の感じです。

②マイクデバイスの確認

次に「cat /proc/asound/modules」コマンドでUSBマイクが有効になっているか確認します。「snd_usb_audio」というものが表示されていればOKです。また「arecord -l」コマンドで、デバイス名を確認します。私の場合は「USB PnP Sound Device」でした。カード番号とデバイス番号は後で使うのでメモしておきましょう。

③スピーカデバイスの確認

「aplay -l」コマンドを実行して、スピーカデバイスを確認します。Raspberry Pi 4はHDMIポートが2つ付いているので「vc4hdmi0」と「vc4hdmi1」というものが表示されますが、今回はイヤホンジャックに接続したスピーカから音声を出力したいので「Headphones」が対象になります。ここでもカード番号とデバイス番号は後で使うのでメモしておきましょう。

④.asoundrcの作成

Alexa(AVSで利用するマイクとスピーカーを指定するために「.asoundrc」ファイルをホームディレクトリ直下に作成します。ファイル名の先頭の「.」も必要なので注意しましょう。

「.asoundrc」の記載内容は以下の通りです。「playback.pcm」セクションの「hw:0,0」の2つの数字は、aplay -lコマンドで確認したカード番号とデバイス番号になります。今回は「Headphones」から音声を出力したいので「hw:0,0」を指定します。また「capture.pcm」セクションの「hw:1,0」の2つの数字は、arecord -lコマンドで確認したカード番号とデバイス番号になります。今回は「USB PnP Sound Device」から音声を入力したいので「hw:1,0」となります。

⑤入出力デバイスの確認

念の為VNCでRaspberry Piにログインして、右上のスピーカーのアイコンを”右”クリックして「AV Jack」が選択されていることを確認します。

同様にマイクーのアイコンを”右”クリックして「USB PnP Sound Device」が選択されていることを確認します。

⑥録音テスト

次に、接続されたマイクで録音できるか確認してみます。以下のように「arecord」コマンドを実行して、マイクに何か話しかけてください。その後「Ctrl+C」を押して録音を中止します。

⑦再生テスト

次に「aplay」コマンドで、先ほど録音した声を再生してみます。スピーカから声が聞こえない場合は、マイクやスピーカーのボリュームを調整してみて下さい。

これで、マイクとスピーカの設定は完了です。

Alexa Voice Serviceのビルド

ここからは、Raspberry PiでAVS(Alexa Voice Service)のビルドを行っていきます。基本的には、AmazonのWebサイト「Quick Start: Set Up the AVS Device SDK on Raspberry Pi for Voice-Only Devices」の手順に従って作業を進めますが、一部カスタマイズしています。

①ビルド用のディレクトリの作成

まずは、ビルド用のディレクトリ「sdk-folder」と、その配下に「sdk-build」「sdk-source」「sdk-install」「db」の4つのフォルダを作成します。

②必要なライブラリのインストール

AVSに必要なライブラリをインストールします。インストールには10分程度かかるので、トイレにでも行って待ちましょう😄

③AVS SDKのダウンロード

次に今回の大本命であるAVSのSDKを「sdk-folder/sdk-source」フォルダにダウンロード(git clone)します。

④Snowboyラッパーの退避

後でKWD(Key Word Detector ※アレクサと呼びかけて反応するためのもの)であるSnowboy用の古いAVSラッパーを利用するために、AVS v1.24.0に含まれるSnowboy用のラッパー(KWD/KittAi)をコピーしておきます。ここが今回のポイントの一つ目です‼️‼️

⑤CMakeLists.txtの編集

次に「avs-device-sdk」ディレクトリにある「CmakeLists.txt」に一行を追加します。

変更内容は、以下の通り「# Set project information」のセクションに「set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0)」の行を追加します。

ここが2つ目のポイントです‼️‼️この後の手順の4章でsnowboyというKWDを利用しますが、このライブラリのバージョンが古く最新のglibCxxライブラリでは利用できないので、あえて旧バージョンのライブラリを利用するように指定します。私はここに辿り着くのに2週間を要しました😂😂😂

⑥ビルド用ファイルの作成

次にAVSのビルドを行うシェルスクリプト「cmake.sh」を「sdk-folder/sdk-build/」に作成します。Amazonの公式手順では、単にコマンドを打ち込むだけですが、後で何回か使うので、シェルスクリプトにしておきます。

「cmake.sh」の中身は以下をコピペしましょう。

⑦CMAKEの実行

作成した「cmake.sh」を実行して、Makefileを作成しましょう。

すると、ずらずらと大量の文字が表示されて、Makefileが作成されていきます。

上記のように「Build files have been written to・・・」と表示されれば完了です。

⑧スワップサイズの変更

この後、AVSをビルドしますが、ビルド時にメモリが不足し、Raspberry Piがフリーズしてしまうことが度々ありました。そこで、以下のようにスワップメモリのサイズを大きくしておきます。

「dphys-swapfile」の「CONF_SWAPSIZE=」の数字を「2048」に書き換えます。

書き換えたら保存して、スワップ領域を再作成してONにします。

⑨ビルドの実行

そこでは「make SampleApp -j3」と入力してAVSをビルドしましょう。Raspberry Piは4つCPUを搭載しているので、「-j」オプションを使って複数のCPUを使うとビルドが早く完了します。ただ、4つ全部を使ってしまうと、発熱がすごいので私は3つにしました。

ずらずらと文字が表示されビルドが進んでいきます。進捗状況はパーセントで表示されるので分かりやすいですね。私の場合は15分ぐらいかかったので、コーヒでも飲みながら待ちましょう☕️

最後に「Built target SampleApp」と表示されたらビルド完了です!!!

SampleAppの起動

ここからはビルドしたSampleAppを起動するための準備と動作テストを行なっていきます。

①config.jsonの配置

上記の「3-1-⑨クライアントIDのダウンロード」でダウンロードした「config.json」を「/sdk-folder/sdk-source/avs-device-sdk/tools/Install」ディレクトリへ配置します。

②設定ファイルの作成

以下のコマンドを入力してAVSのSampleAppのための設定ファイル「AlexaClientSDKConfig.json」を作成します。

③起動用シェルスクリプトの作成

次にAVSのSampleAppを起動するためのシェルスクリプト「startup.sh」を作成します。

「startup.sh」の内容は以下を記載します。

④startup.shの実行

それでは「startup.sh」を実行しましょう!すると、ログが沢山表示されるので、以下のような「Authorization Code」の表示を探して、そのコード(下では「EQHEL7」の部分)をメモします。画面がどんどん流れていくので、上の方にスクロールして探して下さいね。

⑤端末の認証

次にhttps://amazon.com/us/codeにアクセスすると、ログイン後に認証コードを入力する画面が表示されるので、上でメモしたコードを入力して「Continue」ボタンをクリックします。

次に、Amazonでテストされていないデバイスに関する確認画面が表示されるので「Continue」ボタンをクリックします。

最後にセキュリティプロファイルが表示され、許可するか聞かれるので「許可」ボタンをクリックします。

「成功です!」と表示されれば、Raspbery Pi上で動作するAVSのアプリとAmazonのAlexaサービスとの接続が完了します。

Raspberry Piの画面にも、以下のように「Authorized!」と表示されます。これで、Raspberry PiからAlexaが利用できるようになりました!!

⑥言語の設定

次に、Alexaの言語を日本語に変更します。画面上で「c」を入力して設定メニューを表示させます。「1」を入力して言語の選択画面を表示させます。次に「15」を入力して、日本語(ja-JP)に変更します。

⑦応答音の設定

次にもう一度「c」を入力し、「3」を選択して応答音のメニューを表示させます。次に「E」を入力して応答音が鳴るようにします。Amazon Echoの場合は「アレクサ」と話しかけると、上部のライトが青色に光るので音声コマンド待ちになったことが分かるのですが、Raspberry Piの場合にはライトがないので分かりません。この設定を行うことで、音で「ポーン!」と教えてくれるようになります。

⑧タイムゾーンの設定

次に、ブラウザから「https://alexa.amazon.co.jp」にアクセスします。ログインして、画面左側の「設定」メニューを選択します。すると、先ほど認証した「RaspiAlexa」がリストに出てくるので、これを選択します。

そして、デバイスのタイムゾーンを「アジア」「日本標準時(東京)」に変更します。

⑨テスト1

それではAlexaの動作を確認してみましょう!「t」を入力して「ポーン!」とスピーカから音が鳴ったら、マイクに向かって「今日の天気は?」と話しかけてみて下さい。スピーカから天気は聞こえてきましたか?ちなみに画面は以下のように表示されます。

⑩テスト2

次に、「アレクサ、今日の天気は?」とウェイクワード付きで話しかけてみて下さい。しかし、いくら「アレクサ」「アレクゥサ」と話かけても応答してくれません。実はAVS version 3からは、KWD(Key Word Detector)が標準でインストールされず、ウェイクワードに反応しないのです💦💦

しかも、Amazonのドキュメントにある「KEY_WORD_DETECTOR」のCMAKEオプションを使ってもダメ(正確にはSENSORY自体の提供が終了、かつAVS SDK側の実装も削除)な状態で、海外のサイトなども使って情報を集めましたが、有力な情報には辿り着けませんでした。

KWD(Key Word Detector)の設定

ここからは、KWDを自力で設定していきます。AVSから利用できるKWDには、SENSORYとsnoboyという2つのものがありましたが、SENSORYは開発終了と共にGitリポジトリも非公開になっておりダウンロードできなくなりました。一方、snowboyも開発は終了していますが、こちらはGitリポジトリは公開されたままになっており、ダウンロードも可能です。

また、SENSORYやsnowboyを利用するAVS SDK側のソースコードも削除されているので、実装しなおす必要があります。そこで、この章では以下を行なっていきます。

 ・snowboyのインストール
 ・Snowboy用のAVSラッパーの作成
 ・AVSへのSnowboyの組み込み
 ・AVSの再ビルドとテスト

これができるようになるのに、私は1ヶ月程試行錯誤を繰り返してやっとできるようになりました💧

Snowboyのインストール

まずはsnowboyをインストールして動作確認を行なっていきます。

①必要なライブラリのインストール

まずは、snowboyに必要なライブラリをインストールします。

②snowboyのダウンロード

次にsnowboyをダウンロード(git clone)します。

③snowboyのビルド

次に、以下のようにしてsnowboyをビルド(正しくは共有ライブラリの作成)します。

ビルドが正しく完了すると「_snowboydetect.so」という共有ライブラリが作成されていることがわ分かります。

④snowboyのデモプログラムの修正

それではsnowboyが正しくキーワードを認識するかデモプログラムを実行してテストしてみましょう。ただし、デモプログラムに一箇所修正を加える必要があります。

「snowboydecoder.py」の5行目あたりにある「from . import snowboydetect」を「import snowboydetect」に修正します。

⑤テスト1

それではテストしてみましょう。以下のようにデモプログラムを起動して「スノーボーイ」とマイクに向かって話してみてください。

正しくキーワードを認識すると、以下のように「Keyword 1 detected」と表示されます。キーワードを認識してもらうためには英語っぽい発音で話すことがポイントです(笑)終了する時は「Ctrl+C」(Ctrlキーを押しながらCキーを押す)です。

⑥テスト2

次に、デモプログラムの第一引数に渡すumdlをAlexaのものに変更しましょう。このumdlファイルが音声のパターンを学習したファイルであり、このumdlファイルを切り替えることで認識するキーワードを変更することができます。

ではマイクに向かって「アレクサ」と話かけてみてください。テスト1と同様に「Keyword 1 detected」と表示されればOKです。ちなみに「resources/alexa/alexa-avs-sample-app」フォルダにも「alexa.umdl」がありますが、こちらでは私の発音ではうまく認識してもらえませんでした。

Snowboy用のAVSラッパーの作成

ここからはAVSからSnowboyを利用するためのラッパーを作成していきます。上の手順「1-3-④Snowboyラッパーの退避」で退避したAVS v1.24.0に含まれる古いソースコードを使って作成します。

①AbstractKeywordDetector.hの修正

まずは「AbstractKeywordDetector.h」の修正を行います。修正箇所は以下の2箇所です。

1箇所目:30行目の「#include “KWD/AbstractKeywordDetector.h”」を「#include <acsdkKWDImplementations/AbstractKeywordDetector.h>」へ名前空間を変更。

2箇所目:36行目の「class KittAiKeyWordDetector : public AbstractKeywordDetector {」を「class KittAiKeyWordDetector : public alexaClientSDK::acsdkKWDImplementations::AbstractKeywordDetector {」へ名前空間を追加。

2箇所変更したら保存しましょう。

②KittAiKeyWordDetector.cppの修正

次に「KittAiKeyWordDetector.cpp」の修正を行います。

「#include “KittAi/KittAiKeyWordDetector.h”」の次の行に以下の1行を追加。

変更したら保存しましょう。

③ビルドファイルの作成

修正したSnowboy用のAVSラッパーをビルドするためにビルドファイルを作成します。

「build.sh」の内容は以下を記載します。

記載したら保存します。

④Snowboy用ラッパーのビルド

作成したビルドファイルを実行して、Snowboy用のAVSラッパーの共有ライブラリ「libsnowboywrapper.so」を作成します。

「libsnowboywrapper.so」が無事に作成されました。

AVSへのSnowboyの組み込み

ここからはKWDとしてSnowboyを利用するようにAVSのソースコードを修正していきます。

①KeywordDetectorProvider.cppの修正

KWDとしてSnowboyを利用するために「KeywordDetectorProvider.cpp」の3箇所を変更します。

1箇所目:19行目の「#include “KWDProvider/KeywordDetectorProvider.h”」の次の行に「#include “KittAi/KittAiKeyWordDetector.h”」を追加

2箇所目:27行目辺りに以下の3行を追加します。

3箇所目:54行目あたりの「if (m_kwdCreateFunction)」からの6行をコメントアウトし、その代わりに上で作成したKittAiKeyWordDetectorを利用するように以下を追加します。

修正したら保存します。

②CMakeLists.txtの修正1

次に「CMakeLists.txt」の修正を行います。

1箇所目:11行目の「target_link_libraries(KeywordDetectorProvider ${TARGET_KWD_LIB})」の次に「target_include_directories」と「target_link_directories」の2行を追加します。

こちらも修正したら保存しましょう。

③CMakeLists.txtの修正2

次にメインの「CMakeLists.txt」も修正します。

修正箇所は、上で修正した「-D_GLIBCXX_USE_CXX11_ABI=0」の最後に「 -DKWD」を追記します。「-」の前のスペースも必要なので気をつけて追記しましょう。この修正を加えることで、AVSのコード内のKWD部分を有効にすることができます。

こちらも修正したら保存しましょう。

④cmake.shの修正

最後に「cmake.sh」を修正して、上記で修正したパラメータに値を設定するようにします。

修正箇所は以下の通り「KWD」「TARGET_KWD_INCLUDE_DIR」「TARGET_KWD_LIB_PATH」「TARGET_KWD_LIB」の4つのパラメータを設定します。なお、「CMAKE_BUILD_TYPE」の行の最後に「 \」を追記するのも忘れないようにしましょう。

AVSの再ビルドとテスト

それでは、Snowboyを有効にしたAVSを再ビルドして、KWDが使えるかテストしましょう。

①cmakeと再ビルド

上記で修正した「cmake.sh」を実行したのちに「make SampleApp -j3」コマンドを実行してKWDを組み込んだAVSを再ビルドしましょう。ビルドには、初回同様に約15分かかるので気長に待ちましょう。

②必要ファイルの配置

次にSnowboyに必要な「common.res」「alexa.umdl」の二つのファイルを「Integration」ディレクトリ直下に配置します。この二つのファイルは「snowboy/resources」にあります。

③テスト

それでは、いよいよテストしてみましょう。起動は上で作成した「startup.sh」の実行です。

「Alexa is currently idle!」と表示されたら「アレクサ」とマイクに向かって呼びかけてみてください‼️アレクサが反応したら「今何時?」など、問いかけてみてください。どうでしょう?ちゃんとアレクサは回答してくれましたか❓アレクサが反応してくれると、少し感動します😭😭

自動起動の設定

ここからは、Raspberry Pi起動時にAlexaが自動起動するように設定します。上でテストしたように、SampleAppはキーボードからの入力を受け付けて、各種設定ができるようになっています。しかし、SampleAppを自動起動(systemdから起動)する場合、標準入力は「/dev/null」にマッピングされるので、キー入力待ちが無く無限ループが発生し、CPUを100%使ってしまいます。

SampleAppの修正

まずは、SampleAppのソースコードを修正しsystemdから起動できるようにします。ついでに、KWDの感度もコマンドライン引数から設定できるようにします。

①キー入力の無効化設定1

まず、SampleAppのソースコードである「UserInputManager.cpp」を変更します。

変更内容は28行目に「IS_SYSTEMD」変数を追加します。namespace宣言の前に書くのがポイントです。

②キー入力の無効化設定2

同様に「UserInputManager.cpp」の276行目に、IS_SYSTEMDがtrueだった場合に、1時間待った後にwhileループの先頭に戻る処理を、以下のように追加します。

追記したら保存しましょう。

③コマンドライン引数の受け取り処理の変更

次に、コマンドライン引数で受け取った値を、グローバル変数にセットする処理を「main.cpp」へ追加します。

変更内容は74行目にコマンドライン引数の受け取り処理に、以下を追加します。

上記を追記したら保存しましょう。

④再ビルドの実行

再度「make SampleApp -j」を実行します。今回のビルドは変更箇所のみのため、すぐに終わります。

⑤startup.shの修正

最後にstartup.shを変更し、コマンドライン引数でマイク感度を設定するように変更します。

以下のように書き換えます。KITT_AI_SENSITIVITYとKITT_AI_AUDIO_GAINの値は、私の環境ではこれぐらいがちょうど良かったので、一旦2.0と0.4にしておきます。

⑥テストと調整

それでは、再度「startup.sh」を実行して「アレクサ」と話しかけてみましょう!周りの雑音や使っているマイクによっても、反応の感度が違うので「startup.sh」の「KITT_AI_SENSITIVITY」と「KITT_AI_AUDIO_GAIN」の値を書き換えて、最もよく反応する値に調整してみて下さい。

Systemdの設定

ここからはRaspberry Pi起動時に自動的にSampleAppが起動するようにSystemdの設定を行なっていきます。

①alexa-service.shの作成

まずは、startup.shをコピーして、自動起動用の「alexa-service.sh」を作成し、実行権限を付けます。

次にalexa-service.shを開き、環境変数を設定すると共に、最終行のプログラム実行部分の引数に「-SYSTEMD」を追加します。

②alexa-service.shの実行確認

次に「alexa-service.sh」を実行して確認します。startup.shと同様に「Alexa is currently idle! 」となりますが、ここでキーボードの「t」キーを入力してみて下さい。startup.shでは「ポーン!」と鳴ってウェイク状態になりましたが、alexa-service.shではキー入力を受け付けないため何も起こりません。終了させるには「Ctrl+C」キーを押します。

③alexa.serviceファイルの作成

Systemd用の設定ファイルを「/etc/systemd/system/alexa.service」に以下のように作成します。

「alexa.service」への記載内容は以下の通りです。ユーザ名の「/home/pi/」部分は適宜お使いの環境に合わせて修正してくださいね。

④Systemdからの起動

それでは「systemctl start alexa.service」コマンドを実行して、systemdから以下のようにAlexaを起動してみましょう。ちゃんと起動したかは「systemctl status alexa.service」コマンドで確認できます。「Active: active (running) 」となっていれば、起動しています。

⑤自動起動の設定

最後に「systemctl enable alexa.service」コマンドを実行して、Raspberry Pi起動時に自動的にAlexaが起動するようにしておきます。以上で全ての設定は完了です。お疲れ様でした!!

おわりに

今回は、Raspberry PiにAlexa Voice Serviceをインストールして、Raspberry PiでAmazon Echoを作ってみました。AVSのバージョンが上がったり、KWDの開発が停止してしまったりなど、以前と比べて難易度がかなり上がりましたが、どうにか動かすことができるようになりました。

関連記事

記事が参考になったら、ブログランキングに協力(クリック)して貰えると嬉しいです。

昼間はIT企業に勤めてますが、プライベートでは「育児×家事×IoT」をテーマに家のスマートホーム化に取り組んでいます。Androidアプリも作っているので使って下さい。質問・コメントは、↓のコメント蘭でもFacebookメッセンジャーでもどちらでも大丈夫です。
E-mail:naka.kazz.d@gmail.com

naka-kazzをフォローする
スマートホーム開発者向け
スポンサーリンク
naka-kazzをフォローする
スマートホーム×DIY

コメント

タイトルとURLをコピーしました