Sadržaj:
- Korak 1: Potrebne komponente
- Korak 2: Jezik i protokol
- Korak 3: Eclipse Mosquitto MQTT posrednik
- Korak 4: Tijek podataka u cijelom projektu
- Korak 5: Spajanje senzora s NodeMCU -om
- Korak 6: Spajanje potopne pumpe za vodu s ESP8266
- Korak 7: Instaliranje Mosquitto brokera i pokretanje Python programa u Raspberry Pi
- Korak 8: Kako funkcionira MQTT?
- Korak 9: Programiranje NodeMCU i ESP8266
- Korak 10: Dizajniranje web stranice i povezivanje sa SQL bazom podataka
- Korak 11: Dovršite rad
Video: Automatizacija staklenika: 11 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
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
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
- 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
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
- NodeMCU
- Malina PI
- 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
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
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?
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.
- Pretplaćuje se na temu u kojoj senzor šalje očitanja senzora.
- On objavljuje naredbu za uključivanje/isključivanje pumpe za vodu posredniku MQTT.
- 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
Slijede koraci u kojima se proces odvija.
- NodeMCU djeluje kao osjetljivi dio i čita temperaturu, vlažnost i razinu vlage u tlu.
- Šalje očitanja posredniku MQTT -a s temom "Tema 1"
- Na prijenosnom računalu je pokrenut program python koji se pretplaćuje na temu "Tema 1" s posrednikom MQTT.
- Kada NodeMCU pošalje očitanja tada Mosquitto MQTT posrednik odmah šalje podatke u program python.
- Python program tada izračunava ima li vode potrebne u Zelenoj kući. Zatim pohranjuje očitanja u SQL bazu podataka.
- 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"
- 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.
- 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:
Automatizacija staklenika uz LoRa! (2. dio) -- Motorno otvaranje prozora: 6 koraka (sa slikama)
Automatiziranje staklenika uz LoRa! (2. dio) || Motorno otvaranje prozora: U ovom projektu pokazat ću vam kako sam stvorio motorizirani otvarač prozora za svoj staklenik. To znači da ću vam pokazati koji sam motor koristio, kako sam dizajnirao stvarni mehanički sustav, kako vozim motor i na kraju kako sam koristio Arduino LoRa
Monitoring staklenika s IOT -om: 5 koraka
Monitoring staklenika s IOT -om: Što se tiče poljoprivrede, praćenje temperature & vlažnost biljaka važan je čimbenik za njihov opstanak. Trenutno ljudi koriste termometre pričvršćene u stakleniku kako bi poljoprivrednici mogli mjeriti temperaturu. Međutim, ova ručna aplikacija
Automatiziranje staklenika uz LoRa! (1. dio) -- Senzori (temperatura, vlaga, vlaga tla): 5 koraka
Automatiziranje staklenika uz LoRa! (1. dio) || Senzori (temperatura, vlaga, vlaga tla): U ovom projektu pokazat ću vam kako sam automatizirao staklenik. To znači da ću vam pokazati kako sam izgradio staklenik i kako sam spojio napajanje i elektroniku za automatizaciju. Također ću vam pokazati kako programirati Arduino ploču koja koristi L
Hidroponski sustav za nadzor i kontrolu staklenika: 5 koraka (sa slikama)
Sustav za nadzor i kontrolu hidroponskih staklenika: U ovom uputstvu pokazat ću vam kako izgraditi hidroponski sustav nadzora i kontrole staklenika. Pokazat ću vam odabrane komponente, dijagram ožičenja kako je sklop konstruiran i Arduino skicu korištenu za programiranje Seeed
Pametni senzori staklenika: 5 koraka
Pametni senzori staklenika: Ovaj Instructable sada je na natječaju za mikrokontroler, glasajte za njega: Pozdrav svima, danas ću vam pokazati svoj mali projekt koji sam gradio nekoliko dana. Ovaj set sastoji se od 4 (četiri) različita senzora i mislim da svaki vlasnik staklenika