Google Home Mini を使って、声で ESP32 の LED を光らせてみた

記事公開日:2017年10月29日
最終修正日:2017年11月9日

スポンサーリンク

こんばんは。

ついに、日本語の肉声で、電子工作と気軽に連携できる時代がやってまいりました。

前回の記事では、AIスピーカーの Google Home Mini をレビューしてみましたが、今回は私の本来の目的である、ESP32 ( ESP-WROOM-32 ) と連携して、LED の ON / OFF や、明るさを声の数値で喋って点灯させてみたいと思います。

早速、動画はこんな感じです。
深夜だったので、かすれ声で喋ってみました。

いかがでしょうか。
日本語でなかなかイイ反応ですね。
ちゃんと声の数字を数値としてマイコンが認識してくれています。
これはスバラシイ!!!

因みに、これを行うためには、2つのクラウドサービスに登録しなければなりません。
将来的には1つのクラウドサービスだけでいける日が来るとは思いますが、私が調べた中では2つのサービスを中継します。

それは、IFTTT と Blynk です。

Blynk については当ブログでも以下の記事で取り上げましたので、そちらを参照してください。

Blynk アプリで 遠方から スマホ とESP32 の双方向リアルタイム同時通信

Blynk というクラウド系サービスは、ESP8266 や ESP32 を 3G/4G/LTE 回線を通して遠方のスマホからコントロールできるサービスでした。

つまり、その Blynkサーバーは ESP32 からのデータを蓄積したり、送受信できるサーバーなのです。
ただ、それだけでは Google Home と連携はできません。

そこで、今回私が初めて使ったのは、IFTTT というサービスです。

この IFTTT というのは、無料で登録できて、簡単に言えば、インターネット上の様々なサービスの橋渡しをするサービスです。

Google Home は Google Assistant というサービスを介して音声をテキストデータにしています。
IFTTT は Google Assistant に対応しています。
そして、もう一つに、Webhooks というものも対応しています。
これは、正直良く分からないのですが、要するにテキストデータを利用して HTTP通信で GET や POSTリクエストをサーバーに送信できる機能です。
IFTTT内で、Google Assistant と Webhooks を連携させ、Google Assistant から得たテキストデータや数値を Webhooks で取得し、それを HTTP GET リクエストでBlynk サーバーに送信するという仕組みです。
説明が下手でスミマセン。

図で表現すると、こんな感じでしょうか

IFTTT_GoogleHome01

因みに、私は IFTTT や Google Asistant 、Webhooks については使い始めたばかりで、正直あまり知識がありません。
ただ、それを使ってやってみたらうまく動いたというだけの話です。
これからいろいろと勉強していきたいと思います。

もし、間違えていたらコメント投稿欄などでご連絡いただけると助かります。

ということで、ザッと説明しますが、2つのクラウド系サービスを登録するので、意外と面倒で小難しいことを覚悟しておいてください。
ただ、一度設定してしまえば楽です。

使うもの

Google Home Mini

IFTTT_GoogleHome02

今現在はビックカメラや、楽天等で購入することができます。

ESP-WROOM-32 開発ボード

突入電流抑制等 USBホスト側機器の保護や、サーマルシャットダウン機能が充実したスイッチサイエンスさんの ESPr Developer 32 はお薦めです。

その他、Espressif Systems 純正の ESP32– DevKitC があります。

3.3V~5V砲弾型LED

25mA 程度流せる、一般的な LED で良いです。

電流制限抵抗または CRD ( 定電流ダイオード )

LED がちょうど良く光るように直列に固定抵抗を入れます。
抵抗値はLED によって異なりますので、各自丁度良いものを選んでください。
一般的に、1kΩ~10kΩ程度だと思います。
ESP32 の GPIO 端子に 12mA 以上流すと故障する可能性が高くなりますので、電流制限抵抗は必ず入れましょう。

その他、10mA 以下のCRD ( 定電流ダイオード )でも良いです。

その他、ブレッドボード、ジャンパーワイヤー等

(事前準備)Arduino core for ESP32 のインストールを済ませておく

パソコンに Arduino core for ESP32 のインストールを事前に済ませておいてください。
インストール方法は以下の記事を参照してください。

Arduino core for the ESP32 のインストール方法

Arduino IDE は 1.8.5 で動作確認済んでおります。

Arduino core for ESP32 は最新版をインストールしておいてください。

(事前準備)Blynk をスマホとArduino IDE にインストールしておく

Blynk は数種類のアイテムまでは無料ですが、それを超えると有料になるサービスです。
以下の記事を参照して、Blynk に登録してインストールしておいてください。

Blynk アプリで 遠方から スマホ とESP32 の双方向リアルタイム同時通信

そして、Blynk サーバーと ESP32 がちゃんと通信できることを予め確認しておいてください。

これで使用している、auth コードが今後必要になります

IFTTT の登録

IFTTT を初めて使う方は以下のリンクを開いて下さい。

https://ifttt.com/

すると、下図の様な画面が開きますので、ご自分のメールアドレスを入力して登録していきます。

IFTTT_GoogleHome10

次に、パスワード設定を求められるので、好きなパスワードを入力します。

IFTTT_GoogleHome11

すると、下図の様な画面が出てきます。
これは、IFTTT 最新版アップデートが行われたら通知をメールで受け取るかどうかの設定です。
この画面はしばらくすると消えるので、そのまま待ちます。
この設定は後で変えられます。

IFTTT_GoogleHome12

すると、下図の様な画面になりますので、登録完了です。

IFTTT_GoogleHome13

次では、Applet の作成方法を説明します。

スポンサーリンク


mgo-tec電子工作 関連コンテンツ ( 広告含む )

投稿者:

mgo-tec

Arduino , ESP32 ( ESP-WROOM-32 ) , ESP8266 ( ESP-WROOM-02 )等を使って、主にスマホと連携した電子工作やプログラミング記事を書いてます。ライブラリも作ったりしてます。趣味、独学でやってますので、動作保証はしません。
電子回路やプログラミングの専門家ではありません。
畑違いの仕事をしてます。
でも、少しだけ電気の知識が必要な仕事なので、電気工事士や工事担任者等の資格は持ってます。

「Google Home Mini を使って、声で ESP32 の LED を光らせてみた」への2件のフィードバック

  1. 興味深く記事拝見しました。
    昨日、別記事に投稿したものです。(記名を忘れていました)
    google homeからesp32使ってLEDをON/OFFやらする!夢が広がりますね。
    IoT対応の家電じゃなくても、照明の点灯消灯とかできないかなとか考えちゃいます。
    ただ、私の場合ほとんど何もわかってないのでこれから勉強ですが。

    これからのご活躍もお祈りいたします。

    1. まめさん

      無記名でも全然大丈夫ですよ!

      強電100V を電子工作と連携させることは、この技術の延長なので、リレー機器を使えば実現可能です。
      ただ、、電気工事士資格保有者が施工する方が良いと思います。
      そうでなければ、既製品のIoT 機器を使った方が良いかも知れませんね。

      いろいろコメントありがとうございました。
      m(_ _)m
      ブログ更新は割に合わない辛い作業ですが、何とか維持していきたいと思ってまーす。

コメントを残す

メールアドレスが公開されることはありません。

*画像の文字を入力してください。(スパム防止の為)