カテゴリー
IchigoJam

声だけで操作!「OK Google」でIchigoJamの7セグメントLED制御

日本語に対応したGoogle Homeを使って、IchigoJamに接続した7セグメントLEDの制御を行ってみました。
「OK Google, 数字の7を送信」と話すと、「数字の7を送信しました」と答え、7セグメントLEDに「7」の数字が表示されます。

日本語に対応したGoogle Home            IchigoJamへ接続した7セグメントLED

IchigoJam側は、以前に紹介したAmbientを利用した方法を使用しました。ハードウェア構成と製作方法、IchigoJam BASIC用のプログラムについては、下記をご覧ください。
クラウドサービスAmbientからIchigoJamのLEDを制御する
Google Home側は、IFTTTと連携し、Google Homeが認識した数値を、Ambientへ送信するようにしました。
音声認識した数値データは、以下のような経路で7セグメントLEDへ到達します。
Google Home —> IFTTT —> Ambient —> Mixjuice —> IchigoJam —> LED
本ブログでは、Google HomeとAmbientとの連携方法(アンダーライン部)について、説明します。
IFTTT(https://ifttt.com/)では、Triger入力側(This)に「Google Assistant」を、Action出力側(That)に「Maker Webhooks」を選択します。まずは、Thisにタッチして、Google Assistantを選択してください。GoogleのアカウントをIFTTTと連携すると、下図のような画面が表示されるので、「Say a phrase with a number」を選択してください。
選択すると、設定画面(下図の左側)が開きます。これらの設定方法について、図の後で説明します。

Google Assistant 左図の画面

最初の枠には認識させたい音声を入力します。ここでは、「数字の # を送信」と入力しました。「#」の前後には半角スペースが必要です。最後から2番目の枠には、音声認識に成功した時に応答するメッセージを入力します。ここでは、オウム返しで「数字の # を送信しました」と入力しました。
最後に「Japanese」を選択し、「Create trigger」をクリックしてください。

Maker Webhooks 右図の画面

こんどは、期待の音声が入力された時のアクション内容を設定します。アクション用のサービスには「Webhooks」を選択します。上図の右画面のように入力すると、Ambientへデータを送信することが出来ます。
最初の枠には、AmbientのURLを入力します。「725」はボクが公開しているチャネル番号です。動作確認用として、使っていただくには問題ありませんが、頻繁にアクセスするのは避けてください。
Methodは、POST、Content Typeはapplication/jsonです。Bodyの部分に、Ambientで取得したライトキー(writeKey)と、Ambientへ送信するデータを記述します。
ここでは、データd7番に、音声認識した数字 NumberField を指定しています。NumberField の部分は「Add ingredient」から選択するか「{{NumberField}}」のように二重の{{と}}で囲います。
以上で、設定は完了です。
「OK Google, 数字の7を送信」や「ねぇ、グーグル、数字の3を送信」と音声で命令すると、IchigoJamの7 セグメントLEDに数字が表示されます。

気になる消費電力

24時間つけっぱなしになるGoogle Home。気になる消費電力と月間電気代(1分間の積算電力量から24円/kWで換算)を測定してみました。
待機時(音声待ち受け時) 1.6~2.2 W  月間電気代 33.7円 
待機時(ミュート)        1.9~2.2W  月間電気代 35.6円
動作中             2.0~2.4W
音楽再生(音量5)       2.2~2.8W  月間電気代 40.8円
音楽再生時には、そこそこ大きな重低音が響くので、もっと大きな電力を消費するのかと思いましたが、24時間、音楽をかけっぱなしでも月間40円程度でした。

おわりに

部屋に置くスマートスピーカーによる音声認識は、家で過ごしている時なら、いつでも手軽に使えます。スマートフォンとの最大の違いは、カバンなどから取り出す必要が無いことでしょう。
操作したいときに、手元に何のデバイスも保持せずに、声だけで機器を操作することが出来るのです。
また、マイクの性能も高く、通常の広さの室内であれば、部屋の端から話しても認識してくれます。目の前にあるときは、小声でも認識しました。自宅に居るときであれば、スマートフォンの音声認識よりも、ずっと実用的だと感じました。
IchigoJam + MixJuiceの組み合わせによるIoT端末の一例。プログラムはBASIC言語で作成した(関連リンク参照)
関連リンク:
クラウドサービスAmbientからIchigoJamのLEDを制御する
https://bokunimo.net/blog/ichigojam/76/
by ボクにもわかるIchigoJamマイコンボード
 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es