作ってみた!ラズパイガジェット達はこちら

Google AIY Voice Kitで日本語で受け答えするGoogleアシスタントを作る!その2 自動起動で実行させる

lxterminal 作ってみた
Raspberry Pi 何ができる

毎回、コマンド入力からGoogleアシスタントを起動するのは面倒です。これを自動起動させて少し楽しましょう。

前回、日本語対応のGoogle AIY Voice Kitを作成出来ました。でもまだGPIOが制御出来ないようで、LEDのボタンを光らせたり、音を鳴らすこともできません。(日本語環境では)

Google AIY Voice Kitで日本語で受け答えするGoogleアシスタントを作る!その2 自動起動で実行させる

ちょっといつ話したらいいのか、認識しているのか外観で分かりませんから、どうしてもディスプレイに繋いでターミナルを表示させないとなりません。

RaspbianOSでの自動起動はいくつか手段があります。
しかし、上手く動作するのは以下に紹介するautostartのやり方で問題ありません。ターミナルも出現させたいので、これはこれで使い勝手はいいと思います。

※サービスに登録するのは、なぜか上手く行きませんでした。

シェルスクリプトを作成

「.sh」で終わるファイルのスクリプトを用意して、それを起動時に実行させ、すぐにgoogle AIYを使えるようにしてみたいと思います。

そうすると、ターミナルを開いてコマンドを2つ入れる必要がありません。

やり方は色々とあると思いますが、比較的に簡単で上手く動作するのが、shファイルを用意して実行することで実現します。ファイルを次のように準備してください。

※作成場所はホームディレクトリのpiにbinというディレクトリがありますので、そこに入れてみましたが、他の場所でも構いません。

.sh(シェルスクリプト)ファイル

#!/bin/bash --rcfile
cd ~/
source env/bin/activate
googlesamples-assistant-hotword --project_id googleaiy-prtoject --device_model_id aiy-first
echo "Dev terminal is ready!"

3行目がPythonの仮想環境を実行するコマンドです。

4行目がgoogle AIYをhotword として起動するコマンドです。

5行目のechoで表示するテキストは何でもいいです。実行できたことを知るためにあります。(音が鳴らないので)

実際にはターミナル内で作成してみます。

sudo nano ~/pi/bin/My-AIY-JP.sh

ホームディレクトリのbinというディレクトリ内に適当な名前のshをnanoで開きます。

保存した後、実行権を与えます。

sudo chmod 755 ~/pi/bin/My-AIY-JP.sh

準備完了です。

自動起動するためautostartに記述する

5つくらい自動起動の方法があるんですけど、簡単で確実な方法を取ります。autostartです。

$ sudo nano ~/.config/lxsession/LXDE-pi/autostart

これ、ディレクトリではなくてファイルです。

既に@lxpanel –profile LXDE-piのような記述が複数行あると思います。私の環境では4行ありました。同じように記述していきます。

@lxterminal -e /home/pi/bin/My-AIY-JP.sh

これで起動時にターミナルが開いて、その中でシェルスクリプトのshファイルを実行します。

demo.pyと違い音も鳴りませんしボタンも光りませんからモニターに繋いでいないと、いつ話しかけたらいいのか分かりません。

なんでもhotwordの利用ではGPIOを制御できないような記述を海外サイトで見かけました。詳しくは分かりませんが、時間をおいて通知音かボタンのLED点灯なども実現したいと思います。

とりあえず日本語でGoogleAIYとの会話を楽しみたいと思います。

※無料トライアルでは1日あたり1000回はやり取り出来るようです。詳しくはGoogle cloud platform(GCP)で確認してください。

参考にしたサイト:以下を参考にしました。

Raspberry PiでPythonプログラムを自動的に起動させる.(autostart) - シュウジマブログ
車載Raspberry Pi プログラムを作ったので.いくつかやったが,この方法が唯一うまくいった.他は多分何かミスってるみたい. 参考サイトは以下です. hendigi.karaage.xyz 5通りの方法が乗っていますが,そのうち「autostartを使う方法」というのを使いました. 2018/10/11追記: こ...(続きを読む)
How to launch programs on LXDE startup - Raspberry Pi Forums
Voice Kitで自作GoogleHomeを作る際に付け足したこと | ~Rhythmical Life~
こちらの記事もオススメです♪
作ってみた
この記事をシェアしたり自分用に保存してみる。
この記事を書いた人
ラズパイダ

学べる楽しむ便利になる。小さいくせにヤケにパワフル。そんなRaspberry Pi をまだ知らない人に伝えたい。様々な場所で利用されているRaspberry Pi を知って「あっ、これもラズパイだっ!」だからラズパイダ!

ラズパイダ——利用しているWEBサービス
ラズパイダ

コメント