INHOUDSOPGAWE:
- Stap 1: Vereiste komponente
- Stap 2: Taal en protokol
- Stap 3: Eclipse Mosquitto MQTT Broker
- Stap 4: Vloei van data in die hele projek
- Stap 5: Verbinding van sensors met die NodeMCU
- Stap 6: Aansluiting van die dompelwaterpomp met die ESP8266
- Stap 7: Installeer Mosquitto Broker & Running Python -program in Raspberry Pi
- Stap 8: Hoe werk MQTT?
- Stap 9: NodeMCU en ESP8266 programmeer
- Stap 10: Ontwerp 'n webblad en maak verbinding met die SQL -databasis
- Stap 11: Voltooi werk
Video: Green House Automation: 11 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Green house automation is 'n projek waar drie parameters van 'n kweekhuis, dit wil sê grondvog, temperatuur en humiditeit, deur die gebruiker op afstand gemonitor word deur eenvoudig 'n webblaaier te gebruik.
Stap 1: Vereiste komponente
Enkele noodsaaklike komponente word hieronder gelys
1. Framboos PI Model B
2. NodeMCU Ontwikkelingsraad
3. ESP8266 Wifi -module
4. Vogsensor
5. DHT11 Temperatuur- en humiditeitsensor
6. 5V Enkelkanaal Relay
7. 5V dompelpomp
8. Broodbord
9. Module vir broodvoorraad
Stap 2: Taal en protokol
- C Taal word gebruik vir die mikrobeheerders.
- MQTT Messaging: MQTT staan vir MQ Telemetry Transport. Dit is 'n baie eenvoudige en ligte boodskapprotokol vir publiseer/inteken, ontwerp vir beperkte toestelle en lae bandwydte, hoë vertraging of onbetroubare netwerke. Die ontwerpbeginsels is om netwerkbandwydte en vereistes vir apparaatbronne tot 'n minimum te beperk, terwyl dit ook probeer om betroubaarheid en 'n mate van versekering van aflewering te verseker. Hierdie beginsels maak ook die protokol ideaal vir die opkomende 'masjien-tot-masjien' (M2M) of 'Internet of Things' wêreld van gekoppelde toestelle, en vir mobiele toepassings waar bandwydte en batterykrag hoog is.
- Python -program word gebruik om die watervloei en databasisverbinding te outomatiseer.
Stap 3: Eclipse Mosquitto MQTT Broker
Hier het ek die Mosquitto MQTT Broker gebruik vir die maklike boodskapkommunikasie tussen die nodusse.
Eclipse Mosquitto is 'n open source (EPL/EDL gelisensieerde) boodskapmakelaar wat die MQTT -protokol weergawes 5.0, 3.1.1 en 3.1 implementeer. Mosquitto is liggewig en is geskik vir gebruik op alle toestelle, van lae -krag enkelbordrekenaars tot volledige bedieners.
Die MQTT -protokol bied 'n ligte metode om boodskappe uit te voer met behulp van 'n publiseer/inteken -model. Dit maak dit geskik vir Internet of Things -boodskappe, soos met lae krag sensors of mobiele toestelle soos telefone, ingeboude rekenaars of mikrobeheerders.
Die Mosquitto -projek bied ook 'n C -biblioteek vir die implementering van MQTT -kliënte, en die baie gewilde mosquitto_pub- en mosquitto_sub -opdragreël MQTT -kliënte.
Stap 4: Vloei van data in die hele projek
In die prent hierbo is die nodusse
- NodeMCU
- Framboos PI
- ESP8266
NodeMCU is die waarnemende deel van die Green House en die ESP8266 is die bedieningsdeel wat die water voorsien wanneer die grond water benodig volgens die sensors.
Raspberry PI bevat die Mosquitto Broker en 'n Python -kliënt wat die boodskappe van die MQTT Broker inteken en die data in 'n SQL -bediener stoor.
Stap 5: Verbinding van sensors met die NodeMCU
Die DHT11 temperatuur- en humiditeitsensor en die watervogsensor kan op 3,3 volt werk.
NodeMCU kan nie meer as 3,3 volt verskaf nie. Die sensors kan dus direk met die NodeMCU -mikrobeheerderbord verbind word.
Stap 6: Aansluiting van die dompelwaterpomp met die ESP8266
'N Dompelpomp word gebruik om die water te voorsien wanneer dit nodig is.
Waterpomp benodig 5 volt kragtoevoer vir sy werking.
'N Enkele kanaal relais is nodig om die motor aan te sluit. As die GPIO2 -pen van die ESP8266 geaktiveer is, word die aflos aangeskakel en die water word outomaties met die dompelpomp voorsien.
Hier word eksterne kragtoevoer voorsien aan die ESP8266 -bord, Relay en die dompelwaterpomp.
My volledige hardewareverbinding is in die prent hierbo.
Stap 7: Installeer Mosquitto Broker & Running Python -program in Raspberry Pi
Hier volg die stappe om die Mosquitto -makelaar in Raspberry PI te installeer
Maak die terminale oop en tik die volgende opdragte
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
sudo apt-get install mosquitto-kliënte
Dit moet outomaties met muskiete begin.
Om te stop en die diens te begin wat ek moes gebruik
sudo diens stop muskiet
sudo -diens begin muskiet
Die meeste webwerwe het ek ontdek waar ek die formaat gebruik.
sudo /etc/init.d/mosquitto om te stop
Stap 8: Hoe werk MQTT?
MQTT is een van die mees gebruikte protokolle in IoT -projekte. Dit staan vir Message Queuing Telemetry Transport.
Boonop is dit ontwerp as 'n ligte boodskapprotokol wat publiseer/inteken om data tussen kliënte en die bediener uit te ruil. Die klein grootte, lae energieverbruik, minimale datapakkies en gemak van implementering maak die protokol ideaal vir die 'masjien-tot-masjien' of 'internet van dinge' wêreld.
Soos enige ander internetprotokol, is MQTT gebaseer op kliënte en 'n bediener. Net so is die bediener die man wat verantwoordelik is vir die hantering van die kliënt se versoeke om data tussen mekaar te ontvang of te stuur. MQTT -bediener word 'n makelaar genoem en die kliënte is eenvoudig die gekoppelde toestelle.
* As 'n toestel ('n kliënt) data aan die makelaar wil stuur, noem ons hierdie operasie 'publiseer'.
* As 'n toestel ('n kliënt) data van die makelaar wil ontvang, noem ons hierdie operasie 'subscribe'.
Stap 9: NodeMCU en ESP8266 programmeer
Hierna volg die bronkode vir NodeMCU en ESP8266 mikrokontrollerbord
Stap 10: Ontwerp 'n webblad en maak verbinding met die SQL -databasis
Webblad is ontwerp met HTML, CSS en PHP taal.
PHP word gebruik om die sensorlesings uit die databasis te onttrek en dit op die HTML -bladsy te wys.
'N Python -program word as die kern van hierdie projek gebruik.
Die werke wat die luislangprogram doen, is soos volg.
- Dit teken in op 'n onderwerp waarin die sensor die sensorlesings stuur.
- Dit publiseer die waterpomp aan/af opdrag aan die MQTT makelaar.
- Dit stoor die sensorlesing in 'n SQL -databasis.
In my geval is die python -program en die SQL -databasis in 'n skootrekenaar. Die webblad wat deur 'n plaaslike gasheer loop.
Hierna volg die bronkode van my python -program.
Stap 11: Voltooi werk
Hier volg die stappe waarin die proses voortgaan.
- NodeMCU werk as 'n waarnemende deel en lees die temperatuur, humiditeit en die grondvogvlak.
- Dit stuur die lesings na die MQTT -makelaar met die onderwerp "Onderwerp 1"
- In 'n skootrekenaar is die luislangprogram aan die gang en dit teken in op die onderwerp "Onderwerp 1" by die MQTT -makelaar.
- As die NodeMCU die lesings stuur, stuur die Mosquitto MQTT Broker onmiddellik die data na die luislangprogram.
- Python -program bereken dan of daar water in die Green House nodig is. Dan stoor dit die lesings in die SQL -databasis.
- As daar water in die Green House benodig word, publiseer die python -program die waterpomp aan/af boodskap aan die Mosquitto MQTT makelaar met die onderwerp "Onderwerp 2"
- ESP8266 werk as 'n aandrywer. Dit skryf in op die onderwerp "Onderwerp 2" in watter onderwerp die python -program die boodskap publiseer. As die python -program enige boodskap publiseer, word die boodskap onmiddellik na die ESP8266 oorgedra. Volgens die aan/af boodskap het dit die dompelwaterpomp aangeskakel/afgeskakel.
- Laaste fase om die lewendige lesings op die webbladsy te vertoon. Die webbladsy haal die data uit die SQL -databasis waarin die python -program die data direk stoor en die lesings op die bladsy vertoon.
Aanbeveel:
Green Double Die: 11 stappe
Green Double Die: Hierdie projek is 'n dubbele matrijs gebou met CMOS -tegnologie van die toonbanke tot by die hekke. Begin by die dubbele teller 4518, sy OF, EN en NIE -hekke 4071, 4081 en 4049 onderskeidelik, terwyl 'n 555 -timer 'n veranderlike frekwensie genereer om te voltooi
Green City - Interaktiewe muur: 6 stappe
Green City - Interactive Wall: Die Green City -projek was daarop gemik om die kwessie van hernubare energie te ondersoek, wat so belangrik is in die konteks van energie en om die uitputting van natuurlike hulpbronne te voorkom, om op een of ander manier bewus te wees van hierdie kwessie . Ons wil ook
Ultimate GREEN DIY Trackball -muis uit rommel: 10 stappe (met foto's)
Ultimate GREEN DIY Trackball -muis van rommel: Hallo almal! Vandag bou ons 'n groen DIY Trackball -muis van ou rommel wat ons rondlê. Hierdie projek is om drie redes groen: dit is gemaak van rommel, daarom is dit omgewingsvriendelik. Ek het groen LED's in die ontwerp opgeneem (hoekom
LEGO Green Screen Light Box: 4 stappe
LEGO Green Screen Light Box: 'n Vriend het belanggestel in die maak van kortfilms met LEGO minifigs, so ek wou vir hom iets maak om te help vir sy verjaardag. Afhangende van die kleur van die items wat u gaan fotografeer, wil u moontlik 'n blou of warm pienk agtergrond in plaas van die
Save Green: 3 stappe
Save Green: Die titel, Save Green, het betekenisse: Bespaar die omgewing deur groen te gaan en die groen geld in u beursie te spaar. En dit is presies wat ek van plan is om in hierdie instruksies te wys. Dit is ook my eerste opdrag, so gee my 'n terugvoer oor wat