Sisukord:

Kasvuhoone automatiseerimine: 11 sammu
Kasvuhoone automatiseerimine: 11 sammu

Video: Kasvuhoone automatiseerimine: 11 sammu

Video: Kasvuhoone automatiseerimine: 11 sammu
Video: Automaatne kalendri vahetuste planeerija Excelis 2024, Juuli
Anonim
Rohelise maja automatiseerimine
Rohelise maja automatiseerimine

Kasvuhoonete automatiseerimine on projekt, kus kasutaja jälgib kasvuhoone kolme parameetrit, st mulla niiskust, temperatuuri ja niiskust, lihtsalt veebibrauseri abil.

Samm: nõutavad komponendid

Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid

Allpool on loetletud mõned vajalikud komponendid

1. Vaarika PI mudel B

2. NodeMCU arendusnõukogu

3. ESP8266 Wifi moodul

4. Niiskusandur

5. DHT11 temperatuuri ja niiskuse andur

6. 5V ühe kanaliga relee

7. 5V sukeldatav veepump

8. Leivalaud

9. Leivalaua toiteplokk

2. samm: keel ja protokoll

Keel ja protokoll
Keel ja protokoll
Keel ja protokoll
Keel ja protokoll
Keel ja protokoll
Keel ja protokoll
  • C Mikrokontrollerite jaoks kasutatakse keelt.
  • MQTT Sõnumid: MQTT tähistab MQ telemeetria transporti. See on avaldamise/tellimise äärmiselt lihtne ja kerge sõnumsideprotokoll, mis on loodud piiratud seadmete ja väikese ribalaiusega, suure latentsusega või ebausaldusväärsete võrkude jaoks. Disainipõhimõteteks on minimeerida võrgu ribalaiust ja seadmeressursside nõudeid, püüdes samal ajal tagada töökindluse ja teatava tagatise. Need põhimõtted muudavad protokolli ideaalseks ka arenevas „masin-masin” (M2M) või „asjade interneti” ühendatud seadmete maailmas ning mobiilirakenduste jaoks, kus ribalaius ja aku on esmaklassilised.
  • Pythoni programmi kasutatakse veevoolu ja andmebaasi ühendamise automatiseerimiseks.

3. samm: Eclipse Mosquitto MQTT maakler

Eclipse Mosquitto MQTT maakler
Eclipse Mosquitto MQTT maakler

Siin kasutasin sõlmede vaheliseks lihtsaks sõnumsideks Mosquitto MQTT maaklerit.

Eclipse Mosquitto on avatud lähtekoodiga (EPL/EDL litsentsiga) sõnumimaakler, mis rakendab MQTT protokolli versioone 5.0, 3.1.1 ja 3.1. Mosquitto on kerge ja sobib kasutamiseks kõikides seadmetes, alates väikese võimsusega üheplaatarvutitest kuni täisserveriteni.

MQTT protokoll pakub lihtsat meetodit sõnumite edastamiseks, kasutades avaldamis-/tellimismudelit. Seetõttu sobib see asjade Interneti -sõnumite saatmiseks, näiteks väikese energiatarbega andurite või mobiilseadmetega, nagu telefonid, sisseehitatud arvutid või mikrokontrollerid.

Projekt Mosquitto pakub ka C -raamatukogu MQTT klientide rakendamiseks ning väga populaarseid käsurea mosquitto_pub ja mosquitto_sub MQTT kliente.

4. samm: kogu projekti andmete voog

Ülaltoodud pildil on sõlmed

  1. NodeMCU
  2. Vaarika PI
  3. ESP8266

NodeMCU on Green House'i andur ja ESP8266 on käivitusosa, mis varustab vett, kui maapind vajab andurite järgi vett.

Vaarika PI sisaldab Mosquitto maaklerit ja Pythoni klienti, kes tellib MQTT maaklerilt saabuvad sõnumid ja salvestab andmed SQL -serverisse.

Samm: andurite ühendamine NodeMCU -ga

Andurite ühendamine NodeMCU -ga
Andurite ühendamine NodeMCU -ga

DHT11 temperatuuri ja niiskuse andur ning vee niiskusandur on võimelised töötama 3,3 voltiga.

NodeMCU ei saa pakkuda rohkem kui 3,3 volti. Seega saab andureid otse ühendada NodeMCU mikrokontrolleriplaadiga.

6. samm: sukeldatava veepumba ühendamine ESP8266 -ga

Sukeldatava veepumba ühendamine ESP8266 -ga
Sukeldatava veepumba ühendamine ESP8266 -ga
Sukeldatava veepumba ühendamine ESP8266 -ga
Sukeldatava veepumba ühendamine ESP8266 -ga

Veevarustuseks kasutatakse vajadusel veealust veepumpa.

Veepump vajab töötamiseks 5 -voldist toiteallikat.

Mootori ühendamiseks on vaja ühe kanaliga releed. Kui ESP8266 GPIO2 tihvt on aktiveeritud, lülitub relee sisse ja varustab vee automaatselt veealuse pumba abil.

Siin on väline toide ESP8266 plaadile, releele ja sukelpumbale.

Minu täielik riistvaraühendus on ülaltoodud pildil.

Samm 7: Mosquitto Broker & Pythoni programmi installimine Raspberry Pi -sse

Järgnevalt on toodud sammud Mosquitto maakleri installimiseks Raspberry PI -sse

Avage terminal ja tippige järgmised käsud

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

sudo apt-get update

sudo apt-get install mosquitto

sudo apt-get install mosquitto-kliendid

See peaks sääski automaatselt käivitama.

Peatamiseks ja teenuse käivitamiseks, mida mul oli vaja kasutada

sudo teenus peata sääsk

sudo teenus käivita sääsk

Enamik saite avastasin, kus seda vormingut kasutatakse.

sudo /etc/init.d/mosquitto stop

8. samm: kuidas MQTT töötab?

Kuidas MQTT töötab?
Kuidas MQTT töötab?

MQTT on üks IoT -projektides kõige sagedamini kasutatavaid protokolle. See tähistab sõnumijärjekorra telemeetria transporti.

Lisaks on see loodud kerge sõnumsideprotokollina, mis kasutab klientide ja serveri vahel andmete vahetamiseks avaldamis-/tellimistoiminguid. Lisaks muudavad protokoll selle väiksuse, väikese energiatarbimise, minimeeritud andmepakettide ja hõlpsa kasutuselevõtu ideaalseks „masinatevahelise” või „asjade Interneti” maailma jaoks.

Nagu iga teine Interneti -protokoll, põhineb ka MQTT klientidel ja serveril. Samamoodi on server see mees, kes vastutab kliendi taotluste haldamise eest üksteise andmete vastuvõtmisel või saatmisel. MQTT -serverit nimetatakse maakleriks ja kliendid on lihtsalt ühendatud seadmed. Niisiis:

* Kui seade (klient) soovib maaklerile andmeid saata, nimetame seda toimingut avaldamiseks.

* Kui seade (klient) soovib saada vahendajalt andmeid, nimetame seda toimingut tellimiseks.

9. samm: NodeMCU ja ESP8266 programmeerimine

Järgnevalt on toodud NodeMCU ja ESP8266 mikrokontrollerplaadi lähtekood

10. samm: veebilehe kujundamine ja SQL -andmebaasiga ühenduse loomine

Veebileht on loodud HTML, CSS ja PHP keeles.

PHP -d kasutatakse andurite näitude andmebaasist väljavõtmiseks ja HTML -lehele kuvamiseks.

Selle projekti keskmes on püütoniprogramm.

Pythoni programm teeb järgmisi töid.

  1. See tellib teema, kus andur saadab anduri näidud.
  2. See avaldab veepumba sisse/välja käsu MQTT maaklerile.
  3. See salvestab anduri näidu SQL -andmebaasi.

Minu puhul on pythoniprogramm ja SQL -andmebaas sülearvutis olemas. Veebileht, mis jookseb läbi kohaliku hosti.

Allpool on minu python -programmi lähtekood.

Samm: lõpetage töö

Lõpetage töötamine
Lõpetage töötamine

Järgnevalt on toodud sammud, millega protsess jätkub.

  1. NodeMCU töötab tundliku osana ja loeb temperatuuri, niiskust ja mulla niiskustaset.
  2. See saadab näidud MQTT maaklerile teemaga "Teema 1"
  3. Sülearvutis töötab python -programm ja see tellib MQTT maakleriga teema "Topic 1".
  4. Kui NodeMCU saadab näidud, saadab Mosquitto MQTT Broker andmed koheselt pythoni programmile.
  5. Seejärel arvutab Pythoni programm, kas Rohelises Majas on vett vaja. Seejärel salvestab see näidud SQL -i andmebaasi.
  6. Kui rohelises majas on vett vaja, avaldab püütoniprogramm Mosquitto MQTT maaklerile veepumba sisse- ja väljalülitamise teate teemaga "Teema 2"
  7. ESP8266 töötab täiturmehhanismina. See tellib teema "Teema 2", mille teema pythoniprogramm sõnumi avaldab. Kui pythoniprogramm avaldab mis tahes sõnumi, edastatakse sõnum kohe ESP8266 -le. Sisse-/väljalülitusteate kohaselt lülitas see sisse/välja veealuse veepumba.
  8. Viimane etapp reaalajas näidete kuvamiseks veebilehel. Veebileht tõmbab andmed SQL -andmebaasist, kuhu python -programm andmed otse salvestab, ja kuvab lehel näidud.

Soovitan: