Sommario:
- Passaggio 1: componenti necessari
- Passaggio 2: lingua e protocollo
- Passaggio 3: Eclipse Mosquitto MQTT Broker
- Passaggio 4: flusso di dati nell'intero progetto
- Passaggio 5: collegamento dei sensori con il NodeMCU
- Passaggio 6: collegamento della pompa dell'acqua sommergibile con ESP8266
- Passaggio 7: installazione di Mosquitto Broker e esecuzione del programma Python in Raspberry Pi
- Passaggio 8: come funziona MQTT?
- Passaggio 9: programmazione di NodeMCU ed ESP8266
- Passaggio 10: progettazione di una pagina Web e connessione al database SQL
- Passaggio 11: completare il lavoro
Video: Automazione della serra: 11 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
L'automazione della serra è un progetto in cui tre parametri di una serra, ovvero umidità del suolo, temperatura e umidità, sono monitorati dall'utente in remoto semplicemente utilizzando un browser web.
Passaggio 1: componenti necessari
Alcuni componenti essenziali richiesti sono elencati di seguito
1. Raspberry PI Modello B
2. Scheda di sviluppo NodeMCU
3. Modulo Wi-Fi ESP8266
4. Sensore di umidità
5. Sensore di temperatura e umidità DHT11
6. Relè a canale singolo 5V
7. Pompa dell'acqua sommergibile da 5 V
8. Tagliere di pane
9. Modulo di alimentazione della scheda pane
Passaggio 2: lingua e protocollo
- Il linguaggio C è utilizzato per i microcontrollori.
- Messaggi MQTT: MQTT sta per MQ Telemetry Transport. È un protocollo di messaggistica di pubblicazione/sottoscrizione, estremamente semplice e leggero, progettato per dispositivi vincolati e reti a bassa larghezza di banda, alta latenza o inaffidabili. I principi di progettazione consistono nel ridurre al minimo la larghezza di banda della rete e i requisiti delle risorse del dispositivo, cercando anche di garantire l'affidabilità e un certo grado di garanzia di consegna. Questi principi si rivelano anche per rendere il protocollo ideale per l'emergente mondo "machine-to-machine" (M2M) o "Internet of Things" dei dispositivi connessi e per le applicazioni mobili in cui la larghezza di banda e la potenza della batteria sono un vantaggio.
- Il programma Python viene utilizzato per automatizzare il flusso d'acqua e la connettività del database.
Passaggio 3: Eclipse Mosquitto MQTT Broker
Qui ho usato il Mosquitto MQTT Broker per la facile comunicazione di messaggi tra i nodi.
Eclipse Mosquitto è un broker di messaggi open source (con licenza EPL/EDL) che implementa il protocollo MQTT versioni 5.0, 3.1.1 e 3.1. Mosquitto è leggero ed è adatto per l'uso su tutti i dispositivi, dai computer a scheda singola a bassa potenza ai server completi.
Il protocollo MQTT fornisce un metodo leggero per eseguire la messaggistica utilizzando un modello di pubblicazione/sottoscrizione. Ciò lo rende adatto per la messaggistica di Internet of Things, ad esempio con sensori a bassa potenza o dispositivi mobili come telefoni, computer incorporati o micro controller.
Il progetto Mosquitto fornisce anche una libreria C per l'implementazione di client MQTT e i popolari client MQTT della riga di comando mosquitto_pub e mosquitto_sub.
Passaggio 4: flusso di dati nell'intero progetto
Nell'immagine sopra i nodi sono
- NodoMCU
- Lampone PI
- ESP8266
NodeMCU è la parte sensibile della Green House e l'ESP8266 è la parte di attuazione che fornisce l'acqua quando il terreno ha bisogno di acqua secondo i sensori.
Raspberry PI contiene il Mosquitto Broker e un client Python che sottoscrive i messaggi provenienti dal Broker MQTT e memorizza i dati in un server SQL.
Passaggio 5: collegamento dei sensori con il NodeMCU
Il sensore di temperatura e umidità DHT11 e il sensore di umidità dell'acqua sono in grado di funzionare a 3,3 volt.
NodeMCU non può fornire più di 3,3 volt. Quindi i sensori possono essere collegati direttamente alla scheda del microcontrollore NodeMCU.
Passaggio 6: collegamento della pompa dell'acqua sommergibile con ESP8266
Una pompa dell'acqua sommergibile viene utilizzata per fornire l'acqua quando necessario.
La pompa dell'acqua necessita di alimentazione a 5 volt per il suo funzionamento.
È necessario un relè a canale singolo per collegare il motore. Quando viene attivato il pin GPIO2 dell'ESP8266, il relè si accende e fornisce automaticamente l'acqua utilizzando la pompa dell'acqua sommergibile.
Qui viene fornita l'alimentazione esterna alla scheda ESP8266, al relè e alla pompa dell'acqua sommergibile.
La mia connessione hardware completa è nell'immagine sopra.
Passaggio 7: installazione di Mosquitto Broker e esecuzione del programma Python in Raspberry Pi
Di seguito sono riportati i passaggi per l'installazione del broker Mosquitto in Raspberry PI
Apri il terminale e digita i seguenti comandi
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients
Dovrebbe avviare automaticamente la zanzara.
Per interrompere e avviare il servizio che dovevo utilizzare
sudo service stop mosquitto
sudo service start mosquitto
La maggior parte dei siti che ho scoperto dove utilizzare il formato.
sudo /etc/init.d/mosquitto stop
Passaggio 8: come funziona MQTT?
MQTT è uno dei protocolli più comunemente utilizzati nei progetti IoT. Sta per Message Queuing Telemetry Transport.
Inoltre, è progettato come un protocollo di messaggistica leggero che utilizza operazioni di pubblicazione/sottoscrizione per scambiare dati tra client e server. Inoltre, le sue dimensioni ridotte, il basso consumo energetico, i pacchetti di dati ridotti al minimo e la facilità di implementazione rendono il protocollo ideale per il mondo "machine-to-machine" o "Internet of Things".
Come qualsiasi altro protocollo Internet, MQTT si basa su client e server. Allo stesso modo, il server è il tipo che è responsabile della gestione delle richieste del client di ricevere o inviare dati tra loro. Il server MQTT è chiamato broker e i client sono semplicemente i dispositivi collegati. Quindi:
* Quando un dispositivo (un client) vuole inviare dati al broker, chiamiamo questa operazione "pubblicazione".
* Quando un dispositivo (un client) vuole ricevere dati dal broker, chiamiamo questa operazione “subscribe”.
Passaggio 9: programmazione di NodeMCU ed ESP8266
Di seguito è riportato il codice sorgente per la scheda Microcontrollore NodeMCU e ESP8266
Passaggio 10: progettazione di una pagina Web e connessione al database SQL
La pagina Web è progettata utilizzando il linguaggio HTML, CSS e PHP.
PHP viene utilizzato per estrarre le letture del sensore dal database e mostrarle nella pagina HTML.
Un programma Python viene utilizzato come cuore di questo progetto.
I lavori eseguiti dal programma Python sono i seguenti.
- Sottoscrive un argomento in cui il sensore invia le letture del sensore.
- Pubblica il comando di attivazione/disattivazione della pompa dell'acqua sul broker MQTT.
- Memorizza la lettura del sensore in un database SQL.
Qui nel mio caso il programma Python e il database SQL sono presenti in un laptop. La pagina Web in esecuzione tramite un host locale.
Di seguito è riportato il codice sorgente del mio programma Python.
Passaggio 11: completare il lavoro
Di seguito sono riportati i passaggi in cui si svolge il processo.
- NodeMCU funziona come parte di rilevamento e legge la temperatura, l'umidità e il livello di umidità del suolo.
- Invia le letture al broker MQTT con un argomento "Topic 1"
- In un laptop il programma Python è in esecuzione e si iscrive a un argomento "Topic 1" con il broker MQTT.
- Quando il NodeMCU invia le letture, Mosquitto MQTT Broker invia immediatamente i dati al programma Python.
- Il programma Python calcola quindi se c'è bisogno di acqua nella Green House. Quindi memorizza le letture nel database SQL.
- Se l'acqua è necessaria nella Green House, il programma Python pubblica un messaggio di attivazione/disattivazione della pompa dell'acqua al broker Mosquitto MQTT con un argomento "Argomento 2"
- ESP8266 funziona come un attuatore. Sottoscrive l'argomento "Argomento 2" in quale argomento il programma Python sta pubblicando il messaggio. Quando il programma Python pubblica un messaggio, il messaggio viene immediatamente trasferito all'ESP8266. Secondo il messaggio on/off, ha acceso/spento la pompa dell'acqua sommergibile.
- Ultima fase per visualizzare le letture live nella pagina web. La pagina web recupera i dati dal database SQL in cui il programma Python memorizza direttamente i dati e visualizza le letture nella pagina.
Consigliato:
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: 3 passaggi
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: spesso vediamo contatori visitatori in stadi, centri commerciali, uffici, aule, ecc. Come contano le persone e accendono o spengono la luce quando nessuno è all'interno? Oggi siamo qui con il progetto di controllo automatico della luce ambientale con contatore visitatori bidirezionale
Automazione loquace -- Audio da Arduino -- Automazione a controllo vocale -- Modulo Bluetooth HC - 05: 9 passaggi (con immagini)
Automazione loquace || Audio da Arduino || Automazione a controllo vocale || HC - 05 Modulo Bluetooth:……………………………. ISCRIVITI al mio canale YouTube per altri video…. …. In questo video abbiamo costruito un'automazione loquace.. Quando invierai un comando vocale tramite cellulare, si accenderà i dispositivi di casa e invierà feedback i
Monitoraggio della serra con IOT: 5 passaggi
Monitoraggio della serra con IOT: quando si tratta di agricoltura, il monitoraggio della temperatura & l'umidità delle piante è un fattore importante per la loro sopravvivenza. Attualmente, le persone usano termometri attaccati a una serra in modo che gli agricoltori possano misurare la temperatura. Tuttavia, questa app manuale
Greentent - La prima mini serra portatile al mondo con misurazione della temperatura e dell'umidità Arduino: 3 passaggi
Greentent - La prima mini serra portatile al mondo con misurazione della temperatura e dell'umidità Arduino: ho avuto per la prima volta l'idea di una serra portatile che puoi spostare di notte quando volevo creare un piccolo giardino in una scatola con temperatura monitorata e Umidità. Quindi, è notte fonda e voglio andare in un negozio per prendere questi su
Sistema di monitoraggio e controllo della serra idroponica: 5 passaggi (con immagini)
Sistema di monitoraggio e controllo della serra idroponica: in questo tutorial, ti mostrerò come costruire un sistema di monitoraggio e controllo della serra idroponica. Ti mostrerò i componenti scelti, uno schema elettrico di come è stato costruito il circuito e lo sketch di Arduino utilizzato per programmare il Seeed