Innehållsförteckning:

Green House Automation: 11 steg
Green House Automation: 11 steg

Video: Green House Automation: 11 steg

Video: Green House Automation: 11 steg
Video: Ridiculous Cars Against Triple Skibidi Toilet Head Bollard & Giant Spinning Hammer | BeamNG.Drive 2024, Juli
Anonim
Green House Automation
Green House Automation

Grönhusautomatisering är ett projekt där tre parametrar för ett växthus, det vill säga jordfuktighet, temperatur och luftfuktighet, övervakas av användaren på distans helt enkelt med hjälp av en webbläsare.

Steg 1: Komponenter krävs

Komponenter krävs
Komponenter krävs
Komponenter krävs
Komponenter krävs
Komponenter krävs
Komponenter krävs

Några viktiga komponenter som krävs anges nedan

1. Hallon PI Modell B

2. NodeMCU Development Board

3. ESP8266 Wifi -modul

4. Fuktsensor

5. DHT11 temperatur- och fuktighetssensor

6. 5V enkelkanalsrelä

7. 5V nedsänkbar vattenpump

8. Brödbräda

9. Strömförsörjningsmodul för brödbräda

Steg 2: Språk och protokoll

Språk och protokoll
Språk och protokoll
Språk och protokoll
Språk och protokoll
Språk och protokoll
Språk och protokoll
  • C Språk används för mikrokontrollerna.
  • MQTT Messaging: MQTT står för MQ Telemetry Transport. Det är ett publicera/prenumerera, extremt enkelt och lätt meddelandeprotokoll, utformat för begränsade enheter och låg bandbredd, hög latens eller opålitliga nätverk. Designprinciperna är att minimera nätverksbandbredd och enhetens resursbehov samtidigt som de försöker säkerställa tillförlitlighet och viss grad av leveranssäkerhet. Dessa principer visar sig också göra protokollet idealiskt för den framväxande "machine-to-machine" (M2M) eller "Internet of Things" -världen för anslutna enheter och för mobila applikationer där bandbredd och batterikraft är högst.
  • Python -programmet används för att automatisera vattenflödet och databasanslutningen.

Steg 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto MQTT -mäklare
Eclipse Mosquitto MQTT -mäklare

Här använde jag Mosquitto MQTT Broker för enkel meddelandekommunikation mellan noderna.

Eclipse Mosquitto är en meddelandemäklare med öppen källkod (EPL/EDL -licensierad) som implementerar MQTT -protokollversionerna 5.0, 3.1.1 och 3.1. Mosquitto är lätt och är lämplig för användning på alla enheter från enspänningsdatorer med låg effekt till fulla servrar.

MQTT -protokollet tillhandahåller en lätt metod för att utföra meddelanden med hjälp av en publicerings-/prenumerationsmodell. Detta gör den lämplig för Internet of Things -meddelanden, till exempel med lågeffektsensorer eller mobila enheter som telefoner, inbyggda datorer eller mikrokontroller.

Mosquitto -projektet tillhandahåller också ett C -bibliotek för implementering av MQTT -klienter och de mycket populära MQTT -klienterna mygg_pub och mosquitto_sub.

Steg 4: Dataflöde i hela projektet

I bilden ovan är noder

  1. NodeMCU
  2. Raspberry Pi
  3. ESP8266

NodeMCU är den avkännande delen av Green House & ESP8266 är den aktiverande delen som levererar vattnet när marken behöver vatten enligt sensorerna.

Raspberry PI innehåller Mosquitto Broker och en Python -klient som prenumererar på meddelandena från MQTT Broker och lagrar data i en SQL -server.

Steg 5: Anslutning av sensorer med NodeMCU

Anslutning av sensorer med NodeMCU
Anslutning av sensorer med NodeMCU

DHT11 temperatur- och fuktsensor och vattenfuktighetssensorn kan arbeta med 3,3 volt.

NodeMCU kan inte ge mer än 3,3 volt. Så sensorerna kan anslutas direkt till NodeMCU -mikrokontrollerkortet.

Steg 6: Anslutning av nedsänkbar vattenpump med ESP8266

Anslutning av nedsänkbar vattenpump med ESP8266
Anslutning av nedsänkbar vattenpump med ESP8266
Anslutning av nedsänkbar vattenpump med ESP8266
Anslutning av nedsänkbar vattenpump med ESP8266

En dränkbar vattenpump används för att tillföra vattnet när det behövs.

Vattenpumpen behöver 5 volt strömförsörjning för att den ska fungera.

Ett enda kanalrelä behövs för att ansluta motorn. När GPIO2 -stiftet på ESP8266 är aktiverat slås reläet på och levererar automatiskt vattnet med hjälp av nedsänkbar vattenpump.

Här tillhandahålls extern strömförsörjning till ESP8266 -kort, relä och nedsänkbar vattenpump.

Min fullständiga hårdvaruanslutning finns i bilden ovan.

Steg 7: Installera Mosquitto Broker & Running Python Program i Raspberry Pi

Följande är stegen för att installera Mosquitto -mäklaren i Raspberry PI

Öppna terminalen och skriv följande kommandon

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

sudo apt-get uppdatering

sudo apt-get install mygg

sudo apt-get install myggklienter

Det ska automatiskt starta mygg.

För att stoppa och starta tjänsten jag behövde använda

sudo service stoppa mygga

sudo service starta mygga

De flesta webbplatser jag upptäckte använde formatet.

sudo /etc/init.d/mosquitto stoppa

Steg 8: Hur fungerar MQTT?

Hur fungerar MQTT?
Hur fungerar MQTT?

MQTT är ett av de mest använda protokollen i IoT -projekt. Det står för Message Queuing Telemetry Transport.

Dessutom är det utformat som ett lättmeddelandeprotokoll som använder publicera/prenumerera för att utbyta data mellan klienter och servern. Dessutom är dess lilla storlek, låga energianvändning, minimerade datapaket och enkel implementering protokollet idealiskt för världen”maskin-till-maskin” eller”sakernas internet”.

Precis som alla andra internetprotokoll är MQTT baserat på klienter och en server. På samma sätt är servern killen som är ansvarig för att hantera klientens förfrågningar om att ta emot eller skicka data mellan varandra. MQTT -server kallas en mäklare och klienterna är helt enkelt de anslutna enheterna. Så:

* När en enhet (en klient) vill skicka data till mäklaren kallar vi denna operation för "publicering".

* När en enhet (en klient) vill ta emot data från mäklaren kallar vi denna operation en "prenumerera".

Steg 9: Programmering av NodeMCU och ESP8266

Nedan följer källkoden för NodeMCU och ESP8266 Microcontroller -kort

Steg 10: Designa en webbsida och ansluta till SQL -databasen

Webbsidan är utformad med HTML, CSS och PHP -språk.

PHP används för att extrahera sensoravläsningarna från databasen och visa den på HTML -sidan.

Ett pythonprogram används som hjärtat i detta projekt.

Verk som pythonprogrammet gör är följande.

  1. Den prenumererar på ett ämne där sensorn skickar sensoravläsningarna.
  2. Det publicerar vattenpumpens på/av -kommando till MQTT -mäklaren.
  3. Det lagrar sensoravläsningen i en SQL -databas.

Här i mitt fall finns pythonprogrammet och SQL -databasen i en bärbar dator. Webbsidan som körs via en lokal värd.

Följande är källkoden för mitt pythonprogram.

Steg 11: Slutför arbetet

Komplett arbete
Komplett arbete

Följande är de steg i vilka processen fortsätter.

  1. NodeMCU fungerar som avkänningsdel och avläser temperatur, luftfuktighet och markfuktighetsnivå.
  2. Den skickar avläsningarna till MQTT -mäklaren med ämnet "Ämne 1"
  3. I en bärbar dator är python -programmet igång och det prenumererar på ett ämne "Ämne 1" med MQTT -mäklaren.
  4. När NodeMCU skickar avläsningarna skickar Mosquitto MQTT -mäklaren omedelbart data till pythonprogrammet.
  5. Python -programmet beräknar sedan om det behövs vatten i Green House. Därefter lagras avläsningarna i SQL -databasen.
  6. Om det behövs vatten i Green House, publicerar pythonprogrammet vattenpumpens på/av -meddelande till Mosquitto MQTT -mäklaren med ämnet "Ämne 2"
  7. ESP8266 fungerar som ställdon. Den prenumererar på ämnet "Ämne 2" i vilket ämne pythonprogrammet publicerar meddelandet. När pythonprogrammet publicerar ett meddelande överförs meddelandet omedelbart till ESP8266. Enligt på/av -meddelandet slog det på/av den nedsänkbara vattenpumpen.
  8. Sista fasen för att visa liveavläsningarna på webbsidan. Webbsidan hämtar data från SQL -databasen där pythonprogrammet lagrar data direkt och visar avläsningarna på sidan.

Rekommenderad: