Obsah:

Automatizace zeleného domu: 11 kroků
Automatizace zeleného domu: 11 kroků

Video: Automatizace zeleného domu: 11 kroků

Video: Automatizace zeleného domu: 11 kroků
Video: Adel ukazala prso 2024, Listopad
Anonim
Automatizace zeleného domu
Automatizace zeleného domu

Automatizace skleníků je projekt, kde jsou tři parametry skleníku, tj. Vlhkost půdy, teplota a vlhkost, monitorovány uživatelem na dálku jednoduše pomocí webového prohlížeče.

Krok 1: Požadované součásti

Požadované součásti
Požadované součásti
Požadované součásti
Požadované součásti
Požadované součásti
Požadované součásti

Některé nezbytné součásti jsou uvedeny níže

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á deska

9. Modul napájecího zdroje Bread Board

Krok 2: Jazyk a protokol

Jazyk a protokol
Jazyk a protokol
Jazyk a protokol
Jazyk a protokol
Jazyk a protokol
Jazyk a protokol
  • Pro mikrořadiče se používá jazyk C.
  • Zprávy MQTT: MQTT je zkratka pro MQ Telemetry Transport. Jedná se o extrémně jednoduchý a lehký protokol pro zasílání zpráv publikování/přihlášení k odběru, navržený pro omezená zařízení a sítě s nízkou šířkou pásma, vysokou latencí nebo nespolehlivými sítěmi. Principy návrhu jsou minimalizovat požadavky na šířku pásma sítě a prostředky zařízení a současně se snažit zajistit spolehlivost a určitý stupeň zajištění dodávky. Díky těmto zásadám je také protokol ideální pro vznikající svět připojených zařízení „stroj na stroj“(M2M) nebo „internet věcí“a pro mobilní aplikace, kde je šířka pásma a kapacita baterie na prvním místě.
  • Program Python se používá k automatizaci toku vody a připojení k databázi.

Krok 3: Eclipse Mosquitto MQTT Broker

Makléř Eclipse Mosquitto MQTT
Makléř Eclipse Mosquitto MQTT

Zde jsem použil Mosquitto MQTT Broker pro snadnou komunikaci zpráv mezi uzly.

Eclipse Mosquitto je zprostředkovatel zpráv s otevřeným zdrojovým kódem (s licencí EPL/EDL), který implementuje protokol MQTT verze 5.0, 3.1.1 a 3.1. Mosquitto je lehký a je vhodný pro použití na všech zařízeních od nízkoenergetických jednodeskových počítačů po plné servery.

Protokol MQTT poskytuje lehký způsob provádění zpráv pomocí modelu publikování/odběru. Díky tomu je vhodný pro zasílání zpráv o internetu věcí, jako jsou senzory s nízkým výkonem nebo mobilní zařízení, jako jsou telefony, vestavěné počítače nebo mikrořadiče.

Projekt Mosquitto také poskytuje knihovnu C pro implementaci klientů MQTT a velmi populární klienty MQTT příkazového řádku mosquitto_pub a mosquitto_sub.

Krok 4: Tok dat v celém projektu

Na výše uvedeném obrázku jsou uzly

  1. NodeMCU
  2. Malina PI
  3. ESP8266

NodeMCU je snímací část Zeleného domu a ESP8266 je ovládací část, která dodává vodu, když země potřebuje vodu podle senzorů.

Raspberry PI obsahuje Mosquitto Broker a klienta Pythonu, který odebírá zprávy od MQTT Broker a ukládá data na SQL server.

Krok 5: Připojení senzorů s NodeMCU

Propojení senzorů s NodeMCU
Propojení senzorů s NodeMCU

Snímač teploty a vlhkosti DHT11 a snímač vlhkosti vody mohou pracovat na 3,3 voltů.

NodeMCU nemůže poskytnout více než 3,3 voltů. Senzory se tedy mohou přímo připojit k desce mikrokontroléru NodeMCU.

Krok 6: Připojení ponorného vodního čerpadla k ESP8266

Spojení ponorného vodního čerpadla s ESP8266
Spojení ponorného vodního čerpadla s ESP8266
Spojení ponorného vodního čerpadla s ESP8266
Spojení ponorného vodního čerpadla s ESP8266

V případě potřeby se k zásobování vodou používá ponorné vodní čerpadlo.

Vodní čerpadlo potřebuje ke svému provozu 5 voltové napájení.

K připojení motoru je potřeba jednokanálové relé. Když je aktivován kolík GPIO2 na ESP8266, relé sepne a automaticky dodává vodu pomocí ponorného vodního čerpadla.

Zde je k desce ESP8266, relé a ponornému vodnímu čerpadlu poskytováno externí napájení.

Moje úplné hardwarové připojení je na obrázku výše.

Krok 7: Instalace programu Mosquitto Broker a spuštění programu Python do Raspberry Pi

Následují kroky pro instalaci brokera Mosquitto do Raspberry PI

Otevřete terminál a zadejte následující příkazy

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

sudo apt-get update

sudo apt-get install mosquitto

sudo apt-get install mosquitto-clients

Měl by automaticky spustit komár.

Chcete -li zastavit a spustit službu, kterou jsem potřeboval použít

sudo service stop mosquitto

sudo service start mosquitto

Většina stránek, které jsem objevil, používá formát.

sudo /etc/init.d/mosquitto zastavit

Krok 8: Jak MQTT funguje?

Jak MQTT funguje?
Jak MQTT funguje?

MQTT je jedním z nejčastěji používaných protokolů v projektech IoT. Zkratka znamená Telemetry Transport ve frontě zpráv.

Kromě toho je navržen jako lehký protokol pro zasílání zpráv, který používá operace publikování/odběru k výměně dat mezi klienty a serverem. Díky malým rozměrům, nízké spotřebě energie, minimálním datovým paketům a snadné implementaci je protokol ideální pro svět „stroj na stroj“nebo „internet věcí“.

Jako každý jiný internetový protokol je i MQTT založen na klientech a serveru. Stejně tak je server ten, kdo je zodpovědný za zpracování požadavků klienta na příjem nebo odesílání dat mezi sebou. Server MQTT se nazývá broker a klienti jsou jednoduše připojená zařízení.

* Pokud chce zařízení (klient) odesílat data makléři, říkáme této operaci „publikování“.

* Pokud chce zařízení (klient) přijímat data od brokera, říkáme této operaci „předplatné“.

Krok 9: Programování NodeMCU a ESP8266

Následuje zdrojový kód pro desku mikrokontroléru NodeMCU a ESP8266

Krok 10: Navrhování webové stránky a připojení k databázi SQL

Webová stránka je navržena pomocí jazyka HTML, CSS a PHP.

PHP se používá k extrahování údajů ze senzorů z databáze a jejich zobrazení na stránce HTML.

Srdcem tohoto projektu je program python.

Práce, které provádí program python, jsou následující.

  1. Přihlašuje se k tématu, ve kterém senzor odesílá údaje ze senzoru.
  2. Publikuje příkaz k zapnutí/vypnutí vodního čerpadla makléři MQTT.
  3. Ukládá údaje ze snímače do databáze SQL.

Zde je v mém případě program python a databáze SQL přítomen v notebooku. Webová stránka běžící přes lokálního hostitele.

Následuje zdrojový kód mého programu python.

Krok 11: Dokončete práci

Dokončete práci
Dokončete práci

Následují kroky, ve kterých proces pokračuje.

  1. NodeMCU funguje jako snímací část a čte teplotu, vlhkost a vlhkost půdy.
  2. Odešle hodnoty brokerovi MQTT s tématem „Téma 1“
  3. V notebooku běží program python a přihlašuje se k odběru tématu „Téma 1“pomocí makléře MQTT.
  4. Když NodeMCU odešle hodnoty, pak Mosquitto MQTT Broker okamžitě odešle data do programu python.
  5. Program Python poté vypočítá, zda je v Zeleném domě potřeba voda. Poté uloží naměřené hodnoty do databáze SQL.
  6. Pokud je v Zeleném domě potřeba voda, pak program python zveřejní zprávu o zapnutí/vypnutí vodního čerpadla makléři Mosquitto MQTT s tématem „Téma 2“
  7. ESP8266 funguje jako pohon. Přihlásí se k tématu „Téma 2“, ve kterém téma program python zprávu zveřejňuje. Když program python zveřejní jakoukoli zprávu, zpráva se okamžitě přenese do ESP8266. Podle zprávy zapnuto/vypnuto zapínalo/vypínalo ponorné vodní čerpadlo.
  8. Poslední fáze pro zobrazení živých odečtů na webové stránce. Webová stránka načítá data z databáze SQL, do které program python ukládá data přímo a zobrazuje hodnoty na stránce.

Doporučuje: