激安ESP8266を用いてアレクサ経由で家電コントロール(第2世代のalexaまで可能) 〜プログラム編その①〜

前回までで、音声コントロールしたい家電のリモコンの解析は終了しました。

次に行う事は、

①ESP8266で赤外線送信できるようにする(赤外線解析同様にIRremoto8266ライブラリを使用する

②解析した赤外線コードを使ってアレクサにスマートデバイスとして認識させる(esp8266-alexa-wemo-emulatorライブラリ)を使用する

2019/7/25現在esp8266-alexa-wemo-emulatorは第三世代Echodogとの互換性がなく正しく動かない事が判明!!

ライブラリを導入してもalexa側でデバイスとして認識はできますが、サーバーエラーとなり音声コントロールできません。

第三世代のEchodogを使う場合はfauxmoESPライブラリを使用する事でalexaとesp8266を連携でき家電の音声コントロールが可能です。

第三世代alexaとESP8266で家電コントロールする場合はこちら

 

③スマートホームを利用して先進的で革新的に家電を音声コントロールする。

以上になります。

 

ライブラリを導入する

とりあえずライブラリのダウンロードとインストール

IRremote8266のダウンロードとインストール→以前の記事を参照

esp8266-alexa-wemo-emulatorライブラリのダウンロードとインストールについても同様で、zipファイルをダウンロードします。

ダウンロードできたら、スケッチからライブラリをインクルードを選択→zip形式のライブラリをインスールを選びます。

 

 

ダウンロードしたzipファイルを選ぶと無事ライブラリをインクルードできます。

 

赤外線送信の準備

IRremoto8266ライブラリのを導入したのでスケッチ例のIRsendDemo.inoを参考に赤外線送信プログラムを参考にします。

スポンサードリンク

赤外線送信は簡単で、スケッチ例をみてみると、

必要なファイルをインクルードします。

送信で使うファイルはIRremotoeESP8266.hとIRsend.hです。

スケッチ例そのものです。

#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRsend.h>

const uint16_t kIrLed = 4; // ESP8266 GPIO pin to use. Recommended: 4 (D2).
IRsend irsend(kIrLed); // Set the GPIO to be used to sending the message.

void setup() {
irsend.begin();
#if ESP8266
Serial.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY);
#else // ESP8266
Serial.begin(115200, SERIAL_8N1);
#endif // ESP8266
}

上記のとおりにsetupの中でirsend.begin、Serial.beginでライブラリをスタートさせるだけです。

void loop() {
Serial.println("NEC");
irsend.sendNEC(0x00FFE01FUL);
delay(2000);
}

送信の使い方は上記ののようにメインループの中で、irsend.sendで赤外線解析時に取得したデータを入力すればよろしいようです。むっちゃ簡単です。

詳しくはこちらが非常にわかりやすく説明されています。

esp8266-alexa-wemo-emulatorの使い方

上記のライブラリの準備をしていきます。

ただしこのライブラリは第三世代のEchodogでは相性が悪く利用できません。

第三世代のEchoDogのalexaとESP8266を連携させる場合はfaumoESPライブラリを使った記事はこちらから。

このライブラリはesp8266をwifiに繋ぎ、alexaから連携できるようにするライブラリになります。

ですので、自宅のwifiのSSIDやパスワードなども必要になります。

こちらのスケッチ例は複数の赤外線信号を扱うため、Multiswichを参考とします。

 

とりあえず、このesp8266-alexa-wemo-emulatorライブラリのMultiswichtoとIRremoto8266ライブラリのIRsendDemoを組み合わせてプログラムしていきます。

参考になったのが、ここのサイトです。

上記サイトを参考にプログラムしたスケッチです。

赤外線のライブラリも加えて赤外線送信も可能としております。

#include <ESP8266WiFi.h>

#include "WemoSwitch.h"
#include "WemoManager.h"
#include "CallbackFunction.h"

 

上記プログラムですが、基本的に各ライブラリのスケッチ例を基本としています。

結構簡単にalexaによって家電を赤外線コントロールができます。

ただ、第三世代のalexaからはesp8266-alexa-wemo-emulatorライブラリの相性が悪くうまく使えなくなっています。

次回はそれを克服する為ライブラリをfauxmoESPに変更して第三世代alexa対応編をやっていこうと思います。

 

スポンサードリンク
カテゴリー: 制作事例 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください