はじめに
近年、IoT(モノのインターネット)が急速に普及し、家庭のあらゆるデバイスをスマート化できる時代になりました。その中でも、スマートスイッチは特に便利で、Wi-Fi経由で家電や照明のオン・オフを制御できます。本記事では、ESP32を使ってWi-Fi制御可能なスマートスイッチの作り方を詳しく解説します。
必要な部品
ESP32を使用したスマートスイッチを作るためには、以下の部品が必要です。
- ESP32開発ボード:Wi-FiとBluetoothを搭載したマイクロコントローラ。
- リレー(5Vまたは3.3V駆動):高電圧の家電製品を制御するために使用。
- ジャンパーワイヤー:ESP32とリレーを接続するため。
- ブレッドボード:回路を仮組みするために使用。
- USBケーブル:ESP32とPCを接続し、プログラムを書き込むため。
- AC電源(必要に応じて):実際の家電を制御する場合に使用。
ESP32とリレーの接続方法
回路図
ESP32とリレーを以下のように接続します。
- ESP32のGPIOピン(例:GPIO23)をリレーの信号入力ピン(IN)に接続
- リレーのVCCをESP32の3.3Vまたは5Vに接続(リレーの仕様に合わせる)
- リレーのGNDをESP32のGNDに接続
- リレーの出力端子に制御対象の機器(例:電球)を接続
接続のポイント
- リレーの駆動電圧をESP32に合わせる:3.3Vリレーと5Vリレーがあるため、ESP32に適したものを使用する。
- リレーの定格電流を確認:リレーが制御可能な電流値を確認し、必要に応じて別の電源を用意する。
- 電源と負荷の接続に注意:高電圧を扱う場合は、安全対策を十分に行う。
ESP32のWi-Fi設定
ESP32はWi-Fiに接続し、スマートフォンやPCから制御できるようにします。Wi-Fi接続には、SSID(ネットワーク名)とパスワードが必要です。
以下のコードをESP32に書き込むことで、Wi-Fi経由でスマートスイッチを制御できます。
#include <WiFi.h>
#define RELAY_PIN 23
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
void setup() {
pinMode(RELAY_PIN, OUTPUT);
WiFi.begin(ssid, password);
}
void loop() {
digitalWrite(RELAY_PIN, HIGH); // リレーをON
delay(1000);
digitalWrite(RELAY_PIN, LOW); // リレーをOFF
delay(1000);
}
スマートフォンからの制御
ESP32をWi-Fi経由でスマートフォンから制御するには、以下の方法があります。

1. Webサーバーを使う
ESP32内で簡単なWebサーバーを立ち上げ、ブラウザからスイッチのON/OFFを切り替える。
2. スマートスピーカーと連携する
ESP32をGoogle AssistantやAlexaと連携させ、音声コマンドで家電を制御できるようにする。
3. 専用アプリを作成
MIT App InventorやBlynkを使ってスマホアプリを作成し、ボタンでスイッチを操作する。
よくあるトラブルと解決策
1. Wi-Fiに接続できない
原因と対策
- SSIDやパスワードが間違っていないか確認する。
- ルーターが2.4GHzに対応しているか確認(ESP32は5GHzに対応していない)。
2. リレーが動作しない
原因と対策
- GPIOの設定が正しいか確認。
- 電源が適切に供給されているかチェック。
3. スマートフォンから制御できない
原因と対策
- ESP32のIPアドレスを確認し、正しくアクセスしているか確認する。
- ファイアウォールの設定を見直す。
まとめ
本記事では、ESP32を使ったWi-Fi制御スマートスイッチの作り方を解説しました。基本的な動作を理解したら、スマートスピーカーとの連携や専用アプリの開発にも挑戦してみましょう。
コメント