Sadržaj:

Automatizacija staklenika: 11 koraka
Automatizacija staklenika: 11 koraka

Video: Automatizacija staklenika: 11 koraka

Video: Automatizacija staklenika: 11 koraka
Video: Агрогороскоп с 11 по 14 апреля 2022 года 2024, Novembar
Anonim
Green House Automation
Green House Automation

Automatizacija staklenika je projekt gdje tri parametra staklenika, odnosno vlažnost tla, temperatura i vlažnost, korisnik nadzire daljinski, jednostavno pomoću web preglednika.

Korak 1: Potrebne komponente

Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente

Neke bitne komponente su navedene u nastavku

1. Malina PI Model B

2. Odbor za razvoj NodeMCU -a

3. ESP8266 Wifi modul

4. Senzor vlage

5. DHT11 Senzor temperature i vlažnosti

6. 5V jednokanalni relej

7. Potopna pumpa za vodu 5V

8. Bread Board

9. Modul za napajanje ploče za kruh

Korak 2: Jezik i protokol

Jezik i protokol
Jezik i protokol
Jezik i protokol
Jezik i protokol
Jezik i protokol
Jezik i protokol
  • C Jezik se koristi za mikrokontrolere.
  • MQTT poruke: MQTT označava MQ telemetrijski transport. To je izuzetno jednostavan i lagan protokol razmjene poruka za objavljivanje/pretplatu, dizajniran za ograničene uređaje i mreže niske propusnosti, velike latencije ili nepouzdane. Principi dizajna su da minimiziraju propusnost mreže i zahtjeve resursa uređaja, pokušavajući pritom osigurati pouzdanost i određeni stupanj sigurnosti isporuke. Pokazalo se da ovi principi također čine protokol idealnim za svijet povezanih uređaja "mašina za stroj" (M2M) ili "Internet stvari", te za mobilne aplikacije u kojima su propusnost i snaga baterije na prvom mjestu.
  • Python program se koristi za automatizaciju protoka vode i povezivanja baze podataka.

Korak 3: Eclipse Mosquitto MQTT posrednik

Eclipse Mosquitto MQTT posrednik
Eclipse Mosquitto MQTT posrednik

Ovdje sam upotrijebio Mosquitto MQTT Broker za laku komunikaciju poruka između čvorova.

Eclipse Mosquitto je posrednik za poruke otvorenog koda (licenciran EPL/EDL) koji implementira verzije 5.0, 3.1.1 i 3.1 protokola MQTT. Mosquitto je lagan i pogodan je za upotrebu na svim uređajima, od single board računara male snage do punih servera.

MQTT protokol pruža lagan način slanja poruka pomoću modela objavljivanja/pretplate. To ga čini pogodnim za razmjenu poruka Interneta stvari, poput senzora male snage ili mobilnih uređaja, poput telefona, ugrađenih računara ili mikro kontrolera.

Projekt Mosquitto također nudi C biblioteku za implementaciju MQTT klijenata, te vrlo popularne klijente iz komande MskTto_sub mosquitto_pub i mosquitto_sub.

Korak 4: Tok podataka u cijelom projektu

Na gornjoj slici čvorovi su

  1. NodeMCU
  2. Raspberry PI
  3. ESP8266

NodeMCU je osjetljivi dio Zelene kuće, a ESP8266 je pokretački dio koji opskrbljuje vodu kada zemljištu treba voda prema senzorima.

Raspberry PI sadrži Mosquitto Broker i Python klijent koji pretplaćuje poruke koje dolaze od MQTT brokera i pohranjuje podatke na SQL server.

Korak 5: Povezivanje senzora s NodeMCU

Povezivanje senzora sa NodeMCU
Povezivanje senzora sa NodeMCU

Senzor temperature i vlažnosti DHT11 i senzor vlage vode mogu raditi na 3,3 volta.

NodeMCU ne može dati više od 3,3 volta. Tako se senzori mogu direktno povezati s pločom mikrokontrolera NodeMCU.

Korak 6: Spajanje potopljene pumpe za vodu s ESP8266

Povezivanje potopne pumpe za vodu sa ESP8266
Povezivanje potopne pumpe za vodu sa ESP8266
Povezivanje potopne pumpe za vodu sa ESP8266
Povezivanje potopne pumpe za vodu sa ESP8266

Potopna pumpa za vodu koristi se za opskrbu vodom kad god je to potrebno.

Za rad pumpe za vodu potrebno je napajanje od 5 volti.

Za povezivanje motora potreban je jednokanalni relej. Kada se aktivira GPIO2 pin ESP8266, relej se uključuje i automatski napaja vodu pomoću potopljene pumpe za vodu.

Ovdje se pruža vanjsko napajanje ploči ESP8266, releju i potopnoj pumpi za vodu.

Moja kompletna hardverska veza je na gornjoj slici.

Korak 7: Instaliranje Mosquitto brokera i pokretanje Python programa u Raspberry Pi

Slijede koraci za instaliranje brokera Mosquitto u Raspberry PI

Otvorite terminal i upišite sljedeće naredbe

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

sudo apt-get update

sudo apt-get install mosquitto

sudo apt-get install mosquitto-clients

Automatski bi trebao pokrenuti komarac.

Za zaustavljanje i pokretanje usluge koju sam trebao koristiti

sudo service stop mosquitto

sudo service start mosquitto

Većina stranica koje sam otkrio koriste format.

sudo /etc/init.d/mosquitto stop

Korak 8: Kako funkcionira MQTT?

Kako funkcionira MQTT?
Kako funkcionira MQTT?

MQTT je jedan od najčešće korištenih protokola u IoT projektima. To znači telemetrijski transport u redu poruka.

Osim toga, dizajniran je kao lagani protokol za razmjenu poruka koji koristi operacije objavljivanja/pretplate za razmjenu podataka između klijenata i poslužitelja. Nadalje, njegove male veličine, niska potrošnja energije, minimizirani paketi podataka i jednostavnost implementacije čine protokol idealnim za svijet "mašina-za-stroj" ili "Internet stvari".

Kao i svaki drugi internetski protokol, MQTT se temelji na klijentima i poslužitelju. Slično, poslužitelj je čovjek koji je odgovoran za rješavanje klijentovih zahtjeva za primanje ili slanje podataka između sebe. MQTT poslužitelj se naziva posrednikom, a klijenti su jednostavno povezani uređaji. Dakle:

* Kada uređaj (klijent) želi poslati podatke posredniku, ovu operaciju nazivamo "objavom".

* Kada uređaj (klijent) želi primiti podatke od brokera, ovu operaciju nazivamo "pretplatom".

Korak 9: Programiranje NodeMCU i ESP8266

Slijedi izvorni kod za ploču mikrokontrolera NodeMCU i ESP8266

Korak 10: Dizajniranje web stranice i povezivanje sa SQL bazom podataka

Web stranica je dizajnirana korištenjem HTML, CSS i PHP jezika.

PHP se koristi za izdvajanje očitanja senzora iz baze podataka i njihovo prikazivanje na HTML stranici.

Python program se koristi kao srce ovog projekta.

Radovi koje radi program python su sljedeći.

  1. Pretplaćuje se na temu u kojoj senzor šalje očitanja senzora.
  2. On objavljuje naredbu za uključivanje/isključivanje pumpe za vodu posredniku MQTT.
  3. Pohranjuje očitanje senzora u SQL bazu podataka.

Ovdje je u mom slučaju program python i SQL baza podataka prisutni na prijenosnom računaru. Web stranica radi preko lokalnog domaćina.

Slijedi izvorni kod mog programa python.

Korak 11: Dovršite rad

Complete Working
Complete Working

Slijede koraci u kojima se proces odvija.

  1. NodeMCU radi kao osjetljivi dio i očitava temperaturu, vlažnost i nivo vlažnosti tla.
  2. Šalje očitanja MQTT posredniku s temom "Tema 1"
  3. Na prijenosnom računaru je pokrenut program python koji se pretplaćuje na temu "Tema 1" s posrednikom MQTT.
  4. Kada NodeMCU pošalje očitanja, Mosquitto MQTT posrednik odmah šalje podatke u program python.
  5. Python program zatim izračunava ima li vode potrebne u Zelenoj kući. Zatim pohranjuje očitanja u SQL bazu podataka.
  6. Ako je voda potrebna u Zelenoj kući, tada program python objavljuje poruku o uključivanju/isključivanju pumpe za vodu brokeru Mosquitto MQTT s temom "Tema 2"
  7. ESP8266 radi kao pokretač. Pretplaćuje se na temu "Tema 2" u kojoj temi program python objavljuje poruku. Kada program python objavi bilo koju poruku, poruka se odmah prenosi na ESP8266. Prema poruci za uključivanje/isključivanje, uključio/isključio je potopnu pumpu za vodu.
  8. Zadnja faza za prikaz čitanja uživo na web stranici. Web stranica preuzima podatke iz SQL baze podataka u koju program python pohranjuje podatke izravno i prikazuje očitanja na stranici.

Preporučuje se: