Sommario:
- Passaggio 1: il design ESP8266-01
- Passaggio 2: l'alimentatore
- Passaggio 3: assemblaggio della scheda PC
- Passaggio 4: test della scheda PC
- Passaggio 5: il recinto
- Passaggio 6: programmazione di ESP8266-01/NodeMCU
- Passaggio 7: configurazione iniziale
- Passaggio 8: configurazione del timer IoT
Video: ESP8266-01 IoT Smart Timer per l'automazione domestica: 9 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
AGGIORNAMENTI
2018-09-30: Firmware aggiornato alla Ver 1.09. Ora con il supporto di base Sonoff
2018-10-01: versione di prova del firmware 1.10 disponibile per il test su ESP8266-01 con problemi
Con le nuove parole d'ordine come Internet Of Things (IoT) e Home Automation, ho deciso di esaminare gli elementi attuali dentro e intorno alla mia casa che sono controllati tramite una sorta di dispositivo. Gli elementi che si sono distinti, sono i seguenti:
- Pompa per piscina
- Riempimento dell'acqua della piscina
- Piscina e luci circostanti
- Luci armadio TV/sistema di intrattenimento
L'elemento comune utilizzato per controllare questi dispositivi sono i timer standard con presa a muro. Ogni dispositivo è dotato di un proprio timer e si trovano tutti in posizioni diverse. Allora perché ho scelto questi elementi per iniziare con progetti di Internet of Things o Home Automation, potresti chiedere?
Bene, vivere in Sudafrica significa che le interruzioni di corrente sono un evento normale. Con le statistiche della mia casa, ho avuto 35 interruzioni di corrente nell'ultimo anno, per un totale di 40 ore. Normalmente questo non è un problema, poiché tutti i timer attualmente installati sono dotati di una batteria di backup per tenere il tempo durante le interruzioni di corrente. Ma ci sono alcuni problemi:
- Queste batterie di riserva durano solo un anno o due, quindi il timer deve essere sostituito. I timer sono costruiti in modo tale che il timer debba essere distrutto per accedere alla batteria Ni-Cad interna.
- Ogni volta che viene a mancare l'alimentazione, è necessario riprogrammare i timer con batterie difettose e impostare l'ora.
- La posizione fisica del timer, quando è collegato alla presa a muro, rende quasi impossibile leggere i display lcd guardando il timer dall'alto. Ciò significa che il timer deve essere scollegato o devo sdraiarmi sul pavimento per impostare o regolare i timer dopo un'interruzione di corrente.
Per i motivi sopra esposti, ho deciso di testare la possibilità di sostituire i timer con uno Smart Timer IoT, connesso alla mia rete domestica locale.
L'idea era quella di progettare un timer autonomo, in grado di:
- Regola automaticamente l'ora corrente utilizzando Internet (IoT)
- Operato senza alcuna azione dell'utente (Smart)
- Attivare/disattivare un'uscita in base agli orari impostati (Timer)
- Programmabile e controllabile via rete (Home Automation)
Passaggio 1: il design ESP8266-01
La progettazione è stata eseguita utilizzando un modulo WiFi ESP8266-01, poiché questo è ciò che avevo a disposizione. Nella sua forma più semplice, ESP8266-01 ha quattro pin I/O:
- GPIO0
- GPIO2
- TX
- RX
ESP8266-01 Modalità di accensione
Lo stato logico dei pin I/O viene utilizzato per determinare in quale modalità si avvierà ESP8266-01. Il primo passo è stato determinare quale dei pin I/O può essere utilizzato per pilotare un relè di uscita.
- Per l'accensione normale, GPIO0 e GPIO2 devono essere impostati su logico HIGH. Quindi è chiaro che questi due pin non possono essere utilizzati come uscita digitale.
- Il pin Tx è impostato come uscita all'accensione e l'uscita è impostata su alto. Questo pin Tx trasmette anche alcuni dati seriali durante l'accensione. Pertanto, questo pin non può essere utilizzato nemmeno come uscita.
L'unico pin rimasto è il pin Rx. Questo pin è impostato come ingresso all'accensione e non deve essere tirato in alto durante l'accensione. Questo pin è quindi il più adatto per essere utilizzato come pin di uscita.
Avviare
Per garantire la corretta modalità di avvio dell'ESP8266-01 durante l'accensione, i seguenti pin vengono tirati in alto utilizzando resistori da 10K:
- GPIO0
- GPIO2
- RST
- CH_PD
Ciò garantisce che l'unità si avvii correttamente ogni volta.
Relè di uscita
L'RX è l'unico pin adatto per essere utilizzato come uscita. Questo pin viene quindi utilizzato per pilotare il relè di uscita tramite un transistor NPN. Sono stati aggiunti il diodo volano standard e i resistori di base del transistor.
Pulsante MODE/SET
Il pulsante è collegato a GPIO2 e con il pulsante rilasciato, un resistore da 10K tirerà GPIO2 in alto. Con il pulsante premuto, GPIO2 viene portato a 0V.
Questo pulsante viene utilizzato per due funzioni:
- Configurazione iniziale per connettere l'unità a una rete WiFi locale
- Per controllare manualmente l'uscita durante le normali operazioni
LED di indicazione
Il LED è collegato a GPIO0 e indica quanto segue:
- All'accensione iniziale, lampeggia VELOCEMENTE per indicare la modalità di configurazione WiFi
- Lampeggia lentamente quando l'ora dell'unità non è impostata
- indica lo stato On/Off del relè di uscita
Passaggio 2: l'alimentatore
Utilizzerò IoT Smart Timer su diversi livelli di tensione, quindi sono disponibili due opzioni di alimentazione:
12 - 24 V CC
Il convertitore DC-DC utilizzato è adatto per alimentazioni fino a 28V DC. L'uscita del convertitore è regolabile ed è impostata su 5V. Questo deve essere fatto prima che il modulo ESP8266 sia collegato.
È stato aggiunto un diodo per proteggere dall'inversione di polarità sull'ingresso di alimentazione.
220V ACPer questa opzione, sono stato in grado di ottenere un piccolo alimentatore switching 220V/5V su eBay.
Indipendentemente dalla tensione di ingresso, IoT Smart Timer necessita di due alimentatori:
Binario 5V
Con entrambe le opzioni, i 5 V CC sono ottenuti da un alimentatore a commutazione e non da un regolatore lineare. Ciò significa che il calore generato dall'alimentatore è minimo. Il 5V viene utilizzato per pilotare il relè di uscita
Binario 3.3V
Il 3.3V per ESP8266-01 è ottenuto da un regolatore ASM1117 3.3. L'ASM1117 3.3 è un regolatore lineare e può gestire fino a 500 mA. Tuttavia, il calore generato sarà determinato dalla tensione di ingresso all'ASM1117. Per ridurre il calore, l'ASM1117 è alimentato dalla linea 5V.
Filtraggio del rumore
Per ridurre l'ondulazione di tensione all'ESP8266-01, il binario da 3,3 V è dotato di un condensatore da 100 - 1000 uf. Entrambi i binari 5V e 3.3V sono inoltre protetti dalle interferenze ad alta frequenza da condensatori 0.1uf.
Passaggio 3: assemblaggio della scheda PC
La scheda PC è stata progettata utilizzando la versione freeware di Eagle. Si tratta di una lavagna a un lato, che può essere facilmente realizzata a casa utilizzando il metodo di trasferimento del toner.
Una volta realizzata la scheda PC, assemblare la scheda PC nel seguente ordine:
- Saldare il regolatore ASM1117 e tre componenti SMD 0.1uf al lato saldatura della scheda
- Aggiungi il singolo ponticello al lato componenti della scheda
- Saldare le resistenze e i diodi in posizione
- Aggiungi le intestazioni per il modulo ESP8266-01
- Aggiungi i pin dell'intestazione per il LED e il pulsante
- Aggiungere i terminali a vite
- Utilizzando i pin dell'intestazione, collegare il convertitore CC/CC alla scheda.
- Saldare il relè in posizione
- Completa la scheda saldando il transistor e il condensatore da 100uf.
Una volta che tutti i componenti sono stati saldati alla scheda, verificare tutti i punti di saldatura e assicurarsi che non ci siano cortocircuiti tra i pad.
! ! ! NOTA IMPORTANTE ! ! ! Per garantire che la scheda PC sia in grado di gestire grandi correnti sui contatti di uscita, applicare una discreta quantità di saldatura alle piste tra i contatti del relè e i terminali a vite
Passaggio 4: test della scheda PC
! ! ! Prima di applicare l'alimentazione! ! !
Rimuovere il modulo ESP8266-01 dall'unità. Questo serve a prevenire il surriscaldamento del regolatore ASM1117 prima che l'alimentazione a 5V sia regolata.
Non ci sono molti test che possono essere fatti dopo il montaggio. Il passaggio più importante è garantire i livelli di tensione corretti.
- Applicare 12 - 24 V CC all'unità.
- Misurare la tensione di uscita del convertitore DC/DC
- Regolare l'uscita del convertitore tra 5,0 e 5,5 V.
- Quindi, misurare l'alimentazione a 3,3 V.
- Se le forniture sono a posto, togliere l'alimentazione dall'unità
Ora puoi inserire il modulo ESP8266-01 nelle intestazioni fornite.
! ! ! Nota !
Una volta che il timer IoT è stato testato e funziona, utilizzare una vernice trasparente per coprire il lato saldato della scheda PC. Ciò impedirà l'ossidazione dei binari e fornirà un isolamento extra tra i contatti del relè e il resto del circuito
Passaggio 5: il recinto
La custodia non è così importante, purché la scheda PC e tutti i cavi si inseriscano in modo ordinato e sicuro.
Per semplificare la costruzione, ho realizzato un cavo con il LED e il pulsante MODE/SETUP collegati ad esso. Questo mi ha dato una maggiore flessibilità nel montare il LED e il pulsante sulla custodia. Questo cavo viene quindi inserito nell'intestazione sulla scheda PC.
Le foto mostrano una delle unità a 12V utilizzate per le luci a LED.
Passaggio 6: programmazione di ESP8266-01/NodeMCU
Per programmare ESP8266-01, devi prima configurare l'IDE Arduino. Non entrerò in questi dettagli, poiché ci sono molti ottimi Instructables disponibili su questo argomento. Ho scelto i seguenti link su Instructables come riferimento, senza alcun ordine specifico per gli autori. Grazie per i loro Instructables individuali.
Segui questo ESP8266 e Arduino IDE per configurare l'IDE Arduino per il modulo ESP8266.
Successivamente, avrai bisogno di un programmatore per programmare ESP8266. Ecco due link:
Usare Arduino Uno
Scheda di programmazione fai da te
Biblioteche
Sarà necessario installare librerie aggiuntive per poter compilare il codice. Di nuovo, fai riferimento a questo Instructable:
Installa e usa le librerie Arduino
Non ricordo quali librerie ho dovuto installare, ma so che WiFiManager deve essere scaricato separatamente. Le ho incluse nel file Libraries.zip.
Passaggio 7: configurazione iniziale
Quando viene utilizzato per la prima volta, IoT Smart Timer deve essere connesso a una rete WiFi. Questa attività viene eseguita utilizzando la libreria WiFiManager, quindi non è necessario digitare SSID o password nel codice.
Segui questi pochi passaggi:
- Accendere l'unità
- Il LED inizierà a lampeggiare rapidamente
- Premere il pulsante MODE/SETUP
- Quando il LED si spegne, rilasciare il pulsante
- Attendi qualche secondo, quindi apri le connessioni WiFi del tuo smartphone o dispositivo
- Sarà visibile una nuova rete WiFi chiamata IoT Timer
- Seleziona questo punto di accesso
- Accedi al Timer IoT (non è richiesta alcuna password)
- Attendi che il tuo dispositivo sia connesso alla rete IoT Timer
- Apri qualsiasi browser Internet
- Nella barra degli indirizzi, digita il seguente indirizzo IP - 192.168.4.1
- La console WiFiManager si aprirà
- Seleziona Configura WiFi
- Verrà visualizzato un elenco con i punti delle reti WiFi disponibili
- Seleziona la rete WiFi richiesta e digita la password
- Successivamente, inserisci l'indirizzo IP che desideri utilizzare per connetterti all'IoT Timer
- Immettere l'indirizzo IP del gateway predefinito, seguito dalla maschera
- Una volta effettuate tutte le impostazioni, fare clic sul pulsante Salva
- Si aprirà una nuova finestra per confermare che le nuove credenziali sono state salvate
- Chiudi il browser
Una volta salvato, la rete IoT Timer si spegnerà e l'unità proverà a connettersi alla tua rete WiFi.
- Collega il tuo smartphone o dispositivo alla stessa rete WiFi utilizzata per il timer IoT.
- Apri il tuo browser
- Nella barra degli indirizzi, digita l'indirizzo IP del tuo timer IoT
- Si aprirà la pagina di configurazione del Timer IoT
Il tuo timer IoT è ora pronto per l'uso
Passaggio 8: configurazione del timer IoT
La pagina Web incorporata del timer IoT è composta da cinque sezioni:
Stato
Questo mostra il nome del dispositivo, così come l'ora corrente e lo stato dell'uscita del timer
Inoltre, in questa sezione viene impostata la modalità di funzionamento del timer. Ci sono tre modalità:
- Auto - L'uscita sarà controllata dai diversi programmi timer
- On - L'uscita è forzata su ON e rimarrà attiva finché la modalità non viene modificata
- Off: l'uscita viene forzata su OFF e rimarrà disattivata fino a quando non verrà modificata la modalità.
Programmi
Questa sezione contiene gli orari di accensione e spegnimento del timer. Sono disponibili sette programmi e ciascun programma può essere impostato individualmente.
Prima di cambiare il programma successivo, premere il pulsante SAVE per salvare eventuali modifiche apportate al programma corrente.
Funzione pulsante
Il pulsante MODE/SETUP può essere utilizzato per controllare il relè di uscita durante il normale funzionamento. Qui, seleziona cosa deve fare il pulsante quando viene premuto.
Spuntare la casella "Aggiorna funzione pulsante" prima di premere il pulsante Salva per salvare le nuove impostazioni.
Configurazione
Qui puoi cambiare il nome del Timer IoT. Ciò semplifica l'identificazione tra più timer.
L'ora sull'unità è ottenuta da Internet tramite un server dell'ora NTP. Per visualizzare l'ora corretta, aggiorna il fuso orario della tua regione.
Se desideri utilizzare un time server NTP diverso, inserisci il nuovo indirizzo IP nell'apposito spazio.
Spuntare la casella "Aggiorna configurazione" prima di premere il pulsante Salva per salvare le nuove impostazioni.
NOTA
Quando si modifica il fuso orario, la nuova ora verrà impostata correttamente solo durante la successiva query dell'ora. L'unità è impostata per aggiornare l'ora ogni 5 minuti.
Regolazione dell'ora
A volte capita che il server dell'ora NTP non risponda a ogni richiesta di orario. Se l'impostazione dell'ora tramite il server NTP impiega troppo tempo, è possibile inserire manualmente l'ora e la data.
Spuntare la casella "Aggiorna ora" prima di premere il pulsante Salva per salvare la nuova ora e data.
Sincronizzazione dell'ora
L'ultima parte della pagina indica l'ora e la data dell'ultima sincronizzazione dell'ora tramite il server dell'ora NTP.
Consigliato:
Automazione domestica controllata da Internet/cloud utilizzando Esp8266 (aREST, MQTT, IoT): 7 passaggi (con immagini)
Automazione domestica controllata da Internet/cloud utilizzando Esp8266 (aREST, MQTT, IoT): TUTTI i crediti a http://arest.io/ per il servizio cloud!! IoT l'argomento più discusso al mondo in questo momento!! Server e servizi cloud che lo rendono possibile è il punto di attrazione del mondo di oggi… ELIMINARE LA BARRIERA DELLA DISTANZA era ed è il
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: ho realizzato questo localizzatore GPS l'anno scorso e dato che funziona bene lo pubblico ora su Instructable. È collegato alla presa degli accessori nel mio bagagliaio. Il localizzatore GPS carica la posizione dell'auto, la velocità, la direzione e la temperatura misurata tramite un dato mobile
Supporto a parete per IPad come pannello di controllo per l'automazione domestica, utilizzando il magnete servocontrollato per attivare lo schermo: 4 passaggi (con immagini)
Supporto a parete per IPad come pannello di controllo per l'automazione domestica, utilizzando il magnete servocontrollato per attivare lo schermo: Ultimamente ho trascorso un po' di tempo ad automatizzare le cose dentro e intorno alla mia casa. Sto usando Domoticz come applicazione di automazione domestica, vedere www.domoticz.com per i dettagli. Nella mia ricerca di un'applicazione dashboard che mostri tutte le informazioni di Domoticz insieme
Costruire dispositivi domestici per l'IoT o l'automazione domestica: 7 passaggi (con immagini)
Costruire dispositivi domestici per IoT o automazione domestica: questa istruzione fa parte della mia serie di automazione domestica fai-da-te, consulta l'articolo principale "Pianificazione di un sistema di automazione domestica fai-da-te". Se non sai ancora cos'è Homie, dai un'occhiata a homie-esp8266 + homie di Marvin Roger. Ci sono molti molti sen
Controller di rete IoT. Parte 9: IoT, automazione domestica: 10 passaggi (con immagini)
Controller di rete IoT. Parte 9: IoT, automazione domestica: Dichiarazione di non responsabilitàLEGGERE PRIMA QUESTO Questo Instructable descrive in dettaglio un progetto che utilizza l'alimentazione di rete (in questo caso UK 240VAC RMS), mentre è stata prestata ogni attenzione per utilizzare pratiche sicure e buoni principi di progettazione, c'è sempre il rischio di potenzialmente letale eleggere