A minimal implementation of infrared sender/receiver like IRKit by ESP8266
IRKitの GET,POST /messages 同様の機能だけをESP8266で実現する最小限の実装です
ESP-WROOM-02で動作確認済み
Maybe it will work on other ESP* boards.
以下の通り接続
- GPIO 12 - Infrared LED
- GPIO 14 - Infrared receiver
赤外線リモコン受信モジュールはOSRB38C9AAなどの3.3V駆動可能のものを利用します
Arduino IDEで minirum/minirum.ino を開き、ESP-WROOM-02に書き込みます。
Arduino core for ESP8266 WiFi chipはバージョン 2.3.0 を利用してください。
書き込み後、シリアルモニタを開いて 115200 bps
で接続するとログを確認できます。
- 電源を入れると設定モードで起動します。
- PCやスマートフォンで SSID
minIRum_SETUP
の無線LANアクセスポイントに接続します。 - Captive Portalにより設定画面が自動的に開きます。(開かない場合はブラウザで
http://192.168.1.1/
にアクセスしてください) - 既設の無線LANアクセスポイントのSSIDを選択し、パスワードを入力して
送信
をクリックすると設定が保存され、自動的に再起動します。 - 再起動後、設定された無線LANアクセスポイントに自動的に接続、DHCPによりIPアドレスを取得します。
- IPアドレスはシリアルモニタに表示されます。
アクセスポイントが見つからない等の理由で接続できなかった場合、再び設定モードになります。
回路図とパーツリストは以下のブログ記事を参照してください。
ミニマルなIRKitクローンを作ってiOSから家電を制御する : Eleclog.
mDNSに対応している場合 minirum-[MACアドレスの下位3オクテット].local のアドレスで接続できます。
GET /messages
curl -i http://minirum-a492cd.local/messages
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 383
Connection: close
Access-Control-Allow-Origin: *
{"format":"raw","freq":38,"data":[3550,1700,500,400,500,400,500,1300,500,1300,500,400,500,1300,500,400,500,400,500,400,500,1300,500,400,500,400,500,1300,500,400,500,1300,500,400,500,1300,500,400,500,400,500,1300,500,400,500,400,500,400,500,400,500,1300,500,400,500,1300,500,1300,500,400,500,1300,500,400,500,400,500,400,500,400,500,1300,500,400,500,400,500,1300,500,400,500,400,500]}
POST /messages
curl -i http://minirum-a492cd.local/messages -d'{"format":"raw","freq":38,"data":[3550,1700,500,400,500,400,500,1300,500,1300,500,400,500,1300,500,400,500,400,500,400,500,1300,500,400,500,400,500,1300,500,400,500,1300,500,400,500,1300,500,400,500,400,500,1300,500,400,500,400,500,400,500,400,500,1300,500,400,500,1300,500,1300,500,400,500,1300,500,400,500,400,500,400,500,400,500,1300,500,400,500,400,500,1300,500,400,500,400,500]}'
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 2
Connection: close
Access-Control-Allow-Origin: *
ブラウザでroot URLにアクセスすると簡易的なコンソールが利用できます。
- Arduino core for ESP8266 WiFi chip <= 2.3.0
- aJson == v1.5
- IRremoteESP8266 >= v2.5.0