Turinys:

„Green House“automatika: 11 žingsnių
„Green House“automatika: 11 žingsnių

Video: „Green House“automatika: 11 žingsnių

Video: „Green House“automatika: 11 žingsnių
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Liepa
Anonim
Žaliųjų namų automatika
Žaliųjų namų automatika

Š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

Privalomi komponentai
Privalomi komponentai
Privalomi komponentai
Privalomi komponentai
Privalomi komponentai
Privalomi 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

Kalba ir protokolas
Kalba ir protokolas
Kalba ir protokolas
Kalba ir protokolas
Kalba ir protokolas
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“

„Eclipse Mosquitto MQTT“brokeris
„Eclipse Mosquitto MQTT“brokeris

Č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

  1. NodeMCU
  2. Aviečių PI
  3. 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“

Jutiklių prijungimas prie „NodeMCU“
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

Povandeninio vandens siurblio prijungimas prie ESP8266
Povandeninio vandens siurblio prijungimas prie ESP8266
Povandeninio vandens siurblio prijungimas prie ESP8266
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?

Kaip veikia MQTT?
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.

  1. Jis prenumeruoja temą, kurioje jutiklis siunčia jutiklio rodmenis.
  2. Ji paskelbia vandens siurblio įjungimo/išjungimo komandą MQTT tarpininkui.
  3. 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ą

Užbaikite darbą
Užbaikite darbą

Toliau pateikiami veiksmai, kuriais vyksta procesas.

  1. „NodeMCU“veikia kaip jutimo dalis ir nuskaito temperatūrą, drėgmę ir dirvožemio drėgmės lygį.
  2. Jis siunčia rodmenis MQTT brokeriui tema „1 tema“
  3. Nešiojamajame kompiuteryje veikia „python“programa ir ji užsisako temą „1 tema“su MQTT brokeriu.
  4. Kai „NodeMCU“siunčia rodmenis, „Mosquitto MQTT Broker“nedelsdamas siunčia duomenis į „python“programą.
  5. Tada „Python“programa apskaičiuoja, ar žaliame name reikia vandens. Tada jis saugo rodmenis SQL duomenų bazėje.
  6. Jei „Green House“reikia vandens, „python“programa paskelbia vandens siurblio įjungimo/išjungimo pranešimą „Mosquitto MQTT“brokeriui tema „2 tema“
  7. 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į.
  8. 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: