Innholdsfortegnelse:

Green House Automation: 11 trinn
Green House Automation: 11 trinn

Video: Green House Automation: 11 trinn

Video: Green House Automation: 11 trinn
Video: Капельный полив | Корпорация Зелёная Планета | Лучшее решение! 2024, November
Anonim
Green House Automation
Green House Automation

Green house automation er et prosjekt der tre parametere for et drivhus, dvs. jordfuktighet, temperatur og fuktighet, overvåkes av brukeren eksternt ved å bruke en nettleser.

Trinn 1: Komponenter påkrevd

Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd

Noen viktige komponenter som kreves er listet opp nedenfor

1. Bringebær PI modell B

2. NodeMCU Development Board

3. ESP8266 Wifi -modul

4. Fuktighetssensor

5. DHT11 temperatur- og fuktighetssensor

6. 5V Single Channel Relay

7. 5V nedsenkbar vannpumpe

8. Brødbrett

9. Strømforsyningsmodul for brødbrett

Trinn 2: Språk og protokoll

Språk og protokoll
Språk og protokoll
Språk og protokoll
Språk og protokoll
Språk og protokoll
Språk og protokoll
  • C Språk brukes for mikrokontrollerne.
  • MQTT Messaging: MQTT står for MQ Telemetry Transport. Det er en publiser/abonner, ekstremt enkel og lett meldingsprotokoll, designet for begrensede enheter og lav båndbredde, høy latens eller upålitelige nettverk. Designprinsippene er å minimere krav til nettverksbåndbredde og enhetsressurser, samtidig som de forsøker å sikre pålitelighet og en viss leveringssikkerhet. Disse prinsippene viser seg også å gjøre protokollen ideell for den nye "machine-to-machine" (M2M) eller "Internet of Things" -verdenen for tilkoblede enheter, og for mobile applikasjoner der båndbredde og batteristrøm er til en fordel.
  • Python -programmet brukes til å automatisere vannstrømmen og databasetilkoblingen.

Trinn 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto MQTT -megler
Eclipse Mosquitto MQTT -megler

Her brukte jeg Mosquitto MQTT Broker for enkel meldingskommunikasjon mellom nodene.

Eclipse Mosquitto er en åpen kildekode (EPL/EDL lisensiert) meldingsmegler som implementerer MQTT -protokollversjonene 5.0, 3.1.1 og 3.1. Mosquitto er lett og er egnet for bruk på alle enheter fra enkeltmaktbrett med lav effekt til fulle servere.

MQTT -protokollen gir en lett metode for å utføre meldinger ved hjelp av en publiser/abonner -modell. Dette gjør den egnet for Internett -ting -meldinger, for eksempel med lavstrømssensorer eller mobile enheter som telefoner, innebygde datamaskiner eller mikrokontrollere.

Mosquitto -prosjektet gir også et C -bibliotek for implementering av MQTT -klienter, og de veldig populære MQTT -klientene for mosquitto_pub og mosquitto_sub.

Trinn 4: Flyt av data i hele prosjektet

I bildet ovenfor er nodene

  1. NodeMCU
  2. Bringebær PI
  3. ESP8266

NodeMCU er den sensende delen av Green House og ESP8266 er den aktiverende delen som forsyner vannet når bakken trenger vann i henhold til sensorene.

Raspberry PI inneholder Mosquitto Broker og en Python -klient som abonnerer på meldingene som kommer fra MQTT Broker og lagrer dataene i en SQL -server.

Trinn 5: Tilkobling av sensorer med NodeMCU

Tilkobling av sensorer med NodeMCU
Tilkobling av sensorer med NodeMCU

DHT11 temperatur- og fuktighetssensor og vannfuktighetssensoren kan operere på 3,3 volt.

NodeMCU kan ikke levere mer enn 3,3 volt. Så sensorene kan kobles direkte til NodeMCU mikrokontrollerkortet.

Trinn 6: Tilkobling av nedsenkbar vannpumpe med ESP8266

Tilkobling av nedsenkbar vannpumpe med ESP8266
Tilkobling av nedsenkbar vannpumpe med ESP8266
Tilkobling av nedsenkbar vannpumpe med ESP8266
Tilkobling av nedsenkbar vannpumpe med ESP8266

En nedsenkbar vannpumpe brukes til å tilføre vannet når det er nødvendig.

Vannpumpe trenger 5 volt strøm for å fungere.

Et enkelt kanalrelé er nødvendig for å koble motoren. Når GPIO2 -pinnen på ESP8266 er aktivert, er reléet slått på og forsyner vannet automatisk med den nedsenkbare vannpumpen.

Her leveres ekstern strømforsyning til ESP8266 -kort, relé og nedsenkbar vannpumpe.

Min komplette maskinvaretilkobling er i bildet ovenfor.

Trinn 7: Installere Mosquitto Broker & Running Python Program i Raspberry Pi

Følgende er trinnene for å installere Mosquitto -megleren i Raspberry PI

Åpne terminalen og skriv inn følgende kommandoer

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

sudo apt-get oppdatering

sudo apt-get install mygg

sudo apt-get install mosquitto-klienter

Det skal automatisk starte mygg.

For å stoppe og starte tjenesten jeg trengte å bruke

sudo service stopp mygg

sudo service start mygg

De fleste nettstedene jeg oppdaget brukte formatet.

sudo /etc/init.d/mosquitto for å stoppe

Trinn 8: Hvordan fungerer MQTT?

Hvordan fungerer MQTT?
Hvordan fungerer MQTT?

MQTT er en av de mest brukte protokollene i IoT -prosjekter. Det står for Message Queuing Telemetry Transport.

I tillegg er den designet som en lett meldingsprotokoll som bruker publiserings-/abonnementsoperasjoner for å utveksle data mellom klienter og serveren. Videre gjør den lille størrelsen, det lave strømforbruket, minimerte datapakker og enkel implementering protokollen ideell for verden "maskin til maskin" eller "tingenes internett".

Som enhver annen internettprotokoll er MQTT basert på klienter og en server. På samme måte er serveren fyren som er ansvarlig for å håndtere klientens forespørsler om å motta eller sende data mellom hverandre. MQTT -serveren kalles en megler og klientene er ganske enkelt de tilkoblede enhetene. Så:

* Når en enhet (en klient) ønsker å sende data til megleren, kaller vi denne operasjonen for en "publisering".

* Når en enhet (en klient) ønsker å motta data fra megleren, kaller vi denne operasjonen for "abonnere".

Trinn 9: Programmering NodeMCU og ESP8266

Følgende er kildekoden for NodeMCU og ESP8266 Microcontroller board

Trinn 10: Utforme en webside og koble til SQL -databasen

Websiden er designet med HTML-, CSS- og PHP -språk.

PHP brukes til å trekke ut sensoravlesningene fra databasen og vise den inn på HTML -siden.

Et python -program brukes som et hjerte i dette prosjektet.

Verker som python -programmet gjør er som følger.

  1. Den abonnerer på et emne der sensoren sender sensoravlesningene.
  2. Den publiserer vannpumpe på/av -kommando til MQTT -megleren.
  3. Den lagrer sensoravlesningen i en SQL -database.

Her i mitt tilfelle er python -programmet og SQL -databasen tilstede i en bærbar datamaskin. Websiden som kjører gjennom en lokal vert.

Følgende er kildekoden til mitt python -program.

Trinn 11: Fullfør arbeidet

Fullstendig arbeid
Fullstendig arbeid

Følgende er trinnene der prosessen fortsetter.

  1. NodeMCU fungerer som sansende del og leser temperatur, fuktighet og jordfuktighet.
  2. Den sender avlesningene til MQTT -megleren med emnet "Emne 1"
  3. I en bærbar datamaskin kjører python -programmet, og det abonnerer på et emne "Emne 1" med MQTT -megleren.
  4. Når NodeMCU sender avlesningene, sender Mosquitto MQTT Broker umiddelbart dataene til python -programmet.
  5. Python -programmet beregner deretter om det er vann som trengs i Green House. Deretter lagrer den avlesningene i SQL Database.
  6. Hvis det trengs vann i Green House, publiserer python -programmet vannpumpe på/av -melding til Mosquitto MQTT -megler med emnet "Emne 2"
  7. ESP8266 fungerer som en aktuator. Den abonnerer på emnet "Emne 2" i hvilket emne python -programmet publiserer meldingen. Når python -programmet publiserer en melding, overføres meldingen umiddelbart til ESP8266. I henhold til av/på -meldingen slo den på/av den nedsenkbare vannpumpen.
  8. Siste fase for å vise liveavlesningene på nettsiden. Websiden henter dataene fra SQL -databasen der python -programmet lagrer dataene direkte og viser avlesningene på siden.

Anbefalt: