Sadržaj:
- Korak 1: Komponente:
- Korak 2: OSNOVNI SENZOR: Vlažnost tla FC 28
- Korak 3: Razumijevanje MQTT -a: za daljinsko objavljivanje podataka
- Korak 4: MQTT: Postavljanje MQTT naloga brokera
- Korak 5: MQTT: Kreiranje instance
- Korak 6: MQTT: Podaci o instanci
- Korak 7: MQTT: Dodavanje korisnika
- Korak 8: MQTT: Dodela ACL pravila
- Korak 9: Nodemcu: Konfiguriranje
- Korak 10: Nodemcu: Prijenos Lua skripti u Nodemcu pomoću ESPlorer_1
- Korak 11: Nodemcu: Otpremanje Lua skripti u Nodemcu pomoću ESPlorer_II
- Korak 12: Nodemcu: Otpremanje Lua skripti u Nodemcu pomoću ESPlorer_III
- Korak 13: Nodemcu: Konfiguriranje Arduina za razgovor s Nodemcuom
- Korak 14: Nodemcu: Postavljanje MQTT klijenta u Androidu
- Korak 15: Dodatni koraci: Rad sa Nokijom LCD 5110
- Korak 16: Završno sastavljanje
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Pratite svoj vrt s bilo kojeg mjesta, koristite lokalni zaslon za lokalno praćenje stanja tla ili upotrijebite Mobile za daljinsko praćenje. Krug koristi senzor vlažnosti tla, zajedno s temperaturom i vlagom kako bi bio svjestan okolnih uvjeta tla.
Korak 1: Komponente:
- Arduino uno
- Nodemcu
- Senzor temperature i vlažnosti DHT 11
- Senzor vlage tla - FC28
- Baterija 10000mah (za napajanje arduina i nodemcu -a)
- Nokia LCD 5110
- Resitor (5 x 10 k, 1 x 330 ohma)
- Potenciometar Rotacijski tip (za podešavanje svjetline LCD-a) 0-100K
- Žice za kratkospojnike
- Breadboard
Korak 2: OSNOVNI SENZOR: Vlažnost tla FC 28
Za mjerenje vlage koristimo senzor vlažnosti tla FC 28, čiji je osnovni princip sljedeći:-
Specifikacije senzora vlažnosti tla FC-28 su sljedeće: Ulazni napon: 3,3-5V
Izlazni napon: 0 - 4.2V
Ulazna struja: 35mA
Izlazni signal: analogni i digitalni
Senzor vlažnosti tla FC-28 ima četiri pina: VCC: Snaga
A0: Analogni izlaz
D0: Digitalni izlaz
GND: Uzemljenje
Analogni načinZa povezivanje senzora u analognom načinu rada, morat ćemo koristiti analogni izlaz senzora. Prilikom uzimanja analognog izlaza sa senzora vlažnosti tla FC-28, senzor nam daje vrijednost od 0 do 1023. Vlaga se mjeri u postocima, pa ćemo ove vrijednosti preslikati od 0 do 100, a zatim ćemo te vrijednosti prikazati na serijski monitor. Možete postaviti različite raspone vrijednosti vlage i prema tome uključiti ili isključiti pumpu za vodu.
Modul također sadrži potenciometar koji će postaviti vrijednost praga. Ovu graničnu vrijednost uporedit će komparator LM393. Izlazna LED lampica će svijetliti i smanjivati prema ovoj vrijednosti praga.
Kod za povezivanje sa senzorom vlažnosti tla uzima se u daljim koracima
Korak 3: Razumijevanje MQTT -a: za daljinsko objavljivanje podataka
Prije nego počnemo dalje, prvo prođimo kroz daljinsko objavljivanje podataka za IOT
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. 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.
Izvor:
MQTT [1] (MQ telemetrijski transport ili prenos telemetrijskog reda u red poruka) je ISO standard (ISO/IEC PRF 20922) [2] protokol za razmjenu poruka objavljen-pretplaćen. Radi na vrhu TCP/IP protokola. Dizajniran je za veze s udaljenim lokacijama gdje je potreban "mali otisak koda" ili je propusnost mreže ograničena.
Izvor:
Korak 4: MQTT: Postavljanje MQTT naloga brokera
Postoje različiti računi brokera MQTT, za ovaj vodič koristio sam cloudmqtt (https://www.cloudmqtt.com/)
CloudMQTT su upravljani Mosquitto serveri u oblaku. Mosquitto implementira MQ Telemetry Transportni protokol, MQTT, koji pruža lagane metode obavljanja poruka koristeći model za objavljivanje/pretplaćivanje poruka.
Za postavljanje cloudmqtt računa kao brokera potrebno je izvršiti sljedeće korake
- Napravite račun i prijavite se na kontrolnu ploču
- pritisnite Kreiraj+ za kreiranje nove instance
- Za početak se moramo prijaviti za korisnički plan, možemo besplatno isprobati CloudMQTT sa planom CuteCat.
- Nakon kreiranja "instance", sljedeći korak je stvaranje korisnika i daljnje dodjeljivanje dozvole korisniku za pristup porukama (putem ACL pravila)
Cjelovitom vodiču za postavljanje MQTT naloga brokera u cloudmqtt -u možete pristupiti slijedeći vezu: -
Svi gore navedeni koraci stavljaju se jedan po jedan u sljedeće slajdove
Korak 5: MQTT: Kreiranje instance
Napravio sam instancu s imenom "myIOT"
plan: Slatki plan
Korak 6: MQTT: Podaci o instanci
Instanca se odmah osigurava nakon registracije, a detalje o instanci, poput informacija o vezi, možete pogledati na stranici s detaljima. Odatle možete doći i do interfejsa za upravljanje. Ponekad morate koristiti navedeni URL veze
Korak 7: MQTT: Dodavanje korisnika
Kreirajte korisnika s imenom “nodemcu_12” i dajte lozinku
Korak 8: MQTT: Dodela ACL pravila
Nakon stvaranja novog korisnika (nodemcu_12) spremite novog korisnika, sada će se novom korisniku omogućiti dodatni ACL. Na priloženoj slici može se vidjeti da sam korisniku omogućio pristup za čitanje i pisanje.
Napomena: Tema se dodaje kako je prikazano u formatu (ovo je dodatno potrebno za čitanje i pisanje s čvora na MQTT klijenta)
Korak 9: Nodemcu: Konfiguriranje
U ovom konkretnom projektu koristio sam nodemcu iz Knewron Technologies, više informacija se može dobiti slijedeći vezu: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Vodič.pdf? Dl = 0)
Može se vidjeti da je NodeMCU firmver zasnovan na eLua -i za ESP8266 WiFi SOC iz Espressifa. Nodemcu iz knowrona je unaprijed učitan firmverom, pa moramo samo učitati softver aplikacije i to: -
- init.lua
- setup.lua
- config.lua
- app.lua
Sve gore navedene lua skripte možete preuzeti sa Github -a slijedeći vezu: Preuzmite sa Github -a
Iz gore navedenih lua skripti izmijenite config.lua skripte s imenom MQTT hosta, lozinkom, wifi ssidom itd.
Da bismo preuzeli gore navedene skripte na nodemcu, moramo koristiti alate poput "ESPlorer", za više informacija pogledajte dokumente:
Rad sa ESPlorerom opisan je u sljedećem koraku
Korak 10: Nodemcu: Prijenos Lua skripti u Nodemcu pomoću ESPlorer_1
- Kliknite na dugme Osveži
- Odaberite COM (komunikacijski) port i brzinu prijenosa (uobičajeno se koristi 9600)
- Pritisnite Otvori
Korak 11: Nodemcu: Otpremanje Lua skripti u Nodemcu pomoću ESPlorer_II
Korak 12: Nodemcu: Otpremanje Lua skripti u Nodemcu pomoću ESPlorer_III
Dugme Sačuvaj i kompajliraj poslalo bi sve četiri lua skripte u nodemcu, nakon što je ovaj čvor spreman za razgovor sa našim arduinom.
Prikupljanje podataka o CHIP ID -u:
Svaki nodemcu ima ID čipa (vjerovatno neki br.), Ovaj ID čipa je dalje potreban za objavljivanje poruke MQTT brokeru, kako biste znali o ID -u čipa kliknite na dugme ID čipa u "ESPlorer -u"
Korak 13: Nodemcu: Konfiguriranje Arduina za razgovor s Nodemcuom
Dolje spomenuti kôd određuje vlažnost tla, temperaturu i vlažnost te dalje prikazuje podatke na nokia LCD 5110 i serijski.
Arduino kod
Zatim povežite Arduino RX --- Nodemcu TX
Arduino TX --- Nodemcu RX
Gornji kod također uključuje načine korištenja softserial biblioteke, pomoću kojih se DO pinovi mogu koristiti i kao serijski pinovi. Koristio sam RX/TX pinove za povezivanje na nodemcu serijski port.
Oprez: Budući da nodemcu radi sa 3.3V, savjetuje se korištenje mjenjača nivoa, međutim ja sam se povezao direktno bez pomicanja nivoa i performanse se čine taman za gornju aplikaciju.
Korak 14: Nodemcu: Postavljanje MQTT klijenta u Androidu
Posljednji korak za pregled informacija na mobilnom uređaju s android klijentom:-
Postoji mnogo MQTT android aplikacija, koristio sam onu s google playa sa sljedećom vezom:
.https://play.google.com/store/apps/details?
Konfiguracija za Android aplikaciju je prilično jednostavna i potrebno je konfigurirati sljedeće
- MQTT Adresa domaćina zajedno s portom br
- Korisničko ime i adresa MQTT -a
- MQTT adresa čvora posrednika
Nakon dodavanja gornjih detalja, povežite aplikaciju, ako je aplikacija spojena na MQTT brokera, tada se svi ulazni podaci o statusu / serijski komunikacijski podaci iz arduina pojavljuju kao dnevnik.
Korak 15: Dodatni koraci: Rad sa Nokijom LCD 5110
Slijedi konfiguracija pinova za LCD 5110
1) RST - Resetiraj
2) CE - Omogućavanje čipa
3) D/C - odabir podataka/naredbi
4) DIN - serijski ulaz
5) CLK - Unos sata
6) VCC - 3.3V
7) LIGHT - Kontrola pozadinskog osvetljenja
8) GND - Uzemljenje
Kao što je prikazano gore, povežite arduino na LCD 5110 gore navedenim redoslijedom sa 1-10 K otpornikom između.
Slijede pin -pin veze za LCD 5110 na Arduino uno
- CLK - Arduino digitalni pin 3
- DIN - Arduino digitalni pin 4
- D/C - Arduino digitalni pin 5
- RST - Arduino digitalni pin 6
- CE - Arduino digitalni pin 7
Dodatni "BL" pin LCD-a 5110 može se koristiti zajedno s potenciometrom (0-100K) za kontrolu svjetline LCD-a
Biblioteka koja se koristi za gornji kod je: - Preuzmite PCD8544 sa dolje navedene veze
Integracija DHT11, senzora temperature i vlažnosti sa arduinom može se pogledati sa sljedeće veze DHT11.
Korak 16: Završno sastavljanje
Zadnji korak je da sve gore navedeno sastavite u kutiju, za opskrbu sam koristio 10000mah powerbank za napajanje i Arduina i Nodemcua.
Po želji možemo koristiti i punjač za zidnu utičnicu na duže vrijeme.