Wirtualny przycisk światła sterowany głosem przez AI

🎯 Co zbudujesz?

Stworzysz inteligentny włącznik światła, który reaguje na polecenia głosowe — np. „Włącz światło”, „Wyłącz światło” — i działa dzięki integracji z ESP32 oraz rozpoznawaniem głosu offline lub online.


🧰 Komponenty

  • ESP32 (najlepiej model z większą ilością RAM, np. ESP32-WROOM)
  • Mikrofon I2S (np. INMP441) lub analogowy mikrofon z wzmacniaczem
  • Przekaźnik 5V (moduł)
  • Źródło zasilania (powerbank, zasilacz USB)
  • Żarówka LED + gniazdo + przewód (testowe obciążenie)
  • Biblioteka rozpoznawania mowy (np. TensorFlow Lite Micro, lub offline jak Voice2Json)
  • Arduino IDE

⚡ Schemat połączeń

Mikrofon I2S (INMP441):

  • VCC → 3.3V
  • GND → GND
  • WS → GPIO25
  • SCK → GPIO26
  • SD → GPIO33

Przekaźnik:

  • IN → GPIO5
  • VCC → 5V
  • GND → GND

💻 Kod podstawowy — przełącznik na głos

Dla uproszczenia użyjemy gotowego silnika rozpoznawania mowy przez Bluetooth (np. aplikacji mobilnej, która przesyła komendy do ESP32), lub biblioteki offline jak speech_recognition (jeśli masz ESP32-S3 z mikrofonem).

Tu wersja oparta na Bluetooth i prostym przetwarzaniu komend:

#include "BluetoothSerial.h"

BluetoothSerial SerialBT;
#define RELAY_PIN 5

void setup() {
Serial.begin(115200);
SerialBT.begin("ESP32_GlosowyWlacznik");
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
Serial.println("Czekam na komendy głosowe...");
}

void loop() {
if (SerialBT.available()) {
String cmd = SerialBT.readStringUntil('\n');
cmd.trim();
cmd.toLowerCase();
Serial.println("Komenda: " + cmd);

if (cmd == "włącz światło") {
digitalWrite(RELAY_PIN, HIGH);
Serial.println("Włączono światło.");
} else if (cmd == "wyłącz światło") {
digitalWrite(RELAY_PIN, LOW);
Serial.println("Wyłączono światło.");
} else {
Serial.println("Nieznana komenda.");
}
}
}

📱 Aplikacja mobilna

Możesz użyć np. darmowej aplikacji „Bluetooth Terminal HC-05” lub stworzyć własną aplikację głosową z użyciem Android Studio, która zamieni polecenie głosowe na tekst i wyśle je po Bluetooth.


🤖 Rozszerzenie z AI

  • Offline: Wersja z porcupine.ai (rozpoznawanie komend lokalnie, bez Internetu)
  • Online: ESP32 przesyła nagranie przez WiFi do API (np. Whisper + Hugging Face)
  • Modele TinyML: Trenujesz własny model rozpoznawania konkretnych komend np. „światło”, „ciemno”, „włącz”, „wyłącz”
  • Logika AI: System zapamiętuje, kiedy najczęściej włączasz światło i proponuje automatyzację (np. przez Telegram bota)

🧰 Montaż krok po kroku

  1. Podłącz mikrofon do ESP32 zgodnie ze schematem.
  2. Podłącz przekaźnik do ESP32 (najlepiej przez transoptorowy moduł).
  3. Wgraj kod przez Arduino IDE.
  4. Sparuj ESP32 z telefonem przez Bluetooth.
  5. Przetestuj przesyłanie komend tekstowych — wpisz „włącz światło”.
  6. Wprowadź rozpoznawanie głosu — najpierw przez aplikację mobilną, potem offline.

💡 Możliwe ulepszenia

  • Tryb nocny (np. rozpoznaje „dobranoc” i gasi światło po 5 sekundach)
  • Obsługa kilku komend i kilku świateł
  • Komendy alarmowe (np. „pomocy” – wysyła SMS)
  • Integracja z Home Assistant (MQTT lub REST API)

✅ Podsumowanie

To świetny przykład wykorzystania ESP32 i rozpoznawania głosu do sterowania czymś praktycznym – jak światło. Można go zastosować w pokoju dziecka, garażu, a nawet przy osobach z ograniczoną sprawnością ruchową.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry