Sommario:
- Passaggio 1: elenco dei materiali
- Passaggio 2: come collegare e programmare Node01 e Node02 (stazioni slave)
- Passaggio 3: come collegare e programmare Node00 (stazione principale)
- Passaggio 4: WifiWebServer (NodeMCU nella stazione principale)
- Passaggio 5: dall'inizio…
Video: Rete di stazioni di rilevamento per il controllo dell'illuminazione e della sicurezza: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Con questa rete di stazioni sensore configurata in modalità master/slave, sarai in grado di eseguire il controllo dell'illuminazione e della sicurezza nella tua casa. Queste stazioni sensore (Node01, Node02 in questo progetto) sono collegate a una stazione principale (Node00) collegata alla tua rete wifi locale. Ho installato il Node01 nel mio ripostiglio e il Node02 nel mio garage controllando luci e movimenti. La stazione principale è installata nella nostra sala da pranzo collegata al nostro router wifi. Ho installato il campanello nel garage e un piccolo cicalino nella stazione principale per suonare quando viene rilevato un movimento da qualche stazione sensore in rete.
Le caratteristiche principali della rete sono:
- È possibile configurare una rete con più di due stazioni sensore (stazioni slave) (Node01, Node02, Node03, ….)
- Poiché l'uso di ricetrasmettitori wireless con antenna, la rete è in grado di coprire un'ampia area
- Puoi controllare l'intera rete da un telefono cellulare
- Invia un'e-mail (account Gmail) quando viene rilevato un movimento e la modalità di allarme è abilitata. Quindi, se abiliti le notifiche push di Gmail sul tuo cellulare, saprai quando viene rilevato un movimento nella tua rete
per scopi domotici:
- Accendi le luci quando viene rilevato un movimento / accendi sempre le luci (per tutta la rete o per ogni stazione slave)
- Modificare il tempo in minuti in cui le luci si accendono dopo che è stato rilevato un movimento per ciascuna stazione slave
per motivi di sicurezza:
- Abilita e disabilita la modalità sveglia
- Ogni stazione slave è in grado di inviare un segnale a una stazione master (Node00) quando la modalità di allarme è abilitata e viene rilevato un movimento
- La stazione master è in grado di attivare una suoneria e inviare un'e-mail quando uno di questi segnali viene ricevuto da qualsiasi stazione slave e la modalità di allarme è abilitata. La stazione master (Node00) è connessa a internet tramite una connessione wifi per controllare l'intero sistema tramite un telefono cellulare. È configurato come un WifiWebServer
Passaggio 1: elenco dei materiali
La lista del materiale che ho utilizzato per costruire Node01 e Node02 (stazioni slave) è la seguente:
- Tavola Mega 2560 R3
- Supporto in plastica per MEGA 2560 R3
- Sensore PIR HC-SR501
- Supporto in plastica per HC-SR501
- Relè 5V
- Modulo ricetrasmettitore wireless 2.4G 1100m NRF24L01+PA+LNA con antenna LKY67
- Adattatore 8Pin NRF24L01 (per migliorare le caratteristiche di NRF24L01)
- HLK-PM01 Mini alimentatore CA CC da 220 V a 5 V
La lista del materiale per costruire il Node00 (stazioni master) è la seguente:
- Scheda Mega 2560 R3
- Supporto in plastica per MEGA 2560 R3
- Modulo WiFi NodeMCU Lua Amica V2 ESP8266
- Modulo ricetrasmettitore wireless 2.4G 1100m NRF24L01+PA+LNA con antenna LKY67
- Scheda adattatore VCC 5v-3.3v per NRF24L01 (per migliorare le caratteristiche di NRF24L01)
- Adattatore AC-DC, 9V, 1A (2, 1 mm x 5,5 mm)
Inoltre ho utilizzato il seguente materiale:
- Connettori PCB a 2 pin da 5 mm
- Ponticelli
- Tagliere MB-102 (800 contatti)
- Mini tagliere senza saldatura 170 contatti
- Set di led e resistenze
- Schede PCB
- Kit saldatore a stagno
- Pistola a colla
- Metacrilato trasparente
- campana
Passaggio 2: come collegare e programmare Node01 e Node02 (stazioni slave)
Per programmare lo sketch "SlaveSation.ino" ho avuto bisogno della libreria RF24 e della libreria RF24 Network.
Nel diagramma di flusso sopra è possibile vedere la logica della stazione sensore e i messaggi scambiati tra una stazione sensore slave e quella master.
Prima di caricare lo sketch devi configurare l'indirizzo del nodo slave in formato ottale
const uint16_t this_node = 01; // Indirizzo del nostro nodo in formato ottale (slave): 01, 02, 03 …
Il significato dei led in ogni stazione slave è il seguente:
- Led blu. Sarà acceso mentre il pin del sensore PIR è alto.
- Led verde. Sarà acceso quando l'allarme è collegato.
Passaggio 3: come collegare e programmare Node00 (stazione principale)
Nella stazione Node00 possiamo trovare due differenti schede:
- Scheda MEGA 2560 R3. Questo dispositivo viene utilizzato per ricevere messaggi dalla stazione slave quando viene rilevato un movimento tramite comunicazione wireless. Attiva un campanello quando viene rilevato un movimento e l'allarme è collegato. Per fermare il campanello basta solo disconnettere la modalità sveglia. Inoltre invia alla stazione slave messaggi da NodeMCU per abilitare o disabilitare il rilevamento del movimento, per accendere sempre le luci, per spegnere sempre le luci, …
- Scheda NodeMCU Lua Amica V2 ESP8266. Funziona come un server Web Wifi per trasmettere e ricevere comandi da un luogo remoto utilizzando una pagina Web in un telefono cellulare. Inoltre invia messaggi di posta elettronica quando viene rilevato un movimento e la modalità di allarme è abilitata.
Entrambi i dispositivi sono programmati per comunicare tra loro in una configurazione Master (NodeMCU)/Slave (MEGA) tramite il protocollo seriale sincrono I2C utilizzando la Wire Library. Il protocollo I2C prevede l'utilizzo di due linee per inviare e ricevere dati: un pin di clock seriale (SCL) e un pin di dati seriali (SDA) su cui i dati vengono inviati tra i due dispositivi.
Come puoi vedere nel disegno, i due pin per la comunicazione I2C nella scheda MEGA 2560 R3 sono:
- SDA -> pin 20 SDA
- SCL -> pin 21 SCL
e gli altri nel NodemMCU sono:
- SDA -> pin digitale 1
- SCL -> pin digitale 2
Prima di caricare lo schizzo per ESP8266 è necessario installare la scheda ESP8266. Per farlo devi inserire "https://arduino.esp8266.com/stable/package_esp8266com_index.json" negli "URL di Gestione schede aggiuntive" nella finestra delle preferenze nell'IDE di Arduino. Dopodiché devi aprire il gestore delle schede e installare "esp8266"
Uso un adattatore di alimentazione esterno (9V, 1A) per la scheda MEGA 2560 R3 (jack di alimentazione CC, 2, 1mm x 5, 5 mm) e collego la scheda NodeMCU al pin 3V3 nella scheda MEGA.
Passaggio 4: WifiWebServer (NodeMCU nella stazione principale)
Lo sketch caricato nel NodeMCU (Node00 o stazione master) è configurato come un WebServer connesso alla tua rete wifi domestica. È possibile accedere in remoto se si configura il port forwarding nel router.
Prima di caricare lo sketch WifiWebServerV3.ino sul NodeMCU devi fare quanto segue:
- Aggiorna la porta che andrai a configurare nel tuo router (port forwarding) per accedere in remoto al NodeMCU
- Aggiorna utente e password per accedere alla tua rete wifi domestica
- Aggiorna il login e la password del tuo account Gmail per inviare e-mail quando viene rilevato un movimento e l'allarme è connesso
- Aggiorna l'indirizzo e-mail dove riceverai le e-mail
Per aggiornare l'utente, la password e la porta che il server utilizzerà per ascoltare, devi cercare il seguente codice nello sketch WifiWebServerV3.ino e aggiornarlo:
const char* ssid = "*** tuo ssid ***";
const char* password = "*** la tua password ***"; Server WiFi(80);
Per aggiornare l'indirizzo e-mail dove riceverai le e-mail devi cercare il seguente codice e aggiornarlo:
const char* to_email = "*** indirizzo e-mail dove riceverai il messaggio ***";
Per aggiornare l'utente e la password del tuo account Gmail per ricevere le e-mail devi cercare il seguente codice nel file "Gsender.h" e aggiornarlo:
const char* EMAILBASE64_LOGIN = "*** il tuo indirizzo e-mail codifica in BASE64 ***";
const char* EMAILBASE64_PASSWORD = "*** la tua password codificata in BASE64 ***"; const char* FROM = "*** il tuo indirizzo e-mail ***";
Per codificare o decodificare i dati in BASE64 ho usato www.base64encode.org
Se hai bisogno di maggiori informazioni su come inviare e ricevere e-mail con ESP8266, c'è un "Instructable" qui
Una volta che puoi farlo, puoi testare la connessione nel tuo router. Se il dispositivo è connesso è necessario riservare l'indirizzo IP assegnato a questo dispositivo. Inoltre è una buona idea parlare con il tuo provider Internet per impostare un indirizzo IP statico sul tuo router.
Per accedere alla pagina web vicino al tuo router wifi è sufficiente digitare l'indirizzo IP locale assegnato dal tuo router seguendo la porta che stai utilizzando in un navigatore web. Ad esempio: 192.168.40.15:800. Se provi ad accedere da remoto devi digitare l'indirizzo IP del tuo router seguendo la porta che stai utilizzando come sopra.
La pagina web che vi mostro nelle immagini è programmata per controllare una rete con due stazioni slave.
Il sistema è inizialmente configurato per controllare massimo 5 stazioni slave, ma è possibile modificarlo. Cerca solo il seguente codice in WifiWebServerV3.ino e SlaveStation.ino
#define number_max_slaves 5
La pagina web inizialmente è divisa in 4 sezioni:
- Sezione "Stato" dove ti mostra se l'allarme è collegato o meno
- Sezione "Contatore allarmi" dove mostra il numero di rilevamento del movimento in ogni stazione slave
- Sezione "Allarme" dove è possibile collegare o scollegare (CONNETTI ALLARME/DISCONNETTI ALLARME) l'allarme e azzerare il contatore degli allarmi (RESET CONTATORI)
-
Sezione "Illuminazione" dove è possibile controllare le luci di ogni stazione slave. Puoi controllare quanto segue:
- Accendere le luci in tutte le stazioni slave / accendere le luci solo quando viene rilevato un movimento in tutte le stazioni slave (RETE SEMPRE ACCESA/RETE IN MOVIMENTO)
- Modificare il tempo in minuti di accensione delle luci per ogni stazione slave (NODExx ON 1 MINUTO/NODEXX ON 2 MINUTE)
- Accendere le luci per ogni stazione slave (NODExx SEMPRE ACCESO)
- Accendere le luci per ogni stazione slave solo quando viene rilevato un movimento (NODExx_MOV)
Non devi cambiare nulla perché funzionerà qualunque sia il nome delle stazioni slave che configuri. Inoltre rileverà automaticamente il numero di stazioni slave collegate in rete.
Ovviamente puoi scaricare lo sketch e modificare facilmente il codice necessario per mostrare la tua pagina di controllo web.
Passaggio 5: dall'inizio…
Ecco i passaggi che devi seguire per costruire la tua rete:
- Acquista tutto il materiale seguendo la lista che ti do nello "Step 1"
- Collega i componenti seguendo il disegno che puoi scaricare in "Step 2" e "Step 3"
- Costruisci scatole per ogni stazione slave e la stazione master. Ho costruito scatole in metacrilato.
-
Configurare ogni stazione slave:
Scarica e carica lo sketch "SlaveStation.ino" in una scheda MEGA 2560 R3. Devi solo modificare lo schizzo e aggiornare l'indirizzo della stazione slave come puoi vedere nel "Fase 2"
-
Configurare la stazione principale:
- Scarica e carica lo schizzo "SlaveStation.ino" in un MEGA 2560 R3. Non devi cambiare nulla qualunque sia il numero di nodi slave della tua rete. Inizialmente lo sketch è configurato per un massimo di 5 stazioni slave.
- Scarica e carica lo sketch "WifiServerV3.ino" nel NodeMCU. Devi aggiornare lo schizzo seguendo le istruzioni nello "Step 4"
- Configura il tuo router per accedere da remoto al NodeMCU (port forwarding, IP statico…)
Consigliato:
TouchFree: controllo automatico della temperatura e chiosco per il rilevamento della maschera: 5 passaggi
TouchFree: controllo automatico della temperatura e chiosco per il rilevamento della maschera: con la riapertura dei paesi di tutto il mondo, convivere con il nuovo coronavirus sta diventando il nuovo stile di vita. Ma per fermare la diffusione del virus dobbiamo separare le persone che hanno il Coronavirus dal resto. Secondo il CDC, la febbre è la l
Robot di Halloween con rilevamento del volto e rilevamento del sorriso: 8 passaggi (con immagini)
Monitoraggio del viso e rilevamento del sorriso Robot di Halloween: Halloween sta arrivando! Abbiamo deciso di costruire qualcosa di interessante. Incontra i robot Ghosty e Skully. Possono seguire il tuo viso e sanno quando sorridi per ridere con te! Questo progetto è un altro esempio dell'utilizzo dell'app iRobbie che converte l'iPhone in
Pulsante di sicurezza wireless per la sicurezza del PLC: 6 passaggi (con immagini)
Pulsante di sicurezza wireless per la sicurezza del PLC: questo progetto è la mia prova di concetto per l'utilizzo dell'IoT e (eventualmente) della robotica per creare un ulteriore livello di sicurezza per gli impianti di produzione pericolosi. Questo pulsante può essere utilizzato per avviare o arrestare più processi, incluso il controllo del segnale
Simulatore di presenza domestica e dispositivo di controllo della sicurezza: 6 passaggi (con immagini)
Simulatore di presenza domestica e dispositivo di controllo della sicurezza: questo progetto ci consente di simulare la presenza e rilevare i movimenti nella nostra casa.Possiamo configurare una rete di dispositivi installati in diverse stanze della nostra casa, tutti controllati da un dispositivo principale.Questo progetto combina questi caratteristiche su un singolo d
Inverter collegato alla rete fai-da-te (non alimenta la rete) Alternativa UPS: 7 passaggi (con immagini)
Alternativa UPS con inverter collegato alla rete fai-da-te (non alimenta la rete): questo è un post di follow-up dal mio altro Instructable sulla creazione di un inverter collegato alla rete che non alimenta la rete, poiché ora è sempre possibile farlo in alcune aree come un progetto fai-da-te e alcuni luoghi non consentono di alimentare lì g