Sisällysluettelo:

Kasvihuoneen automaatio: 11 vaihetta
Kasvihuoneen automaatio: 11 vaihetta

Video: Kasvihuoneen automaatio: 11 vaihetta

Video: Kasvihuoneen automaatio: 11 vaihetta
Video: Näin poistat kuvasta taustan sekunneissa Photoshopissa 2024, Heinäkuu
Anonim
Kasvihuoneiden automaatio
Kasvihuoneiden automaatio

Kasvihuoneiden automaatio on projekti, jossa käyttäjä valvoo kolmea kasvihuoneen parametria eli maaperän kosteutta, lämpötilaa ja kosteutta etänä yksinkertaisesti verkkoselaimen avulla.

Vaihe 1: Tarvittavat komponentit

Tarvittavat komponentit
Tarvittavat komponentit
Tarvittavat komponentit
Tarvittavat komponentit
Tarvittavat komponentit
Tarvittavat komponentit

Alla on lueteltu muutamia välttämättömiä komponentteja

1. Vadelma PI Malli B

2. NodeMCU Development Board

3. ESP8266 Wifi -moduuli

4. Kosteusanturi

5. DHT11 lämpötila- ja kosteusanturi

6. 5V yksikanavainen rele

7. 5V upotettava vesipumppu

8. Leipälauta

9. Leipälevyn virtalähdemoduuli

Vaihe 2: Kieli ja protokolla

Kieli ja protokolla
Kieli ja protokolla
Kieli ja protokolla
Kieli ja protokolla
Kieli ja protokolla
Kieli ja protokolla
  • C Mikro -ohjaimissa käytetään kieltä.
  • MQTT Messaging: MQTT on lyhenne sanoista MQ Telemetry Transport. Se on julkaisu/tilaus, erittäin yksinkertainen ja kevyt viestintäprotokolla, joka on suunniteltu rajoitetuille laitteille ja pienelle kaistanleveydelle, korkealle latenssille tai epäluotettaville verkkoille. Suunnitteluperiaatteiden tarkoituksena on minimoida verkon kaistanleveys ja laiteresurssivaatimukset samalla kun pyritään varmistamaan luotettavuus ja jonkinasteinen toimitusvarmuus. Nämä periaatteet tekevät protokollasta myös ihanteellisen yhdistettävissä olevien laitteiden ja koneiden välisessä maailmassa (M2M) tai esineiden Internetissä sekä mobiilisovelluksissa, joissa kaistanleveys ja akkuvirta ovat huippuluokkaa.
  • Python -ohjelmaa käytetään veden virtauksen ja tietokantayhteyden automatisointiin.

Vaihe 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto MQTT -välittäjä
Eclipse Mosquitto MQTT -välittäjä

Tässä käytin Mosquitto MQTT Brokeria solmujen väliseen helppoon viestintään.

Eclipse Mosquitto on avoimen lähdekoodin (EPL/EDL -lisensoitu) sanomanvälittäjä, joka toteuttaa MQTT -protokollan versiot 5.0, 3.1.1 ja 3.1. Mosquitto on kevyt ja sopii käytettäväksi kaikilla laitteilla pienitehoisista yhden kortin tietokoneista täydisiin palvelimiin.

MQTT -protokolla tarjoaa kevyen tavan lähettää viestejä käyttämällä julkaisu-/tilausmallia. Tämä tekee siitä sopivan esineiden Internet -viesteihin, kuten pienitehoisille antureille tai mobiililaitteille, kuten puhelimille, sulautetuille tietokoneille tai mikro -ohjaimille.

Mosquitto -projekti tarjoaa myös C -kirjaston MQTT -asiakkaiden ja erittäin suosittujen mosquitto_pub- ja mosquitto_sub -komentorivin MQTT -asiakkaiden toteuttamiseen.

Vaihe 4: Datavirta koko projektissa

Yllä olevassa kuvassa solmut ovat

  1. NodeMCU
  2. Vadelma PI
  3. ESP8266

NodeMCU on Green Housen anturiosa ja ESP8266 on käyttöosa, joka toimittaa vettä, kun maaperä tarvitsee vettä antureiden mukaan.

Raspberry PI sisältää Mosquitto Brokerin ja Python -asiakkaan, joka tilaa MQTT Brokerilta tulevat viestit ja tallentaa tiedot SQL -palvelimelle.

Vaihe 5: Anturien liittäminen NodeMCU -laitteeseen

Anturien liittäminen NodeMCU: hon
Anturien liittäminen NodeMCU: hon

DHT11 -lämpötila- ja kosteusanturi sekä veden kosteusanturi voivat toimia 3,3 voltin jännitteellä.

NodeMCU ei voi tuottaa enempää kuin 3,3 volttia. Joten anturit voidaan yhdistää suoraan NodeMCU -mikrokorttiin.

Vaihe 6: Upotettavan vesipumpun liittäminen ESP8266: een

Upotettavan vesipumpun liittäminen ESP8266: een
Upotettavan vesipumpun liittäminen ESP8266: een
Upotettavan vesipumpun liittäminen ESP8266: een
Upotettavan vesipumpun liittäminen ESP8266: een

Upotettavaa vesipumppua käytetään veden syöttämiseen aina tarvittaessa.

Vesipumppu tarvitsee 5 voltin virtalähteen toimiakseen.

Moottorin kytkemiseen tarvitaan yksikanavainen rele. Kun ESP8266: n GPIO2 -nasta aktivoidaan, rele kytkeytyy päälle ja syöttää veden automaattisesti upotettavan vesipumpun avulla.

Täällä on ulkoinen virtalähde ESP8266 -kortille, releelle ja upotettavaan vesipumppuun.

Täydellinen laitteistoyhteyteni on yllä olevassa kuvassa.

Vaihe 7: Mosquitto Broker & Ryt Python -ohjelman asentaminen Raspberry Pi: hen

Seuraavat vaiheet asentavat Mosquitto -välittäjän Raspberry PI: hen

Avaa pääte ja kirjoita seuraavat komennot

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

sudo apt-get päivitys

sudo apt-get install mosquitto

sudo apt-get install mosquitto-clientit

Sen pitäisi automaattisesti käynnistää hyttyset.

Pysäyttääksesi ja käynnistääkseni tarvitsemani palvelun

sudo -palvelu lopettaa hyttysen

sudo -palvelu käynnistää hyttysen

Useimmat sivustot löysin, missä käytetään muotoa.

sudo /etc/init.d/mosquitto stop

Vaihe 8: Kuinka MQTT toimii?

Kuinka MQTT toimii?
Kuinka MQTT toimii?

MQTT on yksi yleisimmin käytetyistä protokollista IoT -projekteissa. Se tarkoittaa Message Queuing Telemetry Transportia.

Lisäksi se on suunniteltu kevyeksi viestiprotokollaksi, joka käyttää julkaisu-/tilaustoimintoja tietojen vaihtamiseen asiakkaiden ja palvelimen välillä. Lisäksi sen pieni koko, pieni virrankulutus, minimoidut datapaketit ja helppokäyttöisyys tekevät protokollasta ihanteellisen "koneiden välillä" tai "esineiden internet" -maailmassa.

Kuten mikä tahansa muu Internet -protokolla, MQTT perustuu asiakkaisiin ja palvelimeen. Samoin palvelin on kaveri, joka vastaa asiakkaan pyyntöjen vastaanottamisesta tai lähettämisestä toistensa välillä. MQTT -palvelinta kutsutaan välittäjäksi ja asiakkaat ovat yksinkertaisesti yhdistettyjä laitteita.

* Kun laite (asiakas) haluaa lähettää tietoja välittäjälle, kutsumme tätä toimintoa julkaisemiseksi.

* Kun laite (asiakas) haluaa vastaanottaa tietoja välittäjältä, kutsumme tätä toimintoa tilaukseksi.

Vaihe 9: NodeMCU: n ja ESP8266: n ohjelmointi

Seuraavassa on NodeMCU- ja ESP8266 -mikrokortin lähdekoodi

Vaihe 10: Web -sivun suunnittelu ja yhteyden muodostaminen SQL -tietokantaan

Verkkosivu on suunniteltu HTML-, CSS- ja PHP -kielellä.

PHP: tä käytetään poimimaan anturin lukemat tietokannasta ja näyttämään se HTML -sivulla.

Tämän projektin ytimenä on python -ohjelma.

Python -ohjelman tekemät työt ovat seuraavat.

  1. Se tilaa aiheen, jossa anturi lähettää anturin lukemat.
  2. Se julkaisee vesipumpun päälle/pois -komennon MQTT -välittäjälle.
  3. Se tallentaa anturin lukeman SQL -tietokantaan.

Tässä tapauksessa python -ohjelma ja SQL -tietokanta ovat läsnä kannettavassa tietokoneessa. Verkkosivu, joka kulkee paikallisen isännän kautta.

Seuraavassa on python -ohjelman lähdekoodi.

Vaihe 11: Suorita työ loppuun

Täydellinen työskentely
Täydellinen työskentely

Seuraavassa on vaiheet, joissa prosessi etenee.

  1. NodeMCU toimii anturina ja lukee lämpötilan, kosteuden ja maaperän kosteustason.
  2. Se lähettää lukemat MQTT -välittäjälle aiheella "Aihe 1"
  3. Kannettavassa tietokoneessa python -ohjelma on käynnissä ja se tilaa aiheen "Aihe 1" MQTT -välittäjän kanssa.
  4. Kun NodeMCU lähettää lukemat, Mosquitto MQTT Broker lähettää tiedot välittömästi python -ohjelmaan.
  5. Python -ohjelma laskee sitten, tarvitaanko vettä Green Housessa. Sitten se tallentaa lukemat SQL -tietokantaan.
  6. Jos vettä tarvitaan Green Housessa, python -ohjelma julkaisee vesipumpun päälle/pois -viestin Mosquitto MQTT -välittäjälle aiheella "Aihe 2"
  7. ESP8266 toimii toimilaitteena. Se tilaa aiheen "Aihe 2", jossa aiheessa python -ohjelma julkaisee viestin. Kun python -ohjelma julkaisee minkä tahansa viestin, viesti siirretään välittömästi ESP8266: een. On/off -viestin mukaan se käynnisti/sammutti upotettavan vesipumpun.
  8. Viimeinen vaihe näyttää live -lukemat verkkosivulla. Verkkosivu hakee tiedot SQL -tietokannasta, johon python -ohjelma tallentaa tiedot suoraan ja näyttää lukemat sivulla.

Suositeltava: