Kazalo:
- 1. korak: potrebne komponente
- Korak: Jezik in protokol
- 3. korak: Posrednik Eclipse Mosquitto MQTT
- 4. korak: Pretok podatkov v celotnem projektu
- 5. korak: Povezava senzorjev z NodeMCU
- 6. korak: Povezava potopne vodne črpalke z ESP8266
- 7. korak: Namestitev programa Mosquitto Broker & Running Python Program v Raspberry Pi
- 8. korak: Kako deluje MQTT?
- 9. korak: Programiranje NodeMCU in ESP8266
- 10. korak: Oblikovanje spletne strani in povezovanje z bazo podatkov SQL
- 11. korak: Dokončajte delo
Video: Avtomatizacija rastlinjakov: 11 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Avtomatizacija rastlinjakov je projekt, pri katerem uporabnik na daljavo preprosto spremlja tri parametre rastlinjaka, in sicer vlažnost tal, temperaturo in vlažnost, preprosto z uporabo spletnega brskalnika.
1. korak: potrebne komponente
Spodaj so navedene nekatere potrebne komponente
1. Malina PI Model B
2. Razvojni odbor NodeMCU
3. ESP8266 modul Wifi
4. Senzor vlage
5. Senzor temperature in vlažnosti DHT11
6. 5V enokanalni rele
7. 5V potopna vodna črpalka
8. Krušna deska
9. Napajalni modul za ploščo za kruh
Korak: Jezik in protokol
- Za mikro krmilnike se uporablja jezik C.
- Sporočila MQTT: MQTT pomeni MQ Telemetry Transport. To je izredno preprost in lahek protokol za pošiljanje sporočil za objavo/naročnino, zasnovan za omejene naprave in nizko pasovno širino, visoke zamude ali nezanesljiva omrežja. Načela oblikovanja so čim manjša pasovna širina omrežja in potrebe po virih naprav, hkrati pa poskušati zagotoviti zanesljivost in določeno stopnjo zagotovila dostave. Iz teh načel se je izkazalo, da je protokol idealen tudi za nastajajoči svet povezanih naprav "med stroji" (M2M) ali "internet stvari" in za mobilne aplikacije, pri katerih sta pasovna širina in moč baterije na prvem mestu.
- Program Python se uporablja za avtomatizacijo pretoka vode in povezljivosti z zbirko podatkov.
3. korak: Posrednik Eclipse Mosquitto MQTT
Tukaj sem za preprosto komunikacijo sporočil med vozlišči uporabil posrednik Mosquitto MQTT.
Eclipse Mosquitto je odprtokodni posrednik sporočil (z licenco EPL/EDL), ki izvaja protokol MQTT različic 5.0, 3.1.1 in 3.1. Mosquitto je lahek in je primeren za uporabo na vseh napravah, od enosmernih računalnikov z nizko porabo energije do polnih strežnikov.
Protokol MQTT zagotavlja lahek način pošiljanja sporočil z uporabo modela objave/naročnine. Zaradi tega je primeren za pošiljanje sporočil Internet of Things, na primer s senzorji za nizko porabo energije ali mobilnimi napravami, kot so telefoni, vgrajeni računalniki ali mikro krmilniki.
Projekt Mosquitto ponuja tudi knjižnico C za izvajanje odjemalcev MQTT in zelo priljubljene odjemalce ukazne vrstice mosquitto_pub in mosquitto_sub.
4. korak: Pretok podatkov v celotnem projektu
Na zgornji sliki so vozlišča
- NodeMCU
- Malina PI
- ESP8266
NodeMCU je zaznavni del rastlinjaka, ESP8266 pa je aktivirni del, ki oskrbuje vodo, ko zemlja potrebuje vodo v skladu s senzorji.
Raspberry PI vsebuje posrednika Mosquitto in odjemalca Python, ki naroči sporočila, ki prihajajo od posrednika MQTT, in shranjuje podatke v strežnik SQL.
5. korak: Povezava senzorjev z NodeMCU
Senzor temperature in vlažnosti DHT11 ter senzor vlažnosti vode lahko delujeta na 3,3 volta.
NodeMCU ne more zagotoviti več kot 3,3 volta. Tako so senzorji lahko neposredno povezani z mikrokrmilno ploščo NodeMCU.
6. korak: Povezava potopne vodne črpalke z ESP8266
Potopna vodna črpalka se uporablja za oskrbo z vodo, kadar koli je to potrebno.
Vodna črpalka za svoje delovanje potrebuje 5 voltno napajanje.
Za priključitev motorja je potreben enokanalni rele. Ko je vtič GPIO2 ESP8266 aktiviran, se rele vklopi in samodejno dovaja vodo s potopno vodno črpalko.
Tu je zunanji vir napajanja na plošči ESP8266, releju in potopni vodni črpalki.
Moja celotna strojna povezava je na zgornji sliki.
7. korak: Namestitev programa Mosquitto Broker & Running Python Program v Raspberry Pi
Sledijo koraki za namestitev posrednika Mosquitto v Raspberry PI
Odprite terminal in vnesite naslednje ukaze
sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa
sudo apt-get posodobitev
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients
Samodejno bi se moral zagnati komar.
Za ustavitev in zagon storitve, ki sem jo potreboval
sudo service stop mosquitto
sudo service start mosquitto
Večina spletnih mest, ki sem jih odkril, uporablja obliko.
sudo /etc/init.d/mosquitto ustaviti
8. korak: Kako deluje MQTT?
MQTT je eden najpogosteje uporabljenih protokolov v projektih IoT. To pomeni telemetrični transport v vrsti sporočil.
Poleg tega je zasnovan kot lahek protokol za pošiljanje sporočil, ki uporablja operacije objave/naročnine za izmenjavo podatkov med odjemalci in strežnikom. Poleg tega je zaradi majhnosti, nizke porabe energije, zmanjšanih podatkovnih paketov in enostavnosti izvajanja protokol idealen za svet "stroj-stroj" ali "internet stvari".
Kot kateri koli drug internetni protokol tudi MQTT temelji na odjemalcih in strežniku. Podobno je strežnik tisti, ki je odgovoren za obravnavanje strankinih zahtev po prejemu ali pošiljanju podatkov med seboj. Strežnik MQTT se imenuje posrednik, odjemalci pa so preprosto povezane naprave.
* Ko naprava (odjemalec) želi poslati podatke posredniku, to operacijo imenujemo »objava«.
* Ko naprava (odjemalec) želi prejeti podatke od posrednika, to operacijo imenujemo "naročnina".
9. korak: Programiranje NodeMCU in ESP8266
Spodaj je izvorna koda za mikrokrmilno ploščo NodeMCU in ESP8266
10. korak: Oblikovanje spletne strani in povezovanje z bazo podatkov SQL
Spletna stran je oblikovana z uporabo HTML, CSS in PHP jezika.
PHP se uporablja za pridobivanje odčitkov senzorjev iz baze podatkov in njihovo prikazovanje na strani HTML.
Srce tega projekta je program python.
Dela, ki jih izvaja program python, so naslednja.
- Naročen je na temo, v kateri senzor pošlje odčitke senzorja.
- Posredniku MQTT objavi ukaz za vklop/izklop vodne črpalke.
- Odčitke senzorja shrani v bazo podatkov SQL.
V mojem primeru sta program python in zbirka podatkov SQL prisotna v prenosnem računalniku. Spletna stran, ki teče prek lokalnega gostitelja.
Spodaj je izvorna koda mojega programa python.
11. korak: Dokončajte delo
Sledijo koraki, v katerih se postopek nadaljuje.
- NodeMCU deluje kot zaznavni del in bere temperaturo, vlažnost in stopnjo vlažnosti tal.
- Odčitke pošlje posredniku MQTT s temo "Tema 1"
- V prenosnem računalniku se izvaja program python, ki se naroči na temo "Tema 1" pri posredniku MQTT.
- Ko NodeMCU pošlje odčitke, posrednik Mosquitto MQTT takoj pošlje podatke v program python.
- Program Python nato izračuna, ali je v zeleni hiši potrebna voda. Nato odčitke shrani v bazo podatkov SQL.
- Če je v zeleni hiši potrebna voda, potem program python posredniku Mosquitto MQTT objavi sporočilo o vklopu/izklopu vodne črpalke s temo "Tema 2"
- ESP8266 deluje kot aktuator. Naročil se je na temo »Tema 2«, v kateri temo program python objavlja sporočilo. Ko program python objavi katero koli sporočilo, se sporočilo takoj prenese na ESP8266. Glede na sporočilo za vklop/izklop je vklopil/izklopil potopno vodno črpalko.
- Zadnja faza za prikaz odčitkov v živo na spletni strani. Spletna stran pridobi podatke iz zbirke podatkov SQL, v kateri program python podatke shrani neposredno, in prikaže odčitke na strani.
Priporočena:
Domača avtomatizacija: 5 korakov
Domača avtomatizacija: v tem projektu smo odšli, uporabite veliko stvari, ki jih gradimo od nič, da bi razumeli proces interneta stvari stvari v videu za ves projekt
Domača avtomatizacija z NodeMCU senzorjem na dotik LDR relejem za nadzor temperature: 16 korakov
Domača avtomatizacija z NodeMCU senzorjem na dotik LDR temperaturnim relejem: V mojih preteklih projektih NodeMCU sem upravljal dva gospodinjska aparata iz aplikacije Blynk. Prejel sem veliko komentarjev in sporočil za nadgradnjo projekta z ročnim upravljanjem in dodajanjem več funkcij. Zato sem oblikoval to škatlo za razširitev pametnega doma. V tem IoT
Domača avtomatizacija naslednje generacije z uporabo Eagle Cad (1. del - PCB): 14 korakov
Domača avtomatizacija naslednje generacije z uporabo Eagle Cad -a (1. del - PCB): Uvod: Zakaj govorim o svoji naslednji generaciji: ker uporablja nekatere komponente, ki so veliko boljše od tradicionalnih naprav za avtomatizacijo doma. Z napravami lahko nadzoruje: Google Voice Commands Touch Panel na nadzoru naprave iz aplikacije
Zgovorna avtomatizacija -- Zvok iz Arduina -- Avtomatizacija z glasovnim nadzorom -- Modul Bluetooth HC - 05: 9 korakov (s slikami)
Zgovorna avtomatizacija || Zvok iz Arduina || Avtomatizacija z glasovnim nadzorom || Modul Bluetooth HC - 05: …………………………. PRIJAVITE SE na moj YouTube kanal za več videov …. …. V tem videoposnetku smo zgradili Talkative Automation .. Ko pošljete glasovni ukaz prek mobilnega telefona, se vklopi domača naprava in pošlje povratne informacije
Monitoring rastlinjakov z IOT: 5 korakov
Monitoring rastlinjakov z IOT: Ko gre za kmetijstvo, spremljanje temperature & vlažnost rastlin je pomemben dejavnik za njihovo preživetje. Trenutno ljudje uporabljajo termometre, pritrjene v rastlinjaku, da lahko kmetje merijo temperaturo. Vendar pa ta ročna aplikacija