Taula de continguts:
- Pas 1: components necessaris
- Pas 2: idioma i protocol
- Pas 3: Eclipsi Mosquitto MQTT Broker
- Pas 4: flux de dades a tot el projecte
- Pas 5: Connexió de sensors amb el NodeMCU
- Pas 6: Connexió de la bomba d’aigua submergible amb l’ESP8266
- Pas 7: Instal·lació de Mosquitto Broker i execució del programa Python a Raspberry Pi
- Pas 8: Com funciona MQTT?
- Pas 9: programació de NodeMCU i ESP8266
- Pas 10: dissenyar una pàgina web i connectar-se a la base de dades SQL
- Pas 11: completar el treball
Vídeo: Automatització de la casa verda: 11 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
L’automatització d’hivernacles és un projecte on l’usuari controla remotament tres paràmetres d’un hivernacle, és a dir, la humitat del sòl, la temperatura i la humitat, mitjançant un navegador web.
Pas 1: components necessaris
A continuació s’enumeren alguns components essencials necessaris
1. Raspberry PI Model B
2. Taula de desenvolupament de NodeMCU
3. Mòdul Wifi ESP8266
4. Sensor d’humitat
5. Sensor de temperatura i humitat DHT11
6. Relé monocanal de 5V
7. Bomba d’aigua submergible de 5V
8. Taula de pa
9. Mòdul de font d'alimentació de la placa de pa
Pas 2: idioma i protocol
- El llenguatge C s’utilitza per als microcontroladors.
- Missatgeria MQTT: MQTT significa MQ Telemetry Transport. És un protocol de missatgeria de publicació / subscripció, extremadament senzill i lleuger, dissenyat per a dispositius restringits i xarxes de poca amplada de banda, alta latència o poc fiables. Els principis de disseny són minimitzar l’amplada de banda de xarxa i els requisits de recursos de dispositius, alhora que s’intenta garantir la fiabilitat i un cert grau de garantia del lliurament. Aquests principis també fan que el protocol sigui ideal per al món emergent “màquina a màquina” (M2M) o “Internet de les coses” de dispositius connectats, i per a aplicacions mòbils on l’amplada de banda i l’alimentació de la bateria són excel·lents.
- El programa Python s'utilitza per automatitzar el flux d'aigua i la connectivitat de bases de dades.
Pas 3: Eclipsi Mosquitto MQTT Broker
Aquí he utilitzat Mosquitto MQTT Broker per facilitar la comunicació de missatges entre els nodes.
Eclipse Mosquitto és un agent de missatges de codi obert (amb llicència EPL / EDL) que implementa les versions 5.0, 3.1.1 i 3.1 del protocol MQTT. Mosquitto és lleuger i és adequat per a ús en tots els dispositius, des d’ordinadors de placa única de poca potència fins a servidors complets.
El protocol MQTT proporciona un mètode lleuger per dur a terme missatges mitjançant un model de publicació / subscripció. Això el fa adequat per a missatgeries d'Internet de les coses, com ara amb sensors de baixa potència o dispositius mòbils com ara telèfons, ordinadors incrustats o microcontroladors.
El projecte Mosquitto també proporciona una biblioteca C per implementar clients MQTT i els populars clients MQTT de línia d’ordres mosquitto_pub i mosquitto_sub.
Pas 4: flux de dades a tot el projecte
A la imatge anterior hi ha els nodes
- NodeMCU
- Raspberry PI
- ESP8266
NodeMCU és la part de detecció de la Casa Verda i l’ESP8266 és la part d’actuació que subministra l’aigua quan el sòl necessita aigua segons els sensors.
Raspberry PI conté el Mosquitto Broker i un client Python que subscriu els missatges provinents del MQTT Broker i emmagatzema les dades en un servidor SQL.
Pas 5: Connexió de sensors amb el NodeMCU
El sensor de temperatura i humitat DHT11 i el sensor d’humitat de l’aigua poden funcionar a 3,3 volts.
NodeMCU no pot proporcionar més de 3,3 volts. Així, els sensors es poden connectar directament amb la placa de microcontroladors NodeMCU.
Pas 6: Connexió de la bomba d’aigua submergible amb l’ESP8266
S’utilitza una bomba d’aigua submergible per subministrar l’aigua sempre que sigui necessari.
La bomba d'aigua necessita una font d'alimentació de 5 volts per al seu funcionament.
Es necessita un relé d’un sol canal per connectar el motor. Quan s’activa el pin GPIO2 de l’ESP8266, el relé s’encén i subministra automàticament l’aigua mitjançant la bomba d’aigua submergible.
Aquí es subministra font d'alimentació externa a la placa ESP8266, al relé i a la bomba d'aigua submergible.
La meva connexió de maquinari completa es troba a la imatge superior.
Pas 7: Instal·lació de Mosquitto Broker i execució del programa Python a Raspberry Pi
A continuació es detallen els passos per instal·lar el broker Mosquitto a Raspberry PI
Obriu el terminal i escriviu les ordres següents
sudo apt-add-repository ppa: mosquitto-dev / mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients
Hauria d'iniciar automàticament mosquitto.
Per aturar i iniciar el servei que necessitava utilitzar
sudo service stop mosquitto
sudo service start mosquitto
La majoria de llocs que vaig descobrir on feia servir el format.
sudo /etc/init.d/mosquitto stop
Pas 8: Com funciona MQTT?
MQTT és un dels protocols més utilitzats en els projectes IoT. Significa Transport de telemetría de Message Queueing.
A més, està dissenyat com un protocol de missatgeria lleuger que utilitza operacions de publicació / subscripció per intercanviar dades entre els clients i el servidor. A més, la seva petita mida, el baix consum d’energia, els paquets de dades minimitzats i la facilitat d’implementació fan que el protocol sigui ideal per al món “màquina a màquina” o “Internet de les coses”.
Com qualsevol altre protocol d’Internet, MQTT es basa en clients i un servidor. De la mateixa manera, el servidor és l’encarregat de gestionar les peticions del client de rebre o enviar dades entre si. El servidor MQTT s’anomena broker i els clients són simplement els dispositius connectats.
* Quan un dispositiu (un client) vol enviar dades al corredor, anomenem aquesta operació "publicar".
* Quan un dispositiu (un client) vol rebre dades del corredor, anomenem aquesta operació "subscripció".
Pas 9: programació de NodeMCU i ESP8266
A continuació es mostra el codi font de la placa de microcontroladors NodeMCU i ESP8266
Pas 10: dissenyar una pàgina web i connectar-se a la base de dades SQL
La pàgina web està dissenyada amb llenguatge HTML, CSS i PHP.
PHP s’utilitza per extreure les lectures del sensor de la base de dades i mostrar-les a la pàgina HTML.
Un programa Python s’utilitza com a centre d’aquest projecte.
Les obres que fan el programa Python són les següents.
- Subscriu-se a un tema en què el sensor envia les lectures del sensor.
- Publica l'ordre d'activació / desactivació de la bomba d'aigua al corredor MQTT.
- Emmagatzema la lectura del sensor en una base de dades SQL.
Aquí, en el meu cas, el programa Python i la base de dades SQL estan presents en un ordinador portàtil. La pàgina web que travessa un amfitrió local.
A continuació es mostra el codi font del meu programa Python.
Pas 11: completar el treball
A continuació es mostren els passos en què continua el procés.
- NodeMCU funciona com a peça sensible i llegeix la temperatura, la humitat i el nivell d'humitat del sòl.
- Envia les lectures al corredor MQTT amb un tema "Tema 1"
- En un ordinador portàtil, el programa Python està en execució i se subscriu a un tema "Tema 1" amb l'agent MQTT.
- Quan el NodeMCU envia les lectures, el Mosquitto MQTT Broker envia immediatament les dades al programa python.
- El programa Python calcula llavors si hi ha aigua necessària a la Casa Verda. A continuació, emmagatzema les lectures a la base de dades SQL.
- Si es necessita aigua a la Casa Verda, el programa Python publica el missatge d’activació / desactivació de la bomba d’aigua al corredor Mosquitto MQTT amb un tema "Tema 2"
- ESP8266 funciona com a actuador. Es subscriu al tema "Tema 2" en el tema en què el programa Python publica el missatge. Quan el programa Python publica qualsevol missatge, el missatge es transfereix immediatament a l'ESP8266. Segons el missatge d’encès / apagat, activava / apagava la bomba d’aigua submergible.
- Última fase per mostrar les lectures en directe a la pàgina web. La pàgina web recupera les dades de la base de dades SQL en què el programa Python emmagatzema les dades directament i mostra les lectures a la pàgina.
Recomanat:
Automatització xerraire -- Àudio des d’Arduino -- Automatització controlada per veu -- Mòdul Bluetooth HC-05: 9 passos (amb imatges)
Automatització xerraire || Àudio des d’Arduino || Automatització controlada per veu || Mòdul Bluetooth HC - 05: …………………………. SUBSCRIU-vos al meu canal de YouTube per obtenir més vídeos
Matriu doble verda: 11 passos
Green Double Die: aquest projecte és una versió de doble matriu amb tecnologia CMOS des dels seus taulells fins a les seves portes. Començant pel comptador doble 4518, les portes OR, AND i NOT 4071, 4081 i 4049 respectivament, mentre que un temporitzador 555 genera una freqüència variable per completar
Greentent: la primera mini casa verda portàtil del món amb mesurament de temperatura i humitat Arduino: 3 passos
Greentent: el primer mini hivernacle portàtil del món amb mesurament de temperatura i humitat Arduino: per primera vegada vaig tenir la idea d’un hivernacle portàtil que es pot moure de nit quan volia fer una manera de tenir un petit jardí en una caixa amb temperatura controlada i Humiditat. Per tant, és a la nit i vull anar a una botiga per obtenir aquests
Com fer una pel·lícula instantània amb pantalla verda: 9 passos
Com fer un IMovie amb pantalla verda: hem creat un iMovie amb pantalla verda. En aquest instructiu aprendreu a crear un iMovie amb pantalles verdes
Caixa de llum de pantalla verda LEGO: 4 passos
Caixa de llum de pantalla verda LEGO: un amic s’havia interessat a fer curtmetratges amb minifigs LEGO, així que volia fer-li alguna cosa que ajudés pel seu aniversari. Depenent del color dels articles que fotografieu, és possible que vulgueu un fons de color blau o rosa calent en lloc de