INHOUDSOPGAWE:

Green House Automation: 11 stappe
Green House Automation: 11 stappe

Video: Green House Automation: 11 stappe

Video: Green House Automation: 11 stappe
Video: Правила работы с микроскопом / Как настроить / Инструкция 2024, November
Anonim
Green House Automation
Green House Automation

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

Komponente benodig
Komponente benodig
Komponente benodig
Komponente benodig
Komponente benodig
Komponente benodig

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

Taal en protokol
Taal en protokol
Taal en protokol
Taal en protokol
Taal en protokol
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

Eclipse Mosquitto MQTT -makelaar
Eclipse Mosquitto MQTT -makelaar

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

  1. NodeMCU
  2. Framboos PI
  3. 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

Verbinding van sensors met die NodeMCU
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

Aansluiting van die dompelwaterpomp met die ESP8266
Aansluiting van die dompelwaterpomp met die ESP8266
Aansluiting van die dompelwaterpomp met die ESP8266
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?

Hoe werk MQTT?
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.

  1. Dit teken in op 'n onderwerp waarin die sensor die sensorlesings stuur.
  2. Dit publiseer die waterpomp aan/af opdrag aan die MQTT makelaar.
  3. 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

Voltooi werk
Voltooi werk

Hier volg die stappe waarin die proses voortgaan.

  1. NodeMCU werk as 'n waarnemende deel en lees die temperatuur, humiditeit en die grondvogvlak.
  2. Dit stuur die lesings na die MQTT -makelaar met die onderwerp "Onderwerp 1"
  3. In 'n skootrekenaar is die luislangprogram aan die gang en dit teken in op die onderwerp "Onderwerp 1" by die MQTT -makelaar.
  4. As die NodeMCU die lesings stuur, stuur die Mosquitto MQTT Broker onmiddellik die data na die luislangprogram.
  5. Python -program bereken dan of daar water in die Green House nodig is. Dan stoor dit die lesings in die SQL -databasis.
  6. 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"
  7. 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.
  8. 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: