Node-REDで作るDIY Nest風スマートサーモスタット(Raspberry Piベース)
Raspberry Pi、Node-RED、ESPurnaファームウェアで構築するカスタムNestスタイルサーモスタットで、どこからでも家の温度制御が可能。
プロジェクト概要
複数シフト勤務で従来サーモスタットを毎週手動調整するのが不可能に。帰宅前に暖房オン、外出中はオフで省エネできるリモートソリューションが必要でした。
安価なITEAD 1-CH Wi-FiリレーとDHT22温湿度センサーで洗練されたNestデザインを再現。インターネット接続デバイスから監視・制御可能な完全機能サーモスタットが完成。
ソフトウェアインストール
- Raspbian Stretch をRaspberry Pi 3にセットアップ。
- Piに Mosquitto MQTTブローカー インストール。
- Piに Node-RED インストール。
- PCに Atom + PlatformIO インストール(ファームウェア開発用)。
ハードウェアハック
ITEAD 1-CHモジュールは独自EWeLinkファームウェア搭載の5V/12V Wi-Fiリレー。ベンダーロックイン回避のため、ESP8266デバイス向けオープンソースファームウェア ESPurna に置換。ESPurnaはカスタムセンサー対応で、DHT22追加に最適。
PSA-01モジュール(ESP8266コア)で以下ピンをはんだ付け:
- GND、3V3、GPIO14をDHT22用。
- TX、RX、GNDをファームウェア書き込み用。
カスタムファームウェアビルド
Atom+PlatformIOインストール後、最新ESPurnaリリースをダウンロード・展開。code フォルダーを File → Add Project Folder で新規プロジェクトに追加。
/config/sensors.h 編集でDHTサポート有効化:#define DHT_SUPPORT 1 #define DHT_PIN 14
platformio.ini で env_default = itead-1ch-inching 設定。ビルド実行、SUCCESS メッセージで完了。
書き込み:USB-シリアルアダプターをボード接続、マイクロUSB横ボタン押しながら通電、LED赤点灯確認。PlatformIO Upload クリック、アダプター点滅でフラッシュ書き込み完了。
How to Upload ESPurna Custom Firmware with PlatformIO
書き込み後アダプター取り外し、DHT22接続(3V3、GND、GPIO14)、5Vモバイル充電器で給電。
デバイスはソフトAP DEVICE_XXXXXX(パスワード:fibonacci)で起動。接続して https://192.168.4.1 開きWi-Fiとセキュリティ設定。
サーモスタット設定
ホームネットワーク接続後、ESPurna Webインターフェースでセンサー読み取り、スイッチステータス、MQTT、NTP、HTTP、ホームオートメーション統合多数を公開。MQTTブローカー詳細をRaspberry Pi上のMosquittoインスタンスに合わせて設定。
Node-REDがMQTT経由でセンサーデータ受信、温度閾値やスケジュールベースで暖房オン/オフ制御ロジック実装。フローエディターでリモート監視用カスタムダッシュボード作成も可能。
システム完成で、希望温度設定、暖房スケジュール、リアルタイム湿度表示をスマホ、タブレット、ノートPCから操作可能。
次のステップ
Amazon Alexa連携、Thingspeakデータログ、Node-RED内自動スケジュール作成等高度機能を探求。ESPurnaとNode-REDのオープンソース性で無限に拡張可能。
詳細:DIY Virtual Alike NEST Thermostat with Node-RED
製造プロセス
- 低コストセンサーで実現するコスト効率の良い室内温度マッピング
- 予算に優しいRaspberry Pi赤ちゃん泣き声検知器の自作 - DIYガイド
- IoTとMQTT入門:コード不要のESP8266チュートリアル
- Arduinoで作るレトロNumitron管時計:シンプル、信頼性高く、省エネ
- アナログセンサー搭載・高精度圧力&気流測定デバイス
- ArduinoとAndroidでRoomba Create 2をリモコン操作 ─ Bluetooth経由のステップバイステップガイド
- Arduino、Google Cardboard、Bluetoothで作るDIY VRスケートボード
- Android連携の低コスト携帯型非接触体温計(MLX90614+Arduino Nano)
- ArduinoとNokia 5110ディスプレイで自作電圧計:ステップバイステップガイド
- E3.cableでコネクタ挿入部品を最適配置:パフォーマンス向上の極意
- DockerでPLCnextにNode-REDをデプロイ:ステップバイステップガイド