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, Studeni
Anonim
Automatizacija staklenika
Automatizacija staklenika

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

Korak 1: Potrebne komponente

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

Neke bitne potrebne komponente navedene su 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 vlage

6. 5V jednokanalni relej

7. Potopna pumpa za vodu 5V

8. Daska za kruh

9. Modul napajanja 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 slanje poruka: MQTT znači 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. Načela dizajna su minimiziranje propusnosti mreže i zahtjeva resursa uređaja, a istovremeno se nastoji osigurati pouzdanost i određeni stupanj sigurnosti isporuke. Pokazalo se da ti principi također čine protokol idealnim za svijet povezanih uređaja "stroj za stroj" (M2M) ili "Internet stvari", te za mobilne aplikacije gdje su propusnost i snaga baterije na prvom mjestu.
  • Program Python koristi se 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 posrednik za jednostavnu 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 prikladan je za upotrebu na svim uređajima, od jednokrilnih računala male snage do punih poslužitelja.

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čunala ili mikro kontrolera.

Projekt Mosquitto također nudi C knjižnicu za implementaciju MQTT klijenata, te vrlo popularne klijente naredbenog retka mosquitto_pub i mosquitto_sub MQTT.

Korak 4: Tijek podataka u cijelom projektu

Na gornjoj slici čvorovi su

  1. NodeMCU
  2. Malina 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 brokera i Python klijenta koji pretplaćuje poruke koje dolaze od posrednika MQTT i pohranjuje podatke na SQL poslužitelj.

Korak 5: Spajanje senzora s NodeMCU -om

Spajanje senzora s NodeMCU -om
Spajanje senzora s NodeMCU -om

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

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

Korak 6: Spajanje potopne pumpe za vodu s ESP8266

Spajanje potopne pumpe za vodu s ESP8266
Spajanje potopne pumpe za vodu s ESP8266
Spajanje potopne pumpe za vodu s ESP8266
Spajanje potopne pumpe za vodu s 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 opskrbljuje vodom pomoću potopne pumpe za vodu.

Ovdje je vanjsko napajanje osigurano na ploči ESP8266, releju i uranjajućoj pumpi za vodu.

Moja potpuna hardverska veza je na gornjoj slici.

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

Slijede koraci za instaliranje posrednika Mosquitto u Raspberry PI

Otvorite terminal i upišite sljedeće naredbe

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

sudo apt-get ažuriranje

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 servis stop mosquitto

sudo service start mosquitto

Većina stranica koje sam otkrio koriste format.

sudo /etc/init.d/mosquitzaustaviti

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 čekanja poruka.

Osim toga, zamišljen je kao lagani protokol za razmjenu poruka koji koristi operacije objavljivanja/pretplate za razmjenu podataka između klijenata i poslužitelja. Nadalje, njegova mala veličina, niska potrošnja energije, smanjeni paketi podataka i jednostavnost implementacije čine protokol idealnim za svijet "stroj-na-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 zahtjeva klijenta o primanju ili slanju podataka između sebe. MQTT poslužitelj naziva se posrednik, 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 koristi se 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čunalu. Web stranica radi preko lokalnog domaćina.

Slijedi izvorni kod mog programa python.

Korak 11: Dovršite rad

Kompletan rad
Kompletan rad

Slijede koraci u kojima se proces odvija.

  1. NodeMCU djeluje kao osjetljivi dio i čita temperaturu, vlažnost i razinu vlage u tlu.
  2. Šalje očitanja posredniku MQTT -a s temom "Tema 1"
  3. Na prijenosnom računalu je pokrenut program python koji se pretplaćuje na temu "Tema 1" s posrednikom MQTT.
  4. Kada NodeMCU pošalje očitanja tada Mosquitto MQTT posrednik odmah šalje podatke u program python.
  5. Python program tada 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 posredniku 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. Posljednja faza za prikaz čitanja uživo na web stranici. Web stranica dohvaća podatke iz SQL baze podataka u koju program python pohranjuje podatke izravno i prikazuje očitanja na stranici.

Preporučeni: