Sadržaj:
- Korak 1: Potrebne komponente
- Korak 2: Jezik i protokol
- Korak 3: Eclipse Mosquitto MQTT posrednik
- Korak 4: Tok podataka u cijelom projektu
- Korak 5: Povezivanje senzora s NodeMCU
- Korak 6: Spajanje potopljene 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 izmjena: 2024-01-30 08:07
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
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
- 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
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
- NodeMCU
- Raspberry 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 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
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
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?
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.
- 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čunaru. 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 radi kao osjetljivi dio i očitava temperaturu, vlažnost i nivo vlažnosti tla.
- Šalje očitanja MQTT posredniku s temom "Tema 1"
- Na prijenosnom računaru je pokrenut program python koji se pretplaćuje na temu "Tema 1" s posrednikom MQTT.
- Kada NodeMCU pošalje očitanja, Mosquitto MQTT posrednik odmah šalje podatke u program python.
- Python program zatim 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 brokeru 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.
- 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:
Automatizacija staklenika uz LoRa! (2. dio) -- Motorno otvaranje prozora: 6 koraka (sa slikama)
Automatizacija 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 sistem, kako vozim motor i na kraju kako sam koristio Arduino LoRa
Monitoring staklenika sa IOT -om: 5 koraka
Monitoring staklenika s IOT -om: Što se tiče poljoprivrede, praćenje temperature & vlažnost biljaka važan je faktor za njihov opstanak. Trenutno ljudi koriste termometre pričvršćene u stakleniku kako bi poljoprivrednici mogli mjeriti temperaturu. Međutim, ova ručna aplikacija
Automatizacija staklenika uz LoRa! (1. dio) -- Senzori (temperatura, vlažnost, vlaga tla): 5 koraka
Automatizacija 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 sistem za nadzor i kontrolu staklenika: 5 koraka (sa slikama)
Hidroponski sistem za nadzor i kontrolu staklenika: U ovom uputstvu ću vam pokazati kako izgraditi hidroponski sistem za nadzor i kontrolu 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 je sada na takmičenju Mikrokontroler, glasajte za njega: Pozdrav svima, Danas ću vam pokazati svoj mali projekat koji sam gradio nekoliko dana. Ovaj set se sastoji od 4 (četiri) različita senzora i mislim da svaki vlasnik staklenika