Turinys:

SODO STEBĖJIMAS: 16 žingsnių (su nuotraukomis)
SODO STEBĖJIMAS: 16 žingsnių (su nuotraukomis)

Video: SODO STEBĖJIMAS: 16 žingsnių (su nuotraukomis)

Video: SODO STEBĖJIMAS: 16 žingsnių (su nuotraukomis)
Video: Durų montavimas - Paprasta, Greita, Lygu. 2024, Lapkritis
Anonim
Stebėkite savo sodą
Stebėkite savo sodą

Stebėkite savo sodą iš bet kurios vietos, naudokite vietinį ekraną, kad galėtumėte stebėti dirvožemio būklę, arba naudokite „Mobile“, kad stebėtumėte nuotoliniu būdu. Grandinėje naudojamas dirvožemio drėgmės jutiklis kartu su temperatūra ir drėgme, kad būtų galima sužinoti apie dirvožemio aplinkos sąlygas.

1 žingsnis: komponentai:

  1. Arduino uno
  2. Nodemcu
  3. Temperatūros ir drėgmės jutiklis DHT 11
  4. Dirvožemio drėgmės jutiklis - FC28
  5. Akumuliatorius 10000 mAh (skirtas „arduino“ir „nodemcu“maitinti)
  6. Nokia LCD 5110
  7. Rezidentas (5 x 10 k, 1 x 330 omų)
  8. Potenciometras Sukamasis tipas (LCD ryškumui reguliuoti) 0-100K
  9. Jumperio laidai
  10. Bandomoji Lenta

2 žingsnis: PAGRINDINIS JUTIKLIS: Dirvožemio drėgmė FC 28

PAGRINDINIS JUTIKLIS: Dirvožemio drėgmė FC 28
PAGRINDINIS JUTIKLIS: Dirvožemio drėgmė FC 28

Norėdami matuoti drėgmę, naudojame dirvožemio drėgmės jutiklį FC 28, kurio pagrindinis principas yra toks:-

FC-28 dirvožemio drėgmės jutiklio specifikacijos yra tokios: Įėjimo įtampa: 3.3-5V

Išėjimo įtampa: 0 - 4.2V

Įvesties srovė: 35 mA

Išvesties signalas: tiek analoginis, tiek skaitmeninis

FC-28 dirvožemio drėgmės jutiklis turi keturis kaiščius: VCC: galia

A0: Analoginė išvestis

D0: skaitmeninė išvestis

GND: Žemė

Norėdami prijungti jutiklį analoginiu režimu, turėsime naudoti jutiklio analoginę išvestį. Paimant analoginį išvestį iš dirvožemio drėgmės jutiklio FC-28, jutiklis suteikia mums vertę nuo 0 iki 1023. Drėgmė matuojama procentais, todėl šias reikšmes suskirstysime nuo 0 iki 100 ir tada parodysime šias vertes serijinis monitorius. Galite nustatyti skirtingus drėgmės verčių diapazonus ir pagal tai įjungti arba išjungti vandens siurblį.

Modulis taip pat turi potenciometrą, kuris nustatys slenkstinę vertę. Šią ribinę vertę palygins LM393 lyginamasis. Išėjimo šviesos diodas užsidegs ir sumažės pagal šią ribinę vertę.

Sąsajos su dirvožemio drėgmės jutikliu kodas imamas toliau

3 žingsnis: supraskite MQTT: nuotoliniam duomenų publikavimui

MQTT supratimas: nuotoliniam duomenų publikavimui
MQTT supratimas: nuotoliniam duomenų publikavimui

Prieš pradėdami toliau, pirmiausia pereikime prie nuotolinio IOT duomenų paskelbimo

MQTT reiškia „MQ Telemetry Transport“. Tai labai paprastas ir lengvas pranešimų siuntimo/prenumeratos protokolas, skirtas ribotiems įrenginiams ir mažo pralaidumo, didelio delsos ar nepatikimiems tinklams. Projektavimo principai yra sumažinti tinklo pralaidumą ir įrenginio išteklių poreikius, taip pat stengiantis užtikrinti patikimumą ir tam tikrą pristatymo užtikrinimą. Šie principai taip pat padaro protokolą idealiu besivystančiame prijungtų įrenginių „mašinų tarpusavio“(M2M) arba „daiktų interneto“pasaulyje ir mobiliosioms programoms, kuriose pralaidumas ir akumuliatoriaus energija yra aukščiausios kokybės.

Šaltinis:

MQTT [1] („MQ Telemetry Transport“arba „Message Queuing Telemetry Transport“) yra ISO standartas (ISO/IEC PRF 20922) [2] pranešimų apie paskelbimą ir prenumeratą protokolas. Jis veikia ant TCP/IP protokolo. Jis skirtas ryšiams su atokiomis vietomis, kur reikalingas „mažas kodo pėdsakas“arba ribotas tinklo pralaidumas.

Šaltinis:

4 žingsnis: MQTT: „MQTT Broker“paskyros nustatymas

Šiai pamokai yra įvairių „MQTT“tarpininko paskyrų, aš naudoju „cloudmqtt“(https://www.cloudmqtt.com/)

„CloudMQTT“yra valdomi „Mosquitto“serveriai debesyje. „Mosquitto“įgyvendina „MQ Telemetry Transport“protokolą, MQTT, kuris numato lengvus pranešimų siuntimo metodus naudojant paskelbimo/prenumeratos pranešimų eilės modelį.

Norint nustatyti „cloudmqtt“paskyrą kaip tarpininką, reikia atlikti šiuos veiksmus

  • Sukurkite paskyrą ir prisijunkite prie valdymo skydelio
  • paspauskite Sukurti+, kad sukurtumėte naują egzempliorių
  • Norėdami pradėti, turime užsiregistruoti kliento planui, galime nemokamai išbandyti „CloudMQTT“naudodami planą „CuteCat“.
  • Sukūrus „egzempliorių“, kitas žingsnis yra sukurti vartotoją ir toliau priskirti vartotojui prieigą prie pranešimų (naudojant ACL taisykles)

Visą vadovą, kaip nustatyti MQTT tarpininko paskyrą „cloudmqtt“, galite rasti paspaudę nuorodą: -

Visi aukščiau aprašyti veiksmai po vieną pateikiami sekančiose skaidrėse

5 veiksmas: MQTT: egzemplioriaus kūrimas

MQTT: egzemplioriaus kūrimas
MQTT: egzemplioriaus kūrimas

Sukūriau egzempliorių pavadinimu „myIOT“

planas: mielas planas

6 veiksmas: MQTT: Instance Info

MQTT: informacija apie atvejį
MQTT: informacija apie atvejį

Po registracijos egzempliorius iš karto parengiamas, o išsamios informacijos puslapyje galite peržiūrėti išsamią egzemplioriaus informaciją, pvz., Ryšio informaciją. Iš ten taip pat galite pasiekti valdymo sąsają. Kartais reikia naudoti nurodytą ryšio URL

7 žingsnis: MQTT: vartotojo pridėjimas

MQTT: vartotojo pridėjimas
MQTT: vartotojo pridėjimas

Sukurkite vartotoją vardu „nodemcu_12“ir nurodykite slaptažodį

8 veiksmas: MQTT: ACL taisyklės priskyrimas

MQTT: ACL taisyklės priskyrimas
MQTT: ACL taisyklės priskyrimas

Sukūrus naują vartotoją (nodemcu_12) išsaugokite naują vartotoją, dabar naujam vartotojui turi būti pateikta tolesnė ACL. Pridedamame paveikslėlyje matyti, kad naudotojui suteikiau skaitymo ir rašymo prieigą.

Atkreipkite dėmesį: tema turi būti pridėta taip, kaip parodyta formate (to dar reikia norint skaityti ir rašyti iš mazgo į MQTT klientą)

9 veiksmas: „Nodemcu“: konfigūravimas

Šiame konkrečiame projekte naudojau „Knewron Technologies“„nodemcu“, daugiau informacijos galima rasti paspaudus nuorodą: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Galima pastebėti, kad „NodeMCU“yra „eLua“pagrįsta programinė įranga, skirta ESP8266 „WiFi SOC“iš „Espressif“. „Nodemcu“iš „Knowron“yra iš anksto įdiegta programinė įranga, todėl turime tiesiog įkelti programos programinę įrangą, būtent: -

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

Visus aukščiau pateiktus „lua“scenarijus galima atsisiųsti iš „Github“, paspaudę nuorodą: Atsisiųsti iš „Github“

Iš aukščiau pateiktų lua scenarijų pakeiskite config.lua scenarijus naudodami MQTT pagrindinio kompiuterio vardą, slaptažodį, „wifi ssid“ir kt.

Norėdami atsisiųsti aukščiau pateiktus scenarijus į „nodemcu“, turime naudoti tokius įrankius kaip „ESPlorer“, daugiau informacijos rasite dokumentuose:

Darbas su ESPlorer aprašytas kitame žingsnyje

10 veiksmas: „Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_1

„Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_1
„Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_1
  • Spustelėkite mygtuką Atnaujinti
  • Pasirinkite COM (ryšio) prievadą ir perdavimo spartą (dažniausiai naudojamas 9600)
  • Spustelėkite Atidaryti

11 veiksmas: „Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_II

„Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_II
„Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_II

12 veiksmas: „Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_III

„Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_III
„Nodemcu“: „Lua“scenarijų įkėlimas į „Nodemcu“naudojant ESPlorer_III

Mygtukas Išsaugoti ir kompiliuoti nusiųs visus keturis „lua“scenarijus į „nodemcu“, po to, kai šis „nodemcu“bus pasirengęs kalbėtis su mūsų arduino.

CHIP ID informacijos rinkimas:

Kiekvienas „nodemcu“turi lusto ID (tikriausiai kai kurie Nr.), Šis lusto ID taip pat reikalingas norint paskelbti pranešimą MQTT brokeriui, kad sužinotumėte apie lusto ID, spustelėkite mygtuką „Chip id“„ESPlorer“

13 veiksmas: „Nodemcu“: „Arduino“konfigūravimas kalbėtis su „Nodemcu“

Žemiau nurodytas kodas nustato dirvožemio drėgmę, temperatūrą ir drėgmę ir toliau rodo duomenis „nokia LCD 5110“ir nuosekliai.

Arduino kodas

Neprijunkite „Arduino RX --- --- Nodemcu TX“

„Arduino TX“--- „Nodemcu RX“

Aukščiau pateiktas kodas taip pat apima softserial bibliotekos naudojimo būdus, pagal kuriuos DO kaiščiai taip pat gali būti naudojami kaip nuoseklieji kaiščiai, aš naudoju RX/TX kaiščius prisijungti prie nodemcu nuoseklaus prievado.

Atsargiai: Kadangi „nodemcu“veikia su 3.3 V, patariama naudoti lygio perjungiklį, tačiau aš prisijungiau tiesiogiai be jokio lygio perjungiklio ir našumas atrodo tinkamas aukščiau nurodytai programai.

14 veiksmas: „Nodemcu“: MQTT kliento nustatymas „Android“

Nodemcu: „MQTT“kliento nustatymas „Android“
Nodemcu: „MQTT“kliento nustatymas „Android“

Paskutinis žingsnis norint peržiūrėti informaciją mobiliajame telefone naudojant „Android“klientą:-

Yra daugybė „MQTT“„Android“programų, naudojau vieną iš „Google Play“su šia nuoroda:

.https://play.google.com/store/apps/details?

„Android“programos konfigūracija yra gana paprasta ir reikia konfigūruoti šiuos dalykus

  • MQTT pagrindinio kompiuterio adresas kartu su prievadu Nr
  • MQTT vartotojo vardas ir adresas
  • MQTT tarpininko mazgo adresas

Pridėję aukščiau esančią informaciją, prijunkite programą, jei programa yra prijungta prie MQTT brokerio, nei visi įvesties būsenos / serijinio ryšio duomenys iš arduino rodomi kaip žurnalas.

15 veiksmas: papildomi veiksmai: darbas su „Nokia LCD 5110“

Papildomi veiksmai: darbas su „Nokia LCD 5110“
Papildomi veiksmai: darbas su „Nokia LCD 5110“

Toliau pateikiama LCD 5110 kaiščių konfigūracija

1) RST - atstatyti

2) CE - lustas įjungtas

3) D/C - duomenų/komandų pasirinkimas

4) DIN - nuosekli įvestis

5) CLK - laikrodžio įvestis

6) VCC - 3.3V

7) LIGHT - foninio apšvietimo valdymas

8) GND - žemė

Kaip parodyta aukščiau, prijunkite „arduino“prie LCD 5110 aukščiau nurodyta tvarka su 1–10 K rezistoriumi.

Toliau pateikiamos jungtys „PIN 5110“prie „Arduino uno“

  • CLK - „Arduino“skaitmeninis kaištis 3
  • DIN - „Arduino“skaitmeninis kaištis 4
  • D/C - „Arduino“skaitmeninis kaištis 5
  • RST - „Arduino“skaitmeninis kaištis 6
  • CE - „Arduino“skaitmeninis kaištis 7

Kiti LCD 5110 "BL" kaiščiai gali būti naudojami kartu su potenciometru (0-100K) LCD ryškumui valdyti.

Biblioteka, naudojama pirmiau minėtam kodui, yra: - Atsisiųskite PCD8544 iš žemiau nurodytos nuorodos

Į DHT11, temperatūros ir drėgmės jutiklio integravimą su arduino galima pažvelgti iš šios nuorodos DHT11.

16 žingsnis: galutinis surinkimas

Galutinis surinkimas
Galutinis surinkimas

Paskutinis žingsnis yra surinkti viską, kas išdėstyta aukščiau, pageidautina, kad tiekimui naudojau 10000 mAh „Powerbank“tiek „Arduino“, tiek „Nodemcu“.

Jei pageidaujate, taip pat galime ilgai naudoti įkroviklį iš sieninio lizdo.

Rekomenduojamas: