Indholdsfortegnelse:

Green House Automation: 11 trin
Green House Automation: 11 trin

Video: Green House Automation: 11 trin

Video: Green House Automation: 11 trin
Video: Automating a Greenhouse with LoRa! (Part 1) || Sensors (Temperature, Humidity, Soil Moisture) 2024, Juli
Anonim
Green House Automation
Green House Automation

Green house automation er et projekt, hvor tre parametre for et drivhus, dvs.

Trin 1: Komponenter påkrævet

Komponenter påkrævet
Komponenter påkrævet
Komponenter påkrævet
Komponenter påkrævet
Komponenter påkrævet
Komponenter påkrævet

Nogle nødvendige komponenter er anført nedenfor

1. Hindbær PI Model B

2. NodeMCU Development Board

3. ESP8266 Wifi -modul

4. Fugtføler

5. DHT11 temperatur- og fugtighedsføler

6. 5V Single Channel Relay

7. 5V nedsænket vandpumpe

8. Brødbræt

9. Brødtavle Strømforsyningsmodul

Trin 2: Sprog og protokol

Sprog og protokol
Sprog og protokol
Sprog og protokol
Sprog og protokol
Sprog og protokol
Sprog og protokol
  • C Sprog bruges til mikrokontrollerne.
  • MQTT Messaging: MQTT står for MQ Telemetry Transport. Det er en publicer/abonner, ekstremt enkel og let beskedprotokol, designet til begrænsede enheder og lav båndbredde, høj latenstid eller upålidelige netværk. Designprincipperne er at minimere netværksbåndbredde og krav til enhedsressourcer, samtidig med at de forsøger at sikre pålidelighed og en vis grad af leveringssikkerhed. Disse principper viser sig også at gøre protokollen ideel til den nye "maskine-til-maskine" (M2M) eller "tingenes internet" verden med tilsluttede enheder og til mobile applikationer, hvor båndbredde og batteristrøm er til en overkommelig pris.
  • Python -program bruges til at automatisere vandstrømmen og databaseforbindelsen.

Trin 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto MQTT Broker
Eclipse Mosquitto MQTT Broker

Her brugte jeg Mosquitto MQTT Broker til den nemme meddelelseskommunikation mellem noderne.

Eclipse Mosquitto er en open source (EPL/EDL -licenseret) meddelelsesmægler, der implementerer MQTT -protokolversionerne 5.0, 3.1.1 og 3.1. Mosquitto er let og er velegnet til brug på alle enheder fra low power single board computere til fulde servere.

MQTT -protokollen giver en let metode til at udføre beskeder ved hjælp af en publish/subscribe -model. Dette gør den velegnet til Internet of Things -beskeder, f.eks. Med lavstrømssensorer eller mobile enheder såsom telefoner, integrerede computere eller mikrokontroller.

Mosquitto -projektet indeholder også et C -bibliotek til implementering af MQTT -klienter og de meget populære myg_pub- og mosquitto_sub -kommandolinje -MQTT -klienter.

Trin 4: Datastrøm i hele projektet

I ovenstående billede er knudepunkterne

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

NodeMCU er den sansende del af Green House & ESP8266 er den aktiverende del, der forsyner vandet, når jorden har brug for vand i henhold til sensorerne.

Raspberry PI indeholder Mosquitto Broker og en Python -klient, der abonnerer på meddelelserne fra MQTT Broker og gemmer dataene i en SQL -server.

Trin 5: Tilslutning af sensorer med NodeMCU

Tilslutning af sensorer med NodeMCU
Tilslutning af sensorer med NodeMCU

DHT11 temperatur- og fugtighedsføler og vandfugtighedsføler kan fungere på 3,3 volt.

NodeMCU kan ikke levere mere end 3,3 volt. Så sensorerne kan direkte tilsluttes NodeMCU -mikrokontrollerkortet.

Trin 6: Tilslutning af den nedsænkelige vandpumpe med ESP8266

Tilslutning af den nedsænkelige vandpumpe med ESP8266
Tilslutning af den nedsænkelige vandpumpe med ESP8266
Tilslutning af den nedsænkelige vandpumpe med ESP8266
Tilslutning af den nedsænkelige vandpumpe med ESP8266

En nedsænket vandpumpe bruges til at levere vandet, når det er nødvendigt.

Vandpumpe har brug for 5 volt strømforsyning til dens drift.

Et enkelt kanalrelæ er nødvendigt for at forbinde motoren. Når GPIO2 -stiften på ESP8266 er aktiveret, tændes relæet og forsyner automatisk vandet ved hjælp af den nedsænkelige vandpumpe.

Her leveres ekstern strømforsyning til ESP8266 -kort, relæ og nedsænket vandpumpe.

Min komplette hardware -forbindelse er i billedet ovenfor.

Trin 7: Installation af Mosquitto Broker & Running Python Program i Raspberry Pi

Følgende er trinene til installation af Mosquitto -mægleren i Raspberry PI

Åbn terminalen, og skriv følgende kommandoer

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

sudo apt-get opdatering

sudo apt-get install mosquitto

sudo apt-get install mosquitto-klienter

Det skal automatisk starte myg.

For at stoppe og starte den service, jeg skulle bruge

sudo service stop myg

sudo service start myg

De fleste websteder opdagede jeg, hvor jeg brugte formatet.

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

Trin 8: Hvordan fungerer MQTT?

Hvordan fungerer MQTT?
Hvordan fungerer MQTT?

MQTT er en af de mest almindeligt anvendte protokoller i IoT -projekter. Det står for Message Queuing Telemetry Transport.

Derudover er den designet som en let beskedprotokol, der bruger publicerings-/abonnementsoperationer til at udveksle data mellem klienter og serveren. Desuden gør dens lille størrelse, lave strømforbrug, minimerede datapakker og nemme implementering protokollen ideel i verden "maskine-til-maskine" eller "tingenes internet".

Som enhver anden internetprotokol er MQTT baseret på klienter og en server. På samme måde er serveren den fyr, der er ansvarlig for at håndtere klientens anmodninger om at modtage eller sende data mellem hinanden. MQTT -server kaldes en mægler, og klienterne er simpelthen de tilsluttede enheder. Så:

* Når en enhed (en klient) ønsker at sende data til mægleren, kalder vi denne operation for en "publicering".

* Når en enhed (en klient) ønsker at modtage data fra mægleren, kalder vi denne operation et "abonnement".

Trin 9: Programmering af NodeMCU og ESP8266

Følgende er kildekoden til NodeMCU og ESP8266 Microcontroller board

Trin 10: Design af en webside og forbindelse til SQL -databasen

Websiden er designet ved hjælp af HTML, CSS og PHP sprog.

PHP bruges til at udtrække sensoraflæsninger fra databasen og vise den på HTML -siden.

Et python -program bruges som et hjerte i dette projekt.

Værker, som python -programmet laver, er som følger.

  1. Den abonnerer på et emne, hvor sensoren sender sensoraflæsninger.
  2. Det offentliggør kommando til/fra vandpumpe til MQTT -mægleren.
  3. Det gemmer sensoraflæsning i en SQL -database.

Her i mit tilfælde er python -programmet og SQL -databasen til stede i en bærbar computer. Websiden kører via en lokal vært.

Følgende er kildekoden for mit python -program.

Trin 11: Fuldfør arbejdet

Komplet arbejde
Komplet arbejde

Følgende er de trin, hvor processen fortsætter.

  1. NodeMCU fungerer som sansende del og aflæser temperatur, fugtighed og jordfugtighedsniveau.
  2. Det sender aflæsningerne til MQTT -mægleren med emnet "Emne 1"
  3. I en bærbar computer kører python -programmet, og det abonnerer på et emne "Emne 1" med MQTT -mægleren.
  4. Når NodeMCU sender målingerne, sender Mosquitto MQTT Broker straks dataene til python -programmet.
  5. Python -programmet beregner derefter, om der er brug for vand i Green House. Derefter gemmes aflæsningerne i SQL Database.
  6. Hvis der er brug for vand i det grønne hus, offentliggør python -programmet vandpumpe til/fra -besked til Mosquitto MQTT -mægleren med et emne "Emne 2"
  7. ESP8266 fungerer som en aktuator. Det abonnerer på emnet "Emne 2", i hvilket emne python -programmet udgiver meddelelsen. Når python -programmet offentliggør en besked, overføres meddelelsen straks til ESP8266. Ifølge tænd/sluk -meddelelsen tændte/slukkede den nedsænkelige vandpumpe.
  8. Sidste fase til visning af de levende aflæsninger på websiden. Websiden henter dataene fra SQL -databasen, hvor python -programmet gemmer dataene direkte og viser aflæsningerne på siden.

Anbefalede: