Turinys:
- 1 žingsnis: reikalingi komponentai
- 2 veiksmas: kalba ir protokolas
- 3 žingsnis: „Eclipse Mosquitto MQTT Broker“
- 4 žingsnis: duomenų srautas visame projekte
- 5 žingsnis: jutiklių prijungimas prie „NodeMCU“
- 6 žingsnis: Povandeninio vandens siurblio prijungimas prie ESP8266
- 7 žingsnis: „Mosquitto Broker“ir „Python“programos diegimas „Raspberry Pi“
- 8 žingsnis: Kaip veikia MQTT?
- 9 žingsnis: NodeMCU ir ESP8266 programavimas
- 10 veiksmas: tinklalapio kūrimas ir prisijungimas prie SQL duomenų bazės
- 11 žingsnis: Užbaikite darbą
Video: „Green House“automatika: 11 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šiltnamio automatizavimas yra projektas, kuriame vartotojas nuotoliniu būdu tiesiog naudodamasis žiniatinklio naršykle stebi tris šiltnamio parametrus, t. Y. Dirvožemio drėgmę, temperatūrą ir drėgmę.
1 žingsnis: reikalingi komponentai
Kai kurie būtini komponentai yra išvardyti žemiau
1. Aviečių PI modelis B
2. „NodeMCU“plėtros valdyba
3. ESP8266 Wifi modulis
4. Drėgmės jutiklis
5. DHT11 temperatūros ir drėgmės jutiklis
6. 5V vieno kanalo relė
7. 5 V povandeninis vandens siurblys
8. Duonos lenta
9. Duonos lentos maitinimo modulis
2 veiksmas: kalba ir protokolas
- C Mikrovaldikliams naudojama kalba.
- MQTT pranešimai: 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.
- „Python“programa naudojama automatizuoti vandens srautą ir prijungti duomenų bazę.
3 žingsnis: „Eclipse Mosquitto MQTT Broker“
Čia aš naudoju „Mosquitto MQTT Broker“, kad galėčiau lengvai perduoti pranešimus tarp mazgų.
„Eclipse Mosquitto“yra atviro kodo (EPL/EDL licencijuota) pranešimų tarpininkė, įgyvendinanti MQTT protokolo 5.0, 3.1.1 ir 3.1 versijas. „Mosquitto“yra lengvas ir tinkamas naudoti visuose įrenginiuose - nuo mažos galios vienos plokštės kompiuterių iki pilnų serverių.
MQTT protokolas suteikia lengvą pranešimų siuntimo metodą, naudojant paskelbimo/prenumeratos modelį. Dėl to jis tinka daiktų interneto pranešimams, pvz., Naudojant mažos galios jutiklius ar mobiliuosius įrenginius, tokius kaip telefonai, įterptieji kompiuteriai ar mikrovaldikliai.
Projekte „Mosquitto“taip pat yra C biblioteka, skirta MQTT klientams įgyvendinti, ir labai populiarūs „mosquitto_pub“bei „mosquitto_sub“komandinės eilutės MQTT klientai.
4 žingsnis: duomenų srautas visame projekte
Aukščiau esančiame paveikslėlyje yra mazgai
- NodeMCU
- Aviečių PI
- ESP8266
„NodeMCU“yra „Green House“jutimo dalis, o „ESP8266“yra įjungimo dalis, tiekianti vandenį, kai žemei reikia vandens pagal jutiklius.
„Raspberry PI“yra „Mosquitto Broker“ir „Python“klientas, kuris prenumeruoja pranešimus, gautus iš „MQTT Broker“, ir saugo duomenis SQL serveryje.
5 žingsnis: jutiklių prijungimas prie „NodeMCU“
DHT11 temperatūros ir drėgmės jutiklis bei vandens drėgmės jutiklis gali veikti 3,3 volto įtampa.
„NodeMCU“negali tiekti daugiau kaip 3,3 volto. Taigi jutikliai gali būti tiesiogiai prijungti prie „NodeMCU“mikrovaldiklio plokštės.
6 žingsnis: Povandeninio vandens siurblio prijungimas prie ESP8266
Povandeninis vandens siurblys naudojamas tiekti vandenį, kai to reikia.
Vandens siurbliui veikti reikia 5 voltų maitinimo šaltinio.
Norint prijungti variklį, reikia vieno kanalo relės. Kai įjungiamas ESP8266 GPIO2 kaištis, relė įsijungia ir automatiškai tiekia vandenį, naudojant panardinamąjį vandens siurblį.
Čia išorinis maitinimo šaltinis tiekiamas į ESP8266 plokštę, relę ir panardinamąjį vandens siurblį.
Visas mano aparatūros ryšys yra aukščiau esančiame paveikslėlyje.
7 žingsnis: „Mosquitto Broker“ir „Python“programos diegimas „Raspberry Pi“
Toliau pateikiami žingsniai, kaip įdiegti „Mosquitto“brokerį „Raspberry PI“
Atidarykite terminalą ir įveskite šias komandas
sudo apt-add-saugykla ppa: mosquitto-dev/mosquitto-ppa
sudo apt-get atnaujinimas
sudo apt-get install mosquitto
sudo apt-get install mosquitto-customers
Tai turėtų automatiškai pradėti uodus.
Norėdami sustabdyti ir pradėti paslaugą, kurią turėjau naudoti
sudo paslauga sustabdo uodus
sudo paslauga pradėti mosquitto
Dauguma svetainių, kurias atradau, naudojo formatą.
sudo /etc/init.d/mosquitto stop
8 žingsnis: Kaip veikia MQTT?
MQTT yra vienas iš dažniausiai naudojamų protokolų daiktų interneto projektuose. Tai reiškia „Message Queuing Telemetry Transport“.
Be to, jis sukurtas kaip lengvas pranešimų siuntimo protokolas, kuris naudoja skelbimo/prenumeratos operacijas, kad galėtų keistis duomenimis tarp klientų ir serverio. Be to, dėl mažo dydžio, mažo energijos suvartojimo, sumažintų duomenų paketų ir lengvo įgyvendinimo protokolas yra idealus „mašinų ir mašinų“ar „daiktų interneto“pasaulyje.
Kaip ir bet kuris kitas interneto protokolas, MQTT yra pagrįstas klientais ir serveriu. Panašiai serveris yra tas vaikinas, kuris yra atsakingas už kliento prašymų priimti ar siųsti duomenis tarpusavyje apdorojimą. MQTT serveris vadinamas tarpininku, o klientai yra tiesiog prijungti įrenginiai. Taigi:
* Kai įrenginys (klientas) nori nusiųsti duomenis brokeriui, šią operaciją vadiname „paskelbimu“.
* Kai įrenginys (klientas) nori gauti duomenis iš tarpininko, šią operaciją vadiname „prenumerata“.
9 žingsnis: NodeMCU ir ESP8266 programavimas
Toliau pateikiamas „NodeMCU“ir „ESP8266“mikrovaldiklio plokštės šaltinio kodas
10 veiksmas: tinklalapio kūrimas ir prisijungimas prie SQL duomenų bazės
Tinklalapis sukurtas naudojant HTML, CSS ir PHP kalbą.
PHP naudojamas išgauti jutiklių rodmenis iš duomenų bazės ir parodyti juos HTML puslapyje.
Python programa naudojama kaip šio projekto esmė.
Darbai, kuriuos atlieka python programa, yra tokie.
- Jis prenumeruoja temą, kurioje jutiklis siunčia jutiklio rodmenis.
- Ji paskelbia vandens siurblio įjungimo/išjungimo komandą MQTT tarpininkui.
- Jis saugo jutiklio rodmenis SQL duomenų bazėje.
Mano atveju python programa ir SQL duomenų bazė yra nešiojamajame kompiuteryje. Tinklalapis, einantis per vietinį prieglobą.
Toliau pateikiamas mano „python“programos šaltinio kodas.
11 žingsnis: Užbaikite darbą
Toliau pateikiami veiksmai, kuriais vyksta procesas.
- „NodeMCU“veikia kaip jutimo dalis ir nuskaito temperatūrą, drėgmę ir dirvožemio drėgmės lygį.
- Jis siunčia rodmenis MQTT brokeriui tema „1 tema“
- Nešiojamajame kompiuteryje veikia „python“programa ir ji užsisako temą „1 tema“su MQTT brokeriu.
- Kai „NodeMCU“siunčia rodmenis, „Mosquitto MQTT Broker“nedelsdamas siunčia duomenis į „python“programą.
- Tada „Python“programa apskaičiuoja, ar žaliame name reikia vandens. Tada jis saugo rodmenis SQL duomenų bazėje.
- Jei „Green House“reikia vandens, „python“programa paskelbia vandens siurblio įjungimo/išjungimo pranešimą „Mosquitto MQTT“brokeriui tema „2 tema“
- ESP8266 veikia kaip pavara. Ji prenumeruoja temą „2 tema“, kurioje python programa skelbia pranešimą. Kai „python“programa paskelbia bet kokį pranešimą, pranešimas iškart perduodamas į ESP8266. Pagal įjungimo/išjungimo pranešimą jis įjungė/išjungė povandeninį vandens siurblį.
- Paskutinis etapas, skirtas tinklalapyje rodyti tiesioginius rodmenis. Tinklalapis paima duomenis iš SQL duomenų bazės, kurioje programa „python“saugo duomenis tiesiogiai, ir parodo puslapio rodmenis.
Rekomenduojamas:
Kalbanti automatika -- Garsas iš „Arduino“-- Balso valdoma automatika -- HC - 05 „Bluetooth“modulis: 9 žingsniai (su paveikslėliais)
Kalbanti automatika || Garsas iš „Arduino“|| Balso valdoma automatika || HC - 05 „Bluetooth“modulis: …………………………. Prenumeruokite mano „YouTube“kanalą, kad gautumėte daugiau vaizdo įrašų …. …. Šiame vaizdo įraše mes sukūrėme kalbančią automatiką. Kai išsiųsite balso komandą per mobilųjį telefoną, ji įjungs namų įrenginius ir siųs atsiliepimus
Balso valdoma automatika: 13 žingsnių
Balso valdoma automatika: Šiais laikais žmonės visą laiką turi išmaniuosius telefonus. Taigi prasminga juos naudoti buitinei technikai valdyti. Čia pateikiama namų automatizavimo sistema, naudojant paprastą „Android“programą, kuria galite valdyti elektrinius prietaisus spustelėję
„Arduino“pagrįsta pramonės automatika -- VFD (kintamo dažnio pavaros): 10 žingsnių
„Arduino“pagrįsta pramonės automatika || VFD (kintamo dažnio įrenginiai): šioje instrukcijoje aš jums parodysiu, kaip tai padaryti Individualiai suprojektuota „Arduino“plokštė, skirta pramoninei automatizavimui 2. Kaip valdyti „VFD“[kintamo dažnio įrenginius] naudojant „Arduino“3. Kaip sukurti „DigiCone MDF“vyniojimo mašinos pagrindinę plokštę?
Retro kalbos sintezė. Dalis: 12 daiktų internetas, namų automatika: 12 žingsnių (su paveikslėliais)
Retro kalbos sintezė. Dalis: 12 daiktų internetas, namų automatika: Šis straipsnis yra 12 -asis iš namų automatikos instrukcijų serijos, dokumentuojančių, kaip sukurti ir integruoti „IoT Retro Speech Synthesis Device“į esamą namų automatikos sistemą, įskaitant visas būtinas programinės įrangos funkcijas, leidžiančias
„IoT“tinklo valdiklis. 9 dalis. Daiktų internetas, namų automatika: 10 žingsnių (su paveikslėliais)
„IoT“tinklo valdiklis. 9 dalis. Daiktų internetas, namų automatizavimas: atsisakymas Skaitykite šį pirmą kartą Šioje instrukcijoje išsamiai aprašytas projektas, kuriame naudojama elektros energija (šiuo atveju JK 240 VAC RMS), nors buvo stengiamasi naudoti saugią praktiką ir gerus projektavimo principus, visada yra mirtino pavojaus išrinkti