Sommario:

ESP8266-01 IoT Smart Timer per l'automazione domestica: 9 passaggi (con immagini)
ESP8266-01 IoT Smart Timer per l'automazione domestica: 9 passaggi (con immagini)

Video: ESP8266-01 IoT Smart Timer per l'automazione domestica: 9 passaggi (con immagini)

Video: ESP8266-01 IoT Smart Timer per l'automazione domestica: 9 passaggi (con immagini)
Video: Home Automation System using multiple NodeMCU ESP8266 network with Blynk | IoT Projects 2021 2024, Dicembre
Anonim
ESP8266-01 IoT Smart Timer per l'automazione domestica
ESP8266-01 IoT Smart Timer per l'automazione domestica
ESP8266-01 IoT Smart Timer per l'automazione domestica
ESP8266-01 IoT Smart Timer per l'automazione domestica
ESP8266-01 IoT Smart Timer per l'automazione domestica
ESP8266-01 IoT Smart Timer per l'automazione domestica

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

Il design ESP8266-01
Il design ESP8266-01
Il design ESP8266-01
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

L'alimentatore
L'alimentatore
L'alimentatore
L'alimentatore
L'alimentatore
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

Assemblaggio della scheda PC
Assemblaggio della scheda PC
Assemblaggio della scheda PC
Assemblaggio della scheda PC
Assemblaggio della scheda PC
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

Test della scheda PC
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

Il recinto
Il recinto
Il recinto
Il recinto
Il recinto
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

Programmazione di ESP8266-01/NodeMCU
Programmazione di ESP8266-01/NodeMCU
Programmazione di ESP8266-01/NodeMCU
Programmazione di ESP8266-01/NodeMCU
Programmazione di ESP8266-01/NodeMCU
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

Prima configurazione
Prima configurazione
Prima configurazione
Prima configurazione
Prima configurazione
Prima configurazione

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

Configurazione del timer IoT
Configurazione del timer IoT
Configurazione del timer IoT
Configurazione del timer IoT
Configurazione del timer IoT
Configurazione del timer IoT
Configurazione del timer IoT
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: