Comprendere i componenti core

La costruzione di un sistema di illuminazione intelligente da zero inizia con la scelta del microcontrollore giusto e la comprensione di come ogni componente interagisce. L'ESP8266 e l'ESP32 sono scelte popolari grazie alla connessione Wi-Fi integrata, al basso costo e all'ampio supporto comunitario. L'ESP32 offre Bluetooth oltre alla connessione Wi-Fi, che può essere utile per il controllo locale senza una rete.

I componenti chiave includono il microcontrollore, un modulo relè (o relè a stato solido per il funzionamento silenzioso), un alimentatore che corrisponde alle esigenze di tensione e corrente sia del microcontrollore che del relè, e le luci si fissano se stessi. Per la sicurezza, utilizzare un modulo relè con optoisolation per proteggere il microcontrollore da punte ad alta tensione.

I sensori opzionali ma consigliati includono rilevatori di movimento a infrarossi passivi (PIR), sensori di luce ambientale (fotoresistori o sensori digitali BH1750), e sensori di temperatura/umidità per aggiungere il controllo adattativo.

Selezione del modulo Microcontroller e Wi-Fi

ESP8266 vs. ESP32: Quale?

Il chip ESP8266 è un chip maturo e poco costoso che gestisce la maggior parte delle attività di controllo dell'illuminazione. Ha abbastanza pin GPIO per alcuni relè e sensori, e la sua pila Wi-Fi è ben documentata. Tuttavia, l'ESP32 fornisce elaborazione dual-core, più GPIO, Bluetooth e crittografia hardware. Se si prevede di aggiungere più sensori, integrazione di voce, o eseguire un server web insieme a task-core semplice, la scelta ESP è ESP32.

Considerazioni di alimentazione

I microcontrolliri funzionano solitamente a 3.3V (fiches ESP) o 5V (Arduino), ma i relè richiedono spesso 5V. Un alimentatore 5V regolamentato che può fornire almeno 1A è una linea di base sicura; aggiungere la camera di testa supplementare se alimentano più sensori.

Cablaggio dell'hardware

Collegare i pin VCC e GND al 5V dell'alimentatore e al suolo, rispettivamente. Quindi collegare il perno di controllo del relè (spesso etichettato IN1, IN2, ecc.) ad un pin GPIO digitale sul microcontroller, ad esempio GPIO 5 su un pin ESP8266 tirato Cari logici di doppio controllo: moduli attivi] Molti

Per le luci: lavorare sempre con la corrente disconnessa. Collegare il filo di rete al terminale comune del relè (COM) e la luce fissa al terminale normalmente aperto (NO). In questo modo, quando il relè è attivato, il circuito si chiude e la luce si accende.

Per sensori opzionali: collegare il sensore di movimento PIR VCC a 5V (o 3.3V a seconda del modello), GND a terra e uscita a un pin GPIO digitale. I sensori di luce ambientale come il BH1750 utilizzano I2C: collegare SDA e SCL ai perni I2C del microcontrollore (tipicamente GPIO 4 e GPIO 5 su ESP8266).

Programmazione del Microcontroller

Impostazione dell'IDE Arduino per ESP

Installare il pacchetto di schede ESP8266 o ESP32 nell'IDE Arduino tramite il Boards Manager. Quindi selezionare la scheda appropriata dal menu Strumenti. Per i caricamenti di prima volta, è possibile avere bisogno di tenere il pulsante BOOT o utilizzare un adattatore USB-to-serial con le linee DTR / RTS adeguate. La maggior parte delle schede di sviluppo includono un ponte USB-UART e un circuito di risistemazione automatica.

Connessione Wi-Fi e server Web

Scrivere uno schizzo che si collega alla rete Wi-Fi utilizzando la funzione [[
]. Impostare gli indirizzi IP statici per evitare modifiche dopo il riavvio del router. Dopo la connessione, avviare un semplice server web HTTP che ascolta le richieste GET. Ad esempio:
]]

Puoi anche servire una pagina HTML minima con pulsanti per on/off, rendendo il sistema controllabile da qualsiasi browser della rete locale. Questo approccio è semplice e non richiede app esterne.

Aggiornamenti over-the-Air (OTA)

Una volta installato il dispositivo in una posizione remota, gli aggiornamenti OTA ti salvano dal dover ricollegare fisicamente. Includere la libreria [ nel tuo sketch e configurare una password. Questo consente di caricare il nuovo firmware in modalità wireless dall'Arduino IDE – una grande comodità.

Metodi di controllo

Interfaccia basata sul Web

Il server web che funziona sul microcontroller è il metodo di controllo più diretto. La pagina HTML può essere incorporata nel codice come una stringa o memorizzata in SPIFFS (LittleFS). Includi i pulsanti, cursori per la luminosità se si utilizza PWM, e forse un modulo di pianificazione. L'interfaccia può essere modellata con CSS per un look pulito.

Mobile Apps (Blynk, MQTT, Custom)

Piattaforme come Blynk] forniscono un drag-and-drop app builder che comunica con il vostro microcontroller su Wi-Fi. È possibile creare pulsanti, grafici e cursori senza scrivere codice mobile nativo. In alternativa, utilizzare il protocollo MQTT con un broker come Mosquitto, e lasciare qualsiasi applicazione client MQTT (ad esempio, MQTT Dashboard luci di controllo scala).

Integrazione Assistente vocale

Per il controllo senza mani, integrarsi con Amazon Alexa o Google Assistant. Il modo più semplice è quello di utilizzare il dispositivo Belkin Wemo ESP8266[] o utilizzare una libreria come Espalexa]. Queste librerie fanno apparire il microcontroller come una spina intelligente standard all'assistente vocale – Non è necessario un servizio di Lambncy

Automazione e integrazione dei sensori

Illuminazione attivata dal movimento

I sensori PIR rilevano le radiazioni a infrarossi dai corpi in movimento. Collegano un sensore PIR a un pin GPIO e lo impostano come input. Quando viene rilevato il movimento, l'uscita del sensore va HIGH (o LOW a seconda del modulo). Nel codice, è possibile accendere la luce e avviare un timer. Se non viene rilevato alcun movimento per un periodo configurabile, spegnere la luce.

Controllo adattivo della luce ambientale

Utilizzare un fotoresisto (LDR) connesso ad un ingresso analogico o un sensore digitale come il BH1750 per leggere valori lux. Quindi implementare una regola: accendere le luci solo quando la luce ambientale scende sotto una soglia e il movimento viene rilevato. Questo impedisce alle luci di accendersi durante la luce diurna luminosa. È inoltre possibile regolare l'intensità della luce tramite PWM (se si utilizzano LED dimmerabili e un relè adatto o MOSFET) per mantenere una luminosità percepita costante.

Scheduling basato sul tempo

Usare le funzioni di tempo dell'ESP tramite NTP. Ritira l'ora corrente da un server NTP all'avvio e memorizzalo. Quindi creare un programma: accendere le luci al tramonto e spegnerle in un tempo fisso (ad esempio, 11 PM).

Miglioramenti avanzati

Controllo scene

Gruppo luci multiple (ad esempio, soggiorno, camera da letto) e definiscono scene: “Modalità Movie” dims luci al 20%, “Leggi” imposta un bianco caldo luminoso. Ciò richiede più canali di relè o LED indirizzabili (come WS2812B) dove ogni LED può essere controllato individualmente.

Monitoraggio dell'energia

Aggiungete un sensore di corrente (CT) come il SCT-013 per misurare il consumo di energia del circuito di illuminazione. Il microcontrollore può leggere l'uscita analogica e calcolare i watt. Questi dati possono essere visualizzati su un cruscotto web o inviati ad un servizio come Home Assistant] per il monitoraggio a lungo termine.

Integrazione MQTT e Home Automation

Collegare il sistema di illuminazione a un hub di automazione domestica come Home Assistant o OpenHAB tramite MQTT. Questo consente di creare automatizzazioni complesse con altri sensori (ad esempio, accendere le luci quando si apre una porta o se viene rilevato un flash). Il microcontroller pubblica modifiche di stato e abbona agli argomenti di comando.

Sicurezza e migliori pratiche

La tensione dei componenti è pericolosa. Scollegare sempre l'alimentazione quando si cablaggi. Utilizzare una scatola di giunzione per chiudere tutte le connessioni di rete. Il modulo di relè deve essere posizionato in un contenitore non conduttivo, e il microcontrollore deve essere isolato da cablaggi ad alta tensione. Fusare l'ingresso principale della scheda di relè al circuito appropriato (ad esempio, 5A per un'illuminazione).

Considerate l'utilizzo di un relè a stato solido (SSR) per il commutatore silenzioso, soprattutto nelle camere da letto. I SSR non hanno contatti meccanici e una maggiore durata, ma generano calore e possono richiedere un dissipatore.

Evita le credenziali Wi-Fi in modo da poter implementare un portale di configurazione (teca Wi-Fi) che consente di impostare le credenziali tramite un punto di accesso temporaneo.

Risoluzione dei problemi Problemi comuni

  • Microcontroller non si connette al Wi-Fi:[] Verificare che SSID e password siano corrette. Verificare che il router non sia impostato su un intervallo di canali limitato.
  • Relè non commutazione:[ Misurare la tensione sul perno di controllo – dovrebbe passare tra 0V e 3.3V/5V a seconda del modulo. Alcuni relè richiedono un convertitore di livello di logica se il microcontrollore è 3.3V e il relè si aspetta logica 5V. Inoltre, controllare se il modulo è attivo LOW – potrebbe essere necessario invertire la logica in codice.
  • Le luci slittano quando si interruttori di relè:[] Questo spesso indica una connessione difettosa o un filtro di alimentazione insufficiente.
  • Il sensore PIR attiva falsamente:[ Ridurre la sensibilità tramite il potenziometro a bordo. Posizionare il sensore lontano da fonti di calore come le prese d'aria o la luce solare diretta.
  • Il server Web smette di rispondere dopo poche ore:[] Il microcontrollore può avere una perdita di memoria. Monitorare il salto libero tramite []. Timer di watchdog riabilitabili o programmare reimpostazioni periodiche utilizzando .

Mettere tutto insieme: Full Build Esempio

Costruiamo uno scenario concreto: una luce di corridoio con controllo attivato e ritardato, oltre a un override manuale tramite un pulsante e un comando vocale opzionale tramite Alexa.

Componenti: modulo relè ESP32, 1 canale 5V, sensore HC-SR501 PIR, interruttore momentaneo e lampadina LED. Potenza tramite un caricatore di 5V USB (1A). Filare il relè a GPIO 5, PIR a GPIO 4, pulsante a GPIO 2 (con pull-up interno).

Se viene rilevato il movimento e il sensore di luce ambientale (placeholder o utilizzare un timer semplice basato sul tempo del giorno) indica che è buio, accendere il relè e avviare un timer di 10 minuti. Se il pulsante viene premuto, attivare la luce manualmente e ripristinare il timer. Inoltre, Alex, l'ESP32 emula un Wemo.

Struttura del codice: creare funzioni per , [], [[]. Utilizzare ritardi non bloccanti con []. Il server web mostra lo stato attuale e consente il controllo manuale. Questo sistema è affidabile e può essere ampliato a più zone.

Conclusione e Prossimo Passo

La costruzione di un sistema di illuminazione intelligente personalizzato con microcontroller e Wi-Fi è un progetto gratificante che insegna elettronica, networking e programmazione. A partire da un semplice relè on/off, è possibile aggiungere incrementalmente sensori, logiche di automazione e integrazioni con piattaforme smart home. Il costo è basso rispetto ai sistemi commerciali, e la flessibilità è molto maggiore.

Dopo che il sistema di base è stabile, prendere in considerazione l'esplorazione di LED dimmerabili tramite PWM o strisce LED indirizzabili, aggiungendo un sensore di presenza per un controllo più fine, o integrando con applets IFTTT per la geo-fencing. Convalida il codice con test approfonditi – comportamento inaspettato con illuminazione può essere un pericolo di sicurezza. Infine, condividere il vostro lavoro con la comunità su forum come Reddit r/esp32 o Hackaday.io per ottenere feedback.

Per ulteriori informazioni, il Random Nerd Tutorials[] fornisce eccellenti guide passo-passo sul controllo relè ESP32, e il Espressif ESP-IDF documentazione[] offre approfondimenti sulle API Wi-Fi e MQTT. Queste risorse vi aiuteranno a prendere il vostro sistema di illuminazione intelligente.