Tartalomjegyzék:

Zöldház automatizálás: 11 lépés
Zöldház automatizálás: 11 lépés

Videó: Zöldház automatizálás: 11 lépés

Videó: Zöldház automatizálás: 11 lépés
Videó: Zöldház Tavasz 2010(Masters Production) 2024, Július
Anonim
Zöldház automatizálás
Zöldház automatizálás

Az üvegház -automatizálás egy olyan projekt, ahol a felhasználó három paramétert, azaz a talajnedvességet, a hőmérsékletet és a páratartalmat, egyszerűen, webböngésző segítségével távolról felügyeli.

1. lépés: Szükséges összetevők

Szükséges alkatrészek
Szükséges alkatrészek
Szükséges alkatrészek
Szükséges alkatrészek
Szükséges alkatrészek
Szükséges alkatrészek

Az alábbiakban felsorolunk néhány szükséges összetevőt

1. Málna PI B modell

2. NodeMCU Fejlesztési Tanács

3. ESP8266 Wifi modul

4. Nedvességérzékelő

5. DHT11 hőmérséklet- és páratartalom -érzékelő

6. 5V egycsatornás relé

7. 5V -os merülővíz -szivattyú

8. Kenyértábla

9. Kenyértábla tápegység modul

2. lépés: Nyelv és protokoll

Nyelv és protokoll
Nyelv és protokoll
Nyelv és protokoll
Nyelv és protokoll
Nyelv és protokoll
Nyelv és protokoll
  • C A mikrovezérlők nyelvét használják.
  • MQTT üzenetküldés: Az MQTT jelentése: MQ Telemetry Transport. Ez egy közzététel/előfizetés, rendkívül egyszerű és könnyű üzenetküldési protokoll, amelyet korlátozott eszközök és kis sávszélességű, nagy késleltetésű vagy megbízhatatlan hálózatok számára terveztek. A tervezési elvek a hálózati sávszélesség és az eszköz erőforrásigényének minimalizálása, ugyanakkor a megbízhatóság és a szállítás bizonyos fokú biztosítása is. Ezek az elvek arra is rávilágítanak, hogy a protokoll ideális legyen a csatlakoztatott eszközök „gépek és gépek” (M2M) vagy „dolgok internete” világában, valamint olyan mobil alkalmazásokhoz, ahol a sávszélesség és az akkumulátor teljesítménye kiemelkedő.
  • A Python program a vízáramlás és az adatbázis -kapcsolat automatizálására szolgál.

3. lépés: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto MQTT Broker
Eclipse Mosquitto MQTT Broker

Itt a Mosquitto MQTT Broker -t használtam a csomópontok közötti egyszerű üzenetkommunikációhoz.

Az Eclipse Mosquitto egy nyílt forráskódú (EPL/EDL licencű) üzenetközvetítő, amely megvalósítja az MQTT protokoll 5.0, 3.1.1 és 3.1 verzióit. A Mosquitto könnyű, és minden eszközön használható, az alacsony teljesítményű egylapos számítógépektől a teljes szerverekig.

Az MQTT protokoll könnyű módszert kínál az üzenetküldés közzétételi/előfizetési modell használatával. Ez alkalmassá teszi a tárgyak internetes üzenetküldésére, például alacsony fogyasztású érzékelőkkel vagy mobileszközökkel, például telefonokkal, beágyazott számítógépekkel vagy mikrovezérlőkkel.

A Mosquitto projekt egy C könyvtárat is biztosít az MQTT ügyfelek, valamint a nagyon népszerű mosquitto_pub és mosquitto_sub parancssori MQTT kliensek megvalósításához.

4. lépés: Az adatáramlás a teljes projektben

A fenti képen a csomópontok

  1. NodeMCU
  2. Raspberry Pi
  3. ESP8266

A NodeMCU a Zöld Ház érzékelő része, az ESP8266 pedig a működtető rész, amely ellátja a vizet, amikor a talajnak vízre van szüksége az érzékelők szerint.

A Raspberry PI tartalmazza a Mosquitto Brokert és egy Python klienst, amely előfizet az MQTT Brokerről érkező üzenetekre, és tárolja az adatokat egy SQL szerverre.

5. lépés: Érzékelők csatlakoztatása a NodeMCU -val

Érzékelők csatlakoztatása a NodeMCU -val
Érzékelők csatlakoztatása a NodeMCU -val

A DHT11 hőmérséklet- és páratartalom -érzékelő, valamint a víznedvesség -érzékelő 3,3 voltról működik.

A NodeMCU nem tud 3,3 voltnál többet biztosítani. Így az érzékelők közvetlenül csatlakoztathatók a NodeMCU mikrokontroller kártyához.

6. lépés: A merülő vízszivattyú csatlakoztatása az ESP8266 készülékhez

A búvárszivattyú csatlakoztatása az ESP8266 -hoz
A búvárszivattyú csatlakoztatása az ESP8266 -hoz
A búvárszivattyú csatlakoztatása az ESP8266 -hoz
A búvárszivattyú csatlakoztatása az ESP8266 -hoz

Egy merülővíz -szivattyút használnak a víz ellátására, amikor szükséges.

A vízszivattyú működéséhez 5 voltos tápegység szükséges.

A motor csatlakoztatásához egycsatornás relére van szükség. Amikor az ESP8266 GPIO2 csapja aktiválódik, a relé bekapcsol, és automatikusan ellátja a vizet a merülő vízpumpával.

Itt külső tápellátást biztosít az ESP8266 kártya, a relé és a merülő vízszivattyú.

A teljes hardveres kapcsolat a fenti képen látható.

7. lépés: A Mosquitto Broker & Python program telepítése a Raspberry Pi -be

Az alábbiakban bemutatjuk a Mosquitto bróker Raspberry PI -be történő telepítésének lépéseit

Nyissa meg a terminált, és írja be a következő parancsokat

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

sudo apt-get update

sudo apt-get install mosquitto

sudo apt-get install mosquitto-client

Ennek automatikusan el kell indítania a szúnyogokat.

A használat leállításához és a szolgáltatás elindításához

sudo szolgáltatás stop szúnyog

sudo szolgáltatás indítsa el a szúnyogot

A legtöbb webhelyet felfedeztem, ahol a formátumot használják.

sudo /etc/init.d/mosquitto stop

8. lépés: Hogyan működik az MQTT?

Hogyan működik az MQTT?
Hogyan működik az MQTT?

Az MQTT az egyik leggyakrabban használt protokoll az IoT projektekben. Ez a Message Queuing Telemetry Transport rövidítése.

Ezenkívül könnyű üzenetküldési protokollként készült, amely közzétételi/előfizetési műveleteket használ az adatok cseréjéhez az ügyfelek és a szerver között. Továbbá kis mérete, alacsony energiafogyasztása, minimális adatcsomagjai és egyszerű megvalósítása teszik a protokollt a „gépről gépre” vagy „a tárgyak internete” világba.

Mint minden más internetes protokoll, az MQTT is klienseken és kiszolgálókon alapul. Hasonlóképpen, a szerver az a fickó, aki felelős az ügyfél egymás közötti adatok fogadására vagy küldésére vonatkozó kéréseinek kezeléséért. Az MQTT szervert brókernek hívják, és az ügyfelek egyszerűen a csatlakoztatott eszközök. Tehát:

* Ha egy eszköz (ügyfél) adatokat akar küldeni a brókernek, ezt a műveletet „közzétételnek” nevezzük.

* Amikor egy eszköz (kliens) adatokat akar fogadni a brókertől, ezt a műveletet „feliratkozásnak” nevezzük.

9. lépés: A NodeMCU és az ESP8266 programozása

Az alábbiakban a NodeMCU és az ESP8266 mikrokontroller kártya forráskódja található

10. lépés: Weboldal tervezése és csatlakozás az SQL adatbázishoz

A weboldal HTML, CSS és PHP nyelven készült.

A PHP -t arra használják, hogy kivonják az érzékelő leolvasásait az adatbázisból, és megjelenítsék a HTML -oldalon.

Ennek a projektnek a szíve egy python program.

A python program által végzett munkák a következők.

  1. Előfizet egy témára, amelyben az érzékelő elküldi az érzékelő leolvasásait.
  2. A vízszivattyú be/ki parancsot közzéteszi az MQTT brókernek.
  3. Az érzékelő leolvasását tárolja egy SQL adatbázisban.

Itt az én esetemben a python program és az SQL adatbázis jelen van egy laptopban. A helyi gazdagépen futó weboldal.

A következő a python programom forráskódja.

11. lépés: Fejezze be a munkát

Teljes munka
Teljes munka

Az alábbiakban a folyamat lépéseit mutatjuk be.

  1. A NodeMCU érzékelő részként működik, és leolvassa a hőmérsékletet, a páratartalmat és a talaj nedvességszintjét.
  2. Elküldi az olvasásokat az MQTT brókernek az "1. téma" témával
  3. Egy laptopban a python program fut, és feliratkozik az "1. téma" témára az MQTT brókerrel.
  4. Amikor a NodeMCU elküldi a leolvasott értékeket, a Mosquitto MQTT Broker azonnal elküldi az adatokat a python programnak.
  5. A Python program ezután kiszámítja, hogy szükség van -e vízre a Zöld Házban. Ezután eltárolja az adatokat az SQL adatbázisban.
  6. Ha vízre van szükség a Zöld Házban, akkor a python program közzéteszi a vízszivattyú be/ki üzenetét a Mosquitto MQTT brókernek a "Téma 2" témával
  7. Az ESP8266 aktuátorként működik. Feliratkozik a "Téma 2" témában, amelyben a python program közzéteszi az üzenetet. Amikor a python program bármilyen üzenetet közzétesz, az üzenet azonnal átkerül az ESP8266 -ra. A be/ki üzenet szerint be-/kikapcsolta a merülő vízpumpát.
  8. Az utolsó fázis az élő leolvasások megjelenítéséhez a weboldalon. A weboldal lekéri az adatokat az SQL adatbázisból, amelyben a python program közvetlenül tárolja az adatokat, és megjeleníti a leolvasásokat az oldalon.

Ajánlott: