Obsah:

Automatizácia Zeleného domu: 11 krokov
Automatizácia Zeleného domu: 11 krokov

Video: Automatizácia Zeleného domu: 11 krokov

Video: Automatizácia Zeleného domu: 11 krokov
Video: Zigbee датчик освещенности, температуры и влажности с экраном на электронных чернилах Moes 2024, Júl
Anonim
Automatizácia zeleného domu
Automatizácia zeleného domu

Automatizácia skleníka je projekt, v ktorom používateľ monitoruje tri parametre skleníka, t. J. Pôdnu vlhkosť, teplotu a vlhkosť, na diaľku jednoducho pomocou webového prehliadača.

Krok 1: Potrebné súčasti

Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti

Niektoré potrebné základné komponenty sú uvedené nižšie

1. Raspberry PI Model B

2. Vývojová rada NodeMCU

3. Wifi modul ESP8266

4. Senzor vlhkosti

5. Snímač teploty a vlhkosti DHT11

6. Jednokanálové relé 5V

7. 5V ponorné vodné čerpadlo

8. Chlebová doska

9. Modul napájania dosky na chlieb

Krok 2: Jazyk a protokol

Jazyk a protokol
Jazyk a protokol
Jazyk a protokol
Jazyk a protokol
Jazyk a protokol
Jazyk a protokol
  • Pre mikrořadiče sa používa jazyk C.
  • Správy MQTT: MQTT je skratka pre MQ Telemetry Transport. Je to veľmi jednoduchý a ľahký protokol na odosielanie a odosielanie správ, ktorý je navrhnutý pre obmedzené zariadenia a siete s malou šírkou pásma, vysokou latenciou alebo nespoľahlivými sieťami. Zásady návrhu sú minimalizovať požiadavky na šírku pásma siete a zdroje zariadenia a zároveň sa snažiť zaistiť spoľahlivosť a určitý stupeň zabezpečenia dodávky. Vďaka týmto zásadám je tiež protokol ideálny pre vznikajúci svet prepojených zariadení „machine-to-machine“(M2M) alebo „internet vecí“a pre mobilné aplikácie, kde je šírka pásma a kapacita batérie na prvom mieste.
  • Program Python sa používa na automatizáciu prepojenia toku vody a databázy.

Krok 3: Maklér Eclipse Mosquitto MQTT

Maklér Eclipse Mosquitto MQTT
Maklér Eclipse Mosquitto MQTT

Tu som použil Mosquitto MQTT Broker na jednoduchú komunikáciu správ medzi uzlami.

Eclipse Mosquitto je sprostredkovateľ správ s otvoreným zdrojovým kódom (s licenciou EPL/EDL), ktorý implementuje protokol MQTT verzie 5.0, 3.1.1 a 3.1. Mosquitto je ľahký a je vhodný na použitie na všetkých zariadeniach od nízkoenergetických jednodoskových počítačov po úplné servery.

Protokol MQTT poskytuje ľahký spôsob odosielania správ pomocou modelu publikovania/prihlásenia na odber. Vďaka tomu je vhodný pre zasielanie správ o internete vecí, napríklad so snímačmi nízkeho výkonu alebo mobilnými zariadeniami, ako sú telefóny, vstavané počítače alebo mikroovládače.

Projekt Mosquitto poskytuje aj knižnicu C na implementáciu klientov MQTT a veľmi populárnych klientov MQTT príkazového riadka mosquitto_pub a mosquitto_sub.

Krok 4: Tok údajov v celom projekte

Na vyššie uvedenom obrázku sú uzly

  1. NodeMCU
  2. Malinový koláč
  3. ESP8266

NodeMCU je snímacia časť Zeleného domu a ESP8266 je ovládacia časť, ktorá dodáva vodu, keď zem podľa senzorov potrebuje vodu.

Raspberry PI obsahuje Mosquitto Broker a klienta Python, ktorý si predplatí správy od MQTT Broker a ukladá údaje na server SQL.

Krok 5: Pripojenie senzorov k NodeMCU

Pripojenie senzorov k NodeMCU
Pripojenie senzorov k NodeMCU

Snímač teploty a vlhkosti DHT11 a snímač vlhkosti vody môžu pracovať na 3,3 voltov.

NodeMCU nemôže poskytovať viac ako 3,3 voltu. Senzory sa teda môžu priamo pripojiť k doske mikrokontroléra NodeMCU.

Krok 6: Pripojenie ponorného vodného čerpadla k ESP8266

Pripojenie ponorného vodného čerpadla k ESP8266
Pripojenie ponorného vodného čerpadla k ESP8266
Pripojenie ponorného vodného čerpadla k ESP8266
Pripojenie ponorného vodného čerpadla k ESP8266

V prípade potreby sa na zásobovanie vodou používa ponorné vodné čerpadlo.

Vodné čerpadlo potrebuje na svoju prevádzku napájanie 5 voltov.

Na pripojenie motora je potrebné jednokanálové relé. Keď je aktivovaný kolík GPIO2 na ESP8266, relé sa zapne a automaticky dodáva vodu pomocou ponorného vodného čerpadla.

Tu je k doske ESP8266, relé a ponornému vodnému čerpadlu dodávaný externý zdroj napájania.

Moje úplné hardvérové pripojenie je na obrázku vyššie.

Krok 7: Inštalácia programu Mosquitto Broker a spusteného programu Python do Raspberry Pi

Nasledujú kroky pre inštaláciu brokera Mosquitto do Raspberry PI

Otvorte terminál a zadajte nasledujúce príkazy

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

sudo apt-get aktualizácia

sudo apt-get install mosquitto

sudo apt-get install mosquitto-clients

Malo by to automaticky spustiť komár.

Na zastavenie a spustenie služby, ktorú som potreboval použiť

sudo service stop mosquitto

sudo service start mosquitto

Väčšina stránok, ktoré som objavil, používa formát.

sudo /etc/init.d/mosquitto zastaviť

Krok 8: Ako funguje MQTT?

Ako MQTT funguje?
Ako MQTT funguje?

MQTT je jedným z najčastejšie používaných protokolov v projektoch IoT. Je to skratka pre prenos telemetrie do frontu správ.

Navyše je navrhnutý ako ľahký protokol na odosielanie správ, ktorý používa operácie publikovania/predplatného na výmenu údajov medzi klientmi a serverom. Vďaka malým rozmerom, nízkej spotrebe energie, minimalizovaným dátovým paketom a jednoduchej implementácii je protokol ideálny pre svet „stroj-stroj“alebo „internet vecí“.

Ako každý iný internetový protokol, aj MQTT je založený na klientoch a serveri. Podobne je server ten, kto je zodpovedný za spracovanie požiadaviek klienta na príjem alebo odosielanie údajov medzi sebou. Server MQTT sa nazýva sprostredkovateľ a klienti sú jednoducho pripojené zariadenia. Takže:

* Keď chce zariadenie (klient) odosielať údaje maklérovi, nazývame túto operáciu „zverejnenie“.

* Keď chce zariadenie (klient) prijímať údaje od makléra, nazývame túto operáciu „predplatným“.

Krok 9: Programovanie NodeMCU a ESP8266

Nasledujú zdrojové kódy pre dosku mikrokontroléra NodeMCU a ESP8266

Krok 10: Navrhnutie webovej stránky a pripojenie k databáze SQL

Webová stránka je navrhnutá s použitím jazyka HTML, CSS a PHP.

PHP sa používa na extrahovanie údajov zo senzorov z databázy a ich zobrazenie na stránke HTML.

Jadrom tohto projektu je program python.

Práce, ktoré robí program python, sú nasledujúce.

  1. Prihlasuje sa k téme, v ktorej senzor odosiela údaje zo senzora.
  2. Publikuje príkaz na zapnutie/vypnutie vodného čerpadla maklérovi MQTT.
  3. Ukladá údaje zo senzorov do databázy SQL.

Tu je v mojom prípade program python a databáza SQL prítomný v prenosnom počítači. Webová stránka beží prostredníctvom lokálneho hostiteľa.

Nasleduje zdrojový kód môjho programu python.

Krok 11: Dokončite prácu

Kompletné spracovanie
Kompletné spracovanie

Nasledujú kroky, v ktorých proces pokračuje.

  1. NodeMCU funguje ako snímacia časť a číta teplotu, vlhkosť a úroveň pôdnej vlhkosti.
  2. Odošle údaje brokerovi MQTT s témou „Téma 1“
  3. V prenosnom počítači je spustený program python, ktorý sa hlási na tému „Téma 1“u makléra MQTT.
  4. Keď NodeMCU odošle údaje, potom Mosquitto MQTT Broker okamžite pošle údaje do programu python.
  5. Program Python potom vypočíta, či je v Zelenom dome potrebná voda. Potom údaje uloží do databázy SQL.
  6. Ak je v Zelenom dome potrebná voda, program Python zverejní správu o zapnutí/vypnutí vodného čerpadla maklérovi Mosquitto MQTT s témou „Téma 2“
  7. ESP8266 funguje ako pohon. Prihlási sa k téme „Téma 2“, v ktorej téme program python zverejňuje správu. Keď program python zverejní akúkoľvek správu, správa sa okamžite prenesie do ESP8266. Podľa správy o zapnutí/vypnutí zapínalo/vypínalo ponorné vodné čerpadlo.
  8. Posledná fáza na zobrazenie živých čítaní na webovej stránke. Webová stránka načítava údaje z databázy SQL, do ktorej program python údaje priamo ukladá, a zobrazuje hodnoty na stránke.

Odporúča: