Wi-Fi対応IRブラスター自作: ESP8266とArduinoで家電をスマホ操作
必要なパーツと材料
| パーツ | 数量 | 備考 |
|---|---|---|
| ESP8266 ESP-01 (または NodeMCU開発ボード) | 1 | NodeMCUなら電源回路/USB内蔵で楽 |
| Arduino Nano R3 | 1 | IR信号送信用 |
| 汎用NPNトランジスタ | 1 | IR LED駆動用 |
| IR LED | 1 | 高出力/広角タイプ推奨 |
必要な工具
- はんだごて
使用するソフトウェア・サービス
- Arduino IDE
- NodeMCUファームウェア (ESP8266単体使用時)
プロジェクト概要
スマートフォンのIRブラスター(赤外線リモコン機能)が廃れる中、既存の「ダンビ」家電 (TV、エアコン、AVアンプ等) をWi-Fi経由で操作できるようにするプロジェクトです。ESP8266がWebサーバーとなり、HTTP GETリクエストを受けてArduinoにIRコードを送信させます。フロントエンドは別サーバー (筆者はC.H.I.P. $9コンピューター上のApache) でHTML/JS/PHPで構築し、AndroidではWebアプリとしてホーム画面に追加可能です。
開発の経緯
- ATコマンド方式 (ESP-01 + Arduino): 当初はESP-01をATコマンドで制御。1-2秒の遅延が発生し、面倒でした。
- NodeMCU採用: ESP8266単体でWebサーバー + IR送信が可能に。
ESP8266WebServerライブラリとIRremoteESP8266ライブラリで簡潔に実装。遅延も解消。 - IR LED駆動: ESP8266は3.3V動作で直駆動だと光量不足。NPNトランジスタで5V電源をスイッチングし、高出力化。抵抗なしで駆動 (デューティー低いため寿命への影響は軽微と判断)。
- REST風API: フロントエンドから
curl.php経由でhttps://ESP_IP/irTVpwr等のエンドポイントを叩く構成。
完成システム「Universal Remonster」
TV (電源、入力切替、ミュート、音量、チャンネル) とAVアンプ (電源ON/OFF別個、ミュート、音量、入力切替) を制御可能。産業用ベルクロで棚裏に固定、リード線でLED向きを微調整。3ヶ月以上毎日使用して問題なし。
今後の拡張予定
- Web UIをクラウド移行
- Amazon Echo連携 (音声制御) - 実装済み
- DHT22温湿度センサー追加
- シーリングファン用RF送信機能
- IR受信機追加で「学習リモコン」化
- ホームオートメーション連携 (不在時自動OFF等)
ソースコード (複数ファイル)
- Arduinoスケッチ: WiFi接続、Webサーバー、IRコード送信 (生データ配列で複数機種分定義)
- script.js: ボタン押下時のAjaxリクエスト送信 (jQuery使用)
- index.html: リモコンUI (マニフェスト対応でPWA化)
- curl.php: ESP8266へのGETリクエスト中継
- manifest.json: PWA設定 (フルスクリーン、縦向き固定等)
回路図
基本: ESP8266 GPIO → NPNトランジスタベース → 5V - IR LED×2直列 - コレクタ。拡張: NPNで複数のPNPを駆動し、多数のLEDを並列点灯可能。
製造プロセス
- シームレスMQTT統合:NodeMCU DHT22センサーとRaspberry Pi 3 B+ブローカー
- Raspberry Pi & Android スマホで Wi-Fi 制御ロボットを構築
- Pythonで作るWi-Fi制御Raspberry Piロボット - ステップバイステップガイド
- ESP8266・Arduino・超音波センサーで作るスマートIoTジャー:リアルタイム中身監視
- Arduino UNO WiFi Webサーバー:ブラウザからLEDをON/OFF制御
- ArduinoとESP8266で作るWi-Fi対応スマートドアロック — スマホで解錠
- Wi-Fi通話完全解説:仕組みとメリット、なぜ重要か
- ビードブラスト完全ガイド:滑らかで美しい仕上げを実現する究極の手法
- Wi‑Fiリアルタイム位置システムの主要な限界
- 2015年注目の新興ワイヤレステクノロジー:M2M&IoT向けガイド
- 3ドルのESP8266でTLS対応Webサーバーを30分以内に導入