Sommario:

Controller di rete IoT. Parte 9: IoT, automazione domestica: 10 passaggi (con immagini)
Controller di rete IoT. Parte 9: IoT, automazione domestica: 10 passaggi (con immagini)

Video: Controller di rete IoT. Parte 9: IoT, automazione domestica: 10 passaggi (con immagini)

Video: Controller di rete IoT. Parte 9: IoT, automazione domestica: 10 passaggi (con immagini)
Video: Visual Studio e' il tool giusto per gli sviluppatori IoT/Automation/Embedded? - Marco Dal Pino 2024, Novembre
Anonim
Controller di rete IoT. Parte 9: IoT, automazione domestica
Controller di rete IoT. Parte 9: IoT, automazione domestica

Disclaimer

LEGGI PRIMA QUESTO

Questo Instructable descrive in dettaglio un progetto che utilizza l'alimentazione di rete (in questo caso nel Regno Unito 240 V CA RMS), mentre è stata prestata ogni attenzione per utilizzare pratiche sicure e buoni principi di progettazione, c'è sempre il rischio di scosse elettriche potenzialmente letali quando si lavora con queste tensioni di alimentazione e per che l'autore non può assumersi alcuna responsabilità se si verificano lesioni personali o danni alla proprietà seguendo il suo contenuto. Di conseguenza, realizzi questo progetto a tuo rischio.

Preambolo

Questo articolo, il nono di una serie sull'automazione domestica, documenta come creare e integrare un controller di rete Sonoff 10A IoT in un sistema di automazione domestica esistente, incluse tutte le funzionalità software necessarie per consentire l'implementazione di successo in un ambiente domestico.

introduzione

Come accennato in precedenza, questo Instructable descrive in dettaglio come realizzare e integrare un controller di rete IoT utilizzando Sonoff 10A di iTead. Il dispositivo stesso è indicato come valutato per 10 ampere a 90 ~ 250 V CA, tuttavia questa implementazione lo declassa a quello di 5 ampere tramite la spina con fusibile che fornisce l'alimentazione principale domestica del Regno Unito di 240 V CA RMS.

La metodologia di progettazione si integra perfettamente nella rete IoT basata su MQTT/OpenHAB dettagliata in questa serie sulla costruzione dell'automazione domestica su codice riutilizzato preso da qui. Può anche gestire la perdita di qualsiasi elemento della rete IoT ed è pienamente in grado di funzionare autonomamente. Mentre in modalità standalone, il controllo del dispositivo si ottiene semplicemente premendo il pulsante di controllo sulla parte superiore dell'involucro, che commuta l'uscita di alimentazione in avanti.

Per abilitare questo controllo locale del dispositivo Sonoff, GPIO14 viene estratto dalla custodia e viene utilizzato come ingresso trigger. Per garantire la sicurezza, questo ingresso è alimentato tramite un circuito fotoaccoppiatore e alloggiato in un involucro di plastica in modo che l'operatore non sia mai esposto alla tensione di rete.

Infine, la prosa delinea anche come riprogrammare il dispositivo ESP8266 nel Sonoff 10A utilizzando l'IDE Arduino e fornisce i dettagli completi del circuito di un dispositivo che può essere utilizzato per programmare in modo affidabile il codice target.

Di quali parti ho bisogno?

Controller di rete Sonoff

  1. 1 sconto Sonoff 10A qui
  2. 1 regolatore di tensione 7805L 5v qui
  3. 1 trasformatore 240/6VAC 1.5VA qui
  4. 2 condensatori ceramici da 0,1 qui
  5. 1 off 1000uF @ 25v condensatore elettrolitico qui
  6. 1 raddrizzatore a ponte 2W01 qui
  7. 2 off 4K7 resistori qui
  8. 1 off 330R resistore qui
  9. 1 pulsante SPST spento qui
  10. 1 box in ABS Mulitcomp BM12W qui
  11. 1 fotoaccoppiatore TIL111 qui
  12. 1 morsettiera a 3 vie qui
  13. 1 connettore molex codificato a 2 vie qui/qui
  14. 1 connettore molex codificato a 3 vie qui/qui
  15. 1 connettore molex codificato a 5 vie qui/qui
  16. 1 perno molex a 5 vie qui
  17. 1 off Winbond SPI Flash (W25Q32FVSIG) qui
  18. 1 portafusibile da 20 mm + cappuccio qui
  19. 1 fusibile da 20 mm ad azione rapida da 500 mA qui
  20. 2 pressacavi in poliammide qui
  21. 1 spina di alimentazione del Regno Unito (BS1363/A) qui
  22. 1 presa principale del Regno Unito (BS1363/A) qui
  23. 7 viti in nylon M3 16 mm CS, (inclusi 10 dadi) qui/qui
  24. 2 fascette di sconto qui
  25. 1 off veroboard (passo 0,1") qui
  26. 1 off Varie lunghezze 22swg filo di rame stagnato qui
  27. 1 cavo di alimentazione 3M bianco per il Regno Unito qui
  28. 10 crimpature per prese Molex qui

Programmatore Sonoff

  1. 1 regolatore di tensione LD33CV 3v3 qui
  2. 1 fuori il dissipatore di calore TO-220 qui
  3. 1 sconto sulla pasta del dissipatore di calore qui
  4. 1 off 10uF @16v condensatore elettrolitico qui
  5. 1 off 0.1 condensatore ceramico qui
  6. 1 pulsante SPDT spento qui
  7. 1 off 4K7 resistore qui
  8. 1 connettore molex codificato a 2 vie qui/qui
  9. 1 connettore molex codificato a 3 vie qui/qui
  10. 5 crimpature per prese Molex qui
  11. 1 presa molex a 6 vie qui
  12. 1 pulsante SPST spento qui
  13. 1 presa per PSU da 2,1 mm qui
  14. 1 off veroboard (passo 0,1") qui
  15. 1 adattatore da USB a seriale (FTDI) qui

Di che software ho bisogno?

  1. Arduino IDE 1.6.9 qui
  2. Arduino IDE configurato per programmare ESP8266. Vedere qui; Configurazione dell'IDE Arduino per programmare ESP8266-01

Di quali strumenti ho bisogno?

  1. Saldatore,
  2. Trapano e punte varie (inclusa fresa per fori a gradini per pressacavi e pulsante di controllo),
  3. Cacciaviti (vari),
  4. Chiavi regolabili (due fuori, larghezza ganasce >25mm, per pressacavi),
  5. File (vari),
  6. Vizio robusto,
  7. pistola termica,
  8. DMM (preferibilmente CAT IV).

Di quali competenze ho bisogno?

  1. Una buona conoscenza dell'elettronica e della sicurezza/progettazione/cablaggio elettrico domestico, ecc.,
  2. Conoscenza di Arduino e del suo IDE,
  3. Buone capacità di fabbricazione (saldatura, limatura, foratura ecc.),
  4. un po' di pazienza,
  5. Una certa comprensione della tua rete domestica.

Argomenti trattati

  • introduzione
  • Panoramica del circuito
  • Sonoff RetroMods
  • Dettagli di costruzione e montaggio
  • Adattatore di programmazione Sonoff
  • Panoramica del sistema software
  • Panoramica del software
  • Configurazione OpenHAB
  • Testare il tuo dispositivo IoT
  • Conclusione
  • Riferimenti utilizzati

Link di serie

Alla parte 8: sensore di temperatura e umidità WiFi IoT. Parte: 8 IoT, Domotica

Alla Parte 10: Telecomando IR tramite IoT. Parte 10 IoT, automazione domestica

Passaggio 1: panoramica del circuito

Panoramica del circuito
Panoramica del circuito
Panoramica del circuito
Panoramica del circuito
Panoramica del circuito
Panoramica del circuito
Panoramica del circuito
Panoramica del circuito

Panoramica

Come menzionato nell'introduzione sopra, per poter accendere e spegnere il controller di rete localmente era necessario un ingresso all'ESP8266 integrato del Sonoff. L'introduzione di un tale ingresso esterno richiede la violazione dell'involucro dell'ABS Sonoff e quindi crea un potenziale rischio di scosse. Per ovviare a questo problema ho utilizzato l'isolamento ottico in modo tale che non vi sia alcuna possibilità di esposizione all'elettricità di rete al di fuori dell'involucro del sistema del controller di rete.

Quella che segue è una descrizione del circuito di isolamento ottico (nella foto 1 sopra).

Dettagli del circuito

Il circuito di optoisolamento riceve l'alimentazione direttamente dalla rete applicata all'unità. Il 240 V CA RMS è applicato al trasformatore stepdown/isolamento TR1 tramite J1 un contatto pheonix MKDSN2, 5/3-5,08 terminale in poliammide a 3 vie da 16 A a 400 V in grado di trasportare un cavo di 2,5 mm (sq) CSA e F1 a 500 mA 20 mm fusibile rapido. La 6VAC disponibile sugli avvolgimenti secondari di TR1 è raddrizzata ad onda intera dal ponte di diodi B1.

Questa uscita raddrizzata a onda intera viene quindi stabilizzata e regolata da C1, C2 C3, R3 e IC1 un regolatore shunt serie 7805L, fornendo una buona e pulita linea di alimentazione a 5 V.

Il binario 5v viene quindi utilizzato per controllare l'ingresso a OK1 un optoisolatore TIL111 tramite un pulsante SPST bianco montato esternamente collegato attraverso J3. L'uscita del TIL111 è accoppiata all'ingresso Sonoff GPIO14 tramite R2 un resistore di pull up 4K7. In questo modo si ottiene un isolamento migliore di 340V (cioè tensione di picco = (240VAC*sqroot(2))).

Passaggio 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

Per poter integrare il dispositivo Sonoff 10A è necessario apportare alcune modifiche retrospettive.

Il primo è aggiungere un connettore molex a 5 vie con passo 0,1 come mostrato nella figura 1 sopra. Ciò consente l'accesso a GPIO14 sul Sonoff una volta che la copertura protettiva è stata sostituita come nelle immagini 2 e 3 sopra.

Sebbene non mostrato sopra, ho anche messo in evidenza le linee TX/RX seriali per consentire la programmazione in loco (fare riferimento al cablaggio SK1..3 nel passaggio 1 sopra).

La seconda modifica consiste nell'aumentare la dimensione del dispositivo SPI Flash da 1 MByte predefinito a 4 MByte, questo per consentire spazio sufficiente per conservare i file del server Web IoT in SPIFFS.

Ho acquistato il dispositivo flash SMD SPI (W25Q32FVSIG) da Ebay qui

Per sostituire il flash ho rimosso momentaneamente il LED Sonoff come in figura 4 per dare un migliore accesso al dispositivo SMD. Per dissaldare il flash ho usato una pistola termica come mostrato nella foto 5 sopra. Quindi risaldati rispettivamente sia il Flash da 4 MByte che il LED (foto 6).

Passaggio 3: dettagli di costruzione e montaggio

Dettagli di costruzione e montaggio
Dettagli di costruzione e montaggio
Dettagli di costruzione e montaggio
Dettagli di costruzione e montaggio
Dettagli di costruzione e montaggio
Dettagli di costruzione e montaggio
Dettagli di costruzione e montaggio
Dettagli di costruzione e montaggio

Ho racchiuso il controller di rete in una scatola ABS Mulitcomp BM12W (foto 1 sopra). Questa custodia ha inserti M3 in ottone isolati che consentono un accesso multiplo all'unità senza compromettere le filettature di fissaggio in modo tale che il fusibile interno possa essere sostituito se necessario o l'ispezione interna possa essere effettuata nel tempo (lo stesso non si può dire per il dispositivo Sonoff, che è effettivamente una chiusura una tantum utilizzando i self taper).

Il serracavo primario per il cavo di alimentazione che trasporta la rete è stato ottenuto tramite un pressacavo M16 in nylon/poliammide 6/6 bianco che supporta un cavo con diametro esterno min/max 5 mm/10 mm.

Il pressacavo secondario era tramite una singola fascetta posizionata sul cavo, nel caso in cui venisse applicata una tensione eccessiva e il pressacavo si guasta, la fascetta manterrà il cavo in posizione.

Per montare i pressacavi e fornire spazio sufficiente per montare il Sonoff e l'elettronica di isolamento ottico, ho rimosso le nervature di montaggio del PCB interne come mostrato sopra (foto 2).

Tutta l'elettronica è stata montata in modo sicuro tramite viti CS in nylon M3 per garantire l'isolamento con l'esterno della custodia. L'elettronica di optoisolamento è montata con 5 punti di fissaggio per garantire una solida resistenza meccanica in caso di caduta dell'unità, impedendo così alla massa del trasformatore di isolamento di interrompere il circuito della veroboard.

La fornitura all'unità è stata ottenuta tramite cavo di rete multifilare (32/0,2 mm quadrati) con codice colore bianco a 3 conduttori isolato in PVC da 1 mm (sq) CSA. con un diametro esterno di 7,2 mm in grado di trasportare 10 A.

L'unità è stata collegata all'alimentazione di rete del Regno Unito (240 V CA RMS) tramite una spina di sicurezza standard a 3 pin (BS 1363/A) approvata. La spina era fusa a 5A.

Tutti i cavi di alimentazione di rete al circuito di opto-isolamento sono stati collegati tramite contatti pheonix MKDSN2, terminali in poliammide 5/3-5.08 da 16 A a 400 V in grado di trasportare un cavo di 2,5 mm (sq) CSA, fornendo così un'ampia capacità per due cavi in ogni posizione.

Nessun cavo di rete è stato stagnato, solo attorcigliato per evitare la divaricazione dei nuclei prima dell'inserimento nel blocco connettore. Stagnare i cavi di rete è una pratica pericolosa poiché la saldatura si "rilassa" nel tempo causando la perdita del cavo nel blocco connettore.

Nota:

  • DE = Diametro esterno.
  • VAC = Volt corrente alternata
  • RMS = Root Mean Square
  • CSA = Area della sezione trasversale
  • CS = Contatore affondato

Passaggio 4: adattatore di programmazione Sonoff

Adattatore di programmazione Sonoff
Adattatore di programmazione Sonoff
Adattatore di programmazione Sonoff
Adattatore di programmazione Sonoff
Adattatore di programmazione Sonoff
Adattatore di programmazione Sonoff
Adattatore di programmazione Sonoff
Adattatore di programmazione Sonoff

Ci sono due aspetti da considerare quando si riprogramma il Sonoff 10A tramite l'IDE Arduino;

  1. Configurare il tuo Arduino IDE per programmare ESP8266,
  2. L'atto di programmare l'hardware stesso.

Configurazione dell'IDE Arduino per programmare ESP8266

Per configurare il tuo Ardino IDE segui le istruzioni qui Configurazione dell'IDE Arduino per programmare ESP8266-01

Programmazione dell'hardware

Questo è un processo in più fasi come in tutti i casi con ESP8266. Qui, l'alimentazione Sonoff viene applicata alla scheda tramite un'alimentazione DC 3v3 stabilizzata esterna e NON dall'alimentazione di rete. Sarà necessario un dispositivo da USB a seriale per inviare e ricevere dati da e verso Sonoff. Collegare TX e RX come mostrato in Pic 2 e 4.

Fasi di programmazione (generali)

  1. Per prima cosa assicurati che non ci sia alimentazione di rete esterna applicata al Sonoff,
  2. Tieni premuto il pulsante sul dispositivo Sonoff. (foto 1 sopra, pulsante re-flash contrassegnato),
  3. Applicare l'alimentazione DC 3v3 esterna al pin 1. (foto 2 sopra),
  4. Rilascia il pulsante Sonoff,
  5. Il dispositivo può ora essere riprogrammato nel solito modo tramite l'IDE Arduino.

Per rendere le cose un po' più semplici ho creato il dispositivo di programmazione sopra (foto 3 e 4) che si interfacciava al Sonoff tramite il cablaggio SK1…3 (come descritto in questo Instructable Step 1.). Ciò ha consentito una programmazione più semplice dell'ESP8266. Ha anche fornito un mezzo per testare GPIO14 come ingresso attraverso l'uso di R1 un resistore di pull-up 4K7 e il pulsante S1.

Utilizzando il dispositivo di programmazione sopra (foto 3 e 4) I passaggi di programmazione sono,

  1. Tieni premuto il pulsante re-flash sul Sonoff,
  2. Impulsa l'alimentazione 3v3 premendo momentaneamente S2,
  3. Rilasciare il pulsante re-flash,
  4. Ora è possibile programmare il dispositivo.

NOTA - ATTENZIONE

In NESSUN caso l'alimentazione deve essere fornita tramite rete durante l'attività di riprogrammazione Sonoff

Passaggio 5: panoramica del sistema software

Panoramica del sistema software
Panoramica del sistema software
Panoramica del sistema software
Panoramica del sistema software

Questo dispositivo IoT Mains Controller per la maggior parte contiene gli stessi sei componenti software chiave del sensore di temperatura e umidità Instructable WiFi IoT. Parte: 8 IoT, Home Automation e mostrato nella foto 1 sopra, con alcune personalizzazioni.

SPIFFS

Questo è il sistema di archiviazione flash SPI integrato (aggiornato a 4 MByte) e viene utilizzato per contenere le seguenti informazioni (vedere la figura 2 sopra);

  • Icone e 'Home Page di configurazione del controller di rete' html: Servito dal dispositivo IoT quando non è in grado di connettersi alla rete WiFi IoT (di solito a causa di informazioni di sicurezza errate) e fornisce all'utente un mezzo per configurare da remoto il controller di rete senza la necessità di riprogrammare o caricare nuovi contenuti SPIFFS.
  • Informazioni sulla sicurezza: conserva le informazioni utilizzate all'accensione dal dispositivo IoT per connettersi alla rete WiFi IoT e al broker MQTT. Le informazioni inviate tramite la 'Home Page di configurazione del controller di rete' vengono scritte in questo file ('secvals.txt').

Nota: per configurare inizialmente il dispositivo, vedere qui per tutti i dettagli su come utilizzare SPIFFS con l'IDE Arduino.

Server mDNS

Questa funzionalità viene invocata quando il dispositivo IoT non è riuscito a connettersi alla tua rete WiFi come stazione WiFi e invece è diventato un punto di accesso WiFi simile a un router WiFi domestico. Nel caso di un router di questo tipo, ti connetteresti in genere inserendo l'indirizzo IP di qualcosa come 192.168.1.1 (di solito stampato su un'etichetta apposta sulla scatola) direttamente nella barra degli URL del tuo browser, dopodiché riceverai una pagina di accesso da inserire il nome utente e la password per consentire di configurare il dispositivo. Per ESP8266 in modalità AP (modalità Access Point) il dispositivo ha l'indirizzo IP predefinito 192.168.4.1, tuttavia con il server mDNS in esecuzione devi solo inserire il nome descrittivo "MAINSCON.local" nella barra degli URL del browser per vedere il 'Home page di configurazione del controller di rete'.

Cliente MQTT

Il client MQTT fornisce tutte le funzionalità necessarie a; connettiti al tuo broker MQTT di rete IoT, iscriviti agli argomenti di tua scelta e pubblica payload su un determinato argomento. In breve, fornisce funzionalità di base IoT.

Server Web

Come accennato in precedenza, se il dispositivo IoT non è in grado di connettersi alla rete WiFi il cui SSID, P/W ecc. è definito nel file Security Information contenuto in SPIFFS il dispositivo diventerà un Access Point. Una volta connesso alla rete WiFi fornita dall'Access Point, la presenza di un Web Server HTTP consente di connettersi direttamente al dispositivo e modificarne la configurazione tramite l'utilizzo di un Web Browser HTTP, lo scopo è quello di servire la configurazione del controller di rete Pagina web della Home Page che si trova anche in SPIFFS.

Stazione WiFi

Questa funzionalità offre al dispositivo IoT la possibilità di connettersi a una rete WiFi domestica utilizzando i parametri nel file Informazioni sulla sicurezza, senza questo il dispositivo IoT non sarà in grado di iscriversi/pubblicare al Broker MQTT

Punto di accesso WiFi

La possibilità di diventare un Access Point WiFi è un mezzo attraverso il quale il dispositivo IoT consente di connettersi ad esso e apportare modifiche alla configurazione tramite una stazione WiFi e un browser (come Safari sull'iPad di Apple). Questo punto di accesso trasmette un SSID = "MAINSCON" + le ultime 6 cifre dell'indirizzo MAC del dispositivo IoT. La password per questa rete chiusa è fantasiosamente chiamata "PASSWORD".

Passaggio 6: panoramica del software

Panoramica del software
Panoramica del software
Panoramica del software
Panoramica del software
Panoramica del software
Panoramica del software
Panoramica del software
Panoramica del software

Preambolo Per compilare con successo questo codice sorgente avrai bisogno delle seguenti librerie extra;

PubSubClient.h

  • Di: Nick O'Leary
  • Scopo: consente al dispositivo di pubblicare o sottoscrivere argomenti MQTT con un determinato broker
  • Da:

Rimbalzo2.h

  • Di: Thomas O Fredericks
  • Scopo: interruttore di ingresso antirimbalzo nel software
  • Da:

Panoramica del codice

Il software utilizza la macchina a stati come mostrato nella figura 1 sopra (copia completa della fonte fornita di seguito). Ci sono 5 stati principali come segue;

  • DENTRO

    Questo stato di inizializzazione è il primo stato in cui si entra dopo l'accensione

  • NOCONFIG

    Questo stato viene inserito se dopo l'accensione viene rilevato un file secvals.txt non valido o mancante

  • IN ATTESA NO

    Questo stato è transitorio, inserito mentre non esiste una connessione di rete WiFi

  • MQTT. IN ATTESA

    Questo stato è transitorio, inserito dopo che è stata effettuata una connessione di rete WiFi e mentre non esiste alcuna connessione a un broker MQTT su quella rete

  • ATTIVO

    Questo è il normale stato operativo a cui si accede una volta stabilita sia una connessione di rete WiFi che una connessione MQTT Broker. È durante questo stato che il controller di rete pubblicherà sul broker MQTT e riceverà comandi tramite argomenti sottoscritti

Gli eventi che controllano le transizioni tra gli stati sono descritti nella figura 1 sopra. Le transizioni tra gli stati sono inoltre regolate dai seguenti parametri SecVals;

  • Primo indirizzo IP del broker MQTT. In forma decimale puntata AAA. BBB. CCC. DDD
  • 2a porta broker MQTT. In forma intera.
  • 3° tentativo di connessione al broker MQTT prima di passare dalla modalità STA alla modalità AP. In forma intera.
  • 4° SSID di rete WiFi. Nel testo in forma libera.
  • 5a password di rete Wi-Fi. Nel testo in forma libera.

Come accennato in precedenza, se il dispositivo IoT non è in grado di connettersi come Stazione WiFi alla rete WiFi il cui SSID e P/W è definito in secvals.txt contenuto in SPIFFS il dispositivo diventerà un punto di accesso. Una volta connesso a questo punto di accesso, servirà la 'Home Page di configurazione del controller di rete' come mostrato sopra nella figura 2 (immettendo 'MAINSCON.local' o 192.168.4.1 nella barra degli indirizzi URL del browser). Questa home page consente la riconfigurazione del controller di rete tramite un browser

Convenzione di denominazione degli argomenti MQTT

Delineato nella foto 3 sopra è la convenzione di denominazione utilizzata per gli argomenti MQTT ed è coerente con il modello utilizzato nel mio precedente Instructable (qui il passaggio 5).

Argomenti MQTT utilizzati da questo dispositivo IoT

Per chiarezza ho documentato (foto 4) gli argomenti e le sequenze di messaggi associate a cui questo dispositivo pubblica/sottoscrive. L'immagine mostra anche l'interazione con il pulsante di controllo bianco all'esterno dell'involucro (anche se, ironia della sorte, il pulsante è mostrato in rosso).

Accesso remoto alla configurazione in stato ATTIVO

Una volta connesso al Broker MQTT è possibile riconfigurare da remoto i parametri di sicurezza del dispositivo tramite pubblicazioni tematiche MQTT. Il file associato secvals.txt ha accesso in sola scrittura esposto.

Debug utente

Durante la sequenza di avvio il led del dispositivo Sonoff fornisce il seguente feedback di debug, anche se va notato, per vederlo sarà necessario rimuovere il coperchio ed esporre i circuiti, quindi è consigliabile farlo solo mentre si sviluppa il codice e si alimenta il dispositivo con una fornitura 3v3;

  • 1 Flash breve: nessun file di configurazione situato in SPIFFS (secvals.txt),
  • 2 lampeggi brevi: il dispositivo IoT sta tentando di connettersi alla rete WiFi,
  • Illuminazione continua: il dispositivo Sonoff IoT sta tentando di connettersi a MQTT Broker,
  • Spento: il dispositivo è attivo e connesso a MQTT Broker.

Nota 1: La 'Home Page di configurazione del controller di rete' non utilizza socket protetti e quindi si basa sulla sicurezza della rete.

Nota 2: per programmare più dispositivi IoT, la stringa MQTT richiederà la modifica prima del download su ciascun dispositivo. Questo perché il numero ID del controller di rete è stato incorporato nella stringa del topic MQTT. cioè. nel software pubblicato ho scelto il valore di 100: 'WFD/MainsCont/100/Relay/Command/1' e per i miei 2 dispositivi sono numerati rispettivamente 1 e 2.

  • 'WFD/Cont.rete/1/Relè/Comando/1'
  • 'WFD/Cont.rete/2/Relè/Comando/1'

Nota 3: Per completezza quando nello stato ATTIVO il software IoT consente il controllo del LED Sonoff e la pubblicazione dello stato del pulsante re-flash. Sebbene questi siano utili solo durante il processo di debug, poiché nessuno dei due è esposto all'utente durante il normale funzionamento.

Passaggio 7: configurazione OpenHAB

Configurazione OpenHAB
Configurazione OpenHAB
Configurazione OpenHAB
Configurazione OpenHAB
Configurazione OpenHAB
Configurazione OpenHAB

A scopo di test ho deciso di distribuire teoricamente i due controller di rete nel "Soggiorno" di casa mia. Questa pagina OpenHAB può essere raggiunta tramite la pagina principale del sito come nella foto 1.

Ho modificato la configurazione OpenHAB.sitemap fornita nel mio precedente Instructable (qui) e ho aggiunto singole voci per "Mains Controller 1" e "Mains Controller 2" (foto 2 sopra). Ho anche aggiunto voci (Living Room Mains Cont. 1 & 2) per visualizzare le tendenze RSSI misurate al ricevitore dei due nuovi dispositivi IoT (foto 3).

Infine, ho aggiunto delle voci ai file.rules e.items per consentire la sincronizzazione dello stato dinamico del Sonoff e l'aggiornamento/animazione del mio scarso tentativo di grafica dello switch (l'interruttore si chiude quando è attivo e si apre quando è inattivo). La figura 2 fornisce un esempio di MC1 attivo e MC2 inattivo.

Nota 1: se non sei sicuro di come utilizzare OpenHAB, vedi qui Impostazione e configurazione di OpenHAB. Parte 6: IoT, automazione domestica'

Nota 2: una copia della mappa del sito modificata, dei file delle regole e degli elementi, delle icone, ecc. è fornita nel file zip sottostante.

Nota 3: RSSI = Indicazione della potenza del segnale ricevuto. Questa è una misura di quanto bene il dispositivo IoT può vedere la tua rete WiFi.

Passaggio 8: test del dispositivo IoT

Image
Image
Testare il tuo dispositivo IoT
Testare il tuo dispositivo IoT

Come descritto in Instructable WiFi IoT Sensore di temperatura e umidità. Parte: 8 IoT, automazione domestica Fase 7, il test iniziale del dispositivo IoT è stato eseguito su una connessione MQTT tramite MQTT Spy (come nello schema a blocchi del sistema figura 1 sopra), monitoraggio dell'uscita del led, ingressi dei pulsanti (sia il pulsante re-flash Sonoff che il pulsante esterno bianco) ed eseguire il debug del traffico sull'interfaccia seriale. Questo mi ha permesso di esercitare tutti gli argomenti sottoscritti disponibili e controllare le risposte pubblicate. Anche se, ancora una volta, questo è stato effettuato manualmente e richiedeva tempo, sebbene consentisse una copertura del 100% dei messaggi/pubblicazioni di argomenti.

Poiché la macchina a stati del software principale (passaggio 6 sopra) è stata ereditata dal precedente Instructable (Parte: 8) a parte il controllo dell'integrità, il software potrebbe connettersi al WiFi N/W e al broker MQTT, si presumeva che funzionasse correttamente.

Il test completo a livello di sistema è stato quindi completato utilizzando il controller di rete e l'infrastruttura IoT (di nuovo nella foto 1), questa volta utilizzando OpenHAB per controllare l'interazione con il dispositivo IoT. L'hardware IoT e la configurazione del carico fittizio possono essere visualizzati nella foto 2 sopra.

Il video fornisce i dettagli completi dei test di sistema e mostra chiaramente la sincronizzazione che viene mantenuta tra i dispositivi OpenHAB (PC/Chrome e iPad/APP OpenHAB) in tempo reale. Mostra anche la messaggistica in tempo reale ai controller di rete tramite MQTTSpy (vedi qui per ulteriori dettagli Configurazione di un broker MQTT. Parte 2: IoT, automazione domestica) e il registro di sistema con coda OpenHAB dal server raspberry pi su una connessione PuTTY SSH (vedi qui per ulteriori dettagli Impostazione e configurazione di OpenHAB Parte 6: IoT, automazione domestica).

Nota: il traffico di debug è stato compilato per la versione finale del software.

Passaggio 9: conclusione

Generale

Il progetto è stato relativamente facile da completare e ha funzionato bene. Il software integrato era semplice da produrre, essendo una versione ridotta del codice utilizzato per i sensori di temperatura e umidità della parte 8 di questa serie.

Inizialmente avevo intenzione di acquistare solo parti componenti bianche puramente per la loro qualità estetica. Ho ottenuto questo risultato in tutto tranne il pulsante di controllo, prova come ho potuto, non sono riuscito a procurarmi un pulsante completamente bianco buono / economico.

Dispositivo Sonoff 10A

Ho elencato di seguito quelli che ritenevo ragionevoli Pro e contro del dispositivo Sonoff

Professionisti

  • A buon mercato.
  • Buon supporto comunitario.
  • Può riprogrammare tramite l'IDE di Arduino.

Contro

  • Custodia fragile.
  • I/O minimo (portato a connettori utilizzabili).
  • Funziona caldo nel suo stato quiescente.
  • Ha solo 1 MB di flash SPI integrato.
  • È un PITA da riprogrammare una volta cablato in posizione.
  • Quando si integrava il nuovo codice nel test Sonoff, la chiusura del relè era problematica dato che il relè è 5v e l'alimentazione applicata al Sonoff per la programmazione è 3v3. L'attivazione del relè è appena percettibile all'orecchio.

Preoccupazioni

  • Non cambia la linea neutra. Utilizza un relè SPST.
  • Non è fuso.
  • Scarso scarico della trazione del cavo.
  • Il PCB non è fissato all'interno della custodia Sonoff.

Commenta la progettazione ingegneristica

Dato che questo dispositivo IoT doveva essere utilizzato per commutare la rete elettrica attiva del Regno Unito (240 V CA RMS), ho seguito una buona pratica di progettazione meccanica ed elettrica e mi sono assicurato che il rischio di scosse fosse ridotto al minimo non esponendo alcun materiale elettricamente conduttivo, specificando tutti i componenti, declassando carico di uscita, applicando la protezione dei fusibili sia al controller di rete che al sottosistema optoaccoppiato, includendo una buona messa a terra ininterrotta e utilizzando l'isolamento ottico/galvanico.

Possibile miglioramento

Con il senno di poi sarebbe stato utile inserire un'indicazione visiva che l'uscita Mains Controller era attiva (LED o Neon). Sebbene non sia un problema nell'uso quotidiano, dato che è pratica standard isolare il carico dall'alimentazione prima di eseguire qualsiasi manutenzione, oppure una semplice pressione del pulsante di controllo locale commuterà l'uscita nel caso in cui una lampada possa illuminarsi quando è collegata.

Nota finale

Se desideri vedere due esempi molto scarsi di gestione dell'elettricità di rete, dai un'occhiata ai link sottostanti. I loro premi Darwin arriveranno molto presto, ne sono abbastanza sicuro;

  • Prolunga Scienziato Pazzo
  • Feedback della community 03 - Preoccupazioni per la sicurezza dell'alimentazione!

Passaggio 10: riferimenti utilizzati

Ho usato le seguenti fonti per mettere insieme questo Instructable;

PubSubClient.h

  • Di: Nick O'Leary
  • Scopo: consente al dispositivo di pubblicare o sottoscrivere argomenti MQTT con un determinato broker
  • Da:

Rimbalzo2.h

  • Di: Thomas O Fredericks
  • Scopo: interruttore di ingresso antirimbalzo nel software
  • Da:

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

Aggiornamento Sonoff flash

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

Schema circuitale di Sonoff

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

Modulo USB UART (noto anche come FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e:g:QVUAAOSw71BXP92B

Premi Darwin (rilievo leggero)

https://www.darwinawards.com/

Scheda tecnica dell'optoisolatore TIL111

Consigliato: