Talaan ng mga Nilalaman:

Pag-aautomat ng Green House: 11 Mga Hakbang
Pag-aautomat ng Green House: 11 Mga Hakbang

Video: Pag-aautomat ng Green House: 11 Mga Hakbang

Video: Pag-aautomat ng Green House: 11 Mga Hakbang
Video: 21 совет, как сэкономить деньги с помощью экологически чистых привычек 2024, Hulyo
Anonim
Pag-aautomat ng Green House
Pag-aautomat ng Green House

Ang automation ng green house ay isang proyekto kung saan tatlong mga parameter ng isang berdeng bahay, ibig sabihin, Soil Moisture, Temperatura at Humidity, ay sinusubaybayan ng gumagamit nang malayuan sa pamamagitan lamang ng paggamit ng isang web browser.

Hakbang 1: Kinakailangan ang Mga Bahagi

Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi

Ang ilang mahahalagang sangkap na kinakailangan ay nakalista sa ibaba

1. Modelong Raspberry PI B

2. NodeMCU Development Board

3. module ng Wifi ng ESP8266

4. Sensor ng Moisture

5. DHT11 Temperatura at Humidity Sensor

6. 5V Single Channel Relay

7. 5V Nailulubog na Tubig na Tubig

8. Lupon ng Tinapay

9. Modyul ng Supply ng Lakas ng Bread Board

Hakbang 2: Wika at Protocol

Wika at Protocol
Wika at Protocol
Wika at Protocol
Wika at Protocol
Wika at Protocol
Wika at Protocol
  • C Wika ay ginagamit para sa mga micro Controllers.
  • MQTT Messaging: Ang MQTT ay nangangahulugang MQ Telemetry Transport. Ito ay isang i-publish / mag-subscribe, labis na simple at magaan na protokol ng pagmemensahe, na idinisenyo para sa mga napigilan na aparato at mababang bandwidth, mataas na latency o hindi maaasahang mga network. Ang mga prinsipyo ng disenyo ay upang i-minimize ang network bandwidth at mga kinakailangan sa mapagkukunan ng aparato habang sinusubukan ding matiyak ang pagiging maaasahan at ilang antas ng katiyakan ng paghahatid. Ang mga prinsipyong ito rin ay naging perpekto ang protocol ng umuusbong na "machine-to-machine" (M2M) o "Internet of Things" na mundo ng mga konektadong aparato, at para sa mga mobile application kung saan ang bandwidth at lakas ng baterya ay may premium.
  • Ang programa ng Python ay ginagamit para sa pag-automate ng daloy ng tubig at pagkakakonekta ng database.

Hakbang 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto MQTT Broker
Eclipse Mosquitto MQTT Broker

Dito ko ginamit ang Mosquitto MQTT Broker para sa madaling komunikasyon sa mensahe sa pagitan ng mga node.

Ang Eclipse Mosquitto ay isang bukas na mapagkukunan (may lisensya sa EPL / EDL) na mensahe na nagpapatupad ng mga bersyon ng MQTT na protocol na 5.0, 3.1.1 at 3.1. Ang Mosquitto ay magaan at angkop para magamit sa lahat ng mga aparato mula sa mababang power solong board computer hanggang sa buong server.

Nagbibigay ang MQTT protocol ng isang magaan na pamamaraan ng pagsasagawa ng pagmemensahe gamit ang isang i-publish / mag-subscribe na modelo. Ginagawa nitong angkop para sa pagmemensahe sa Internet ng Mga Bagay tulad ng may mababang mga sensor ng kuryente o mga mobile device tulad ng mga telepono, naka-embed na computer o mga micro controler.

Nagbibigay din ang proyekto ng Mosquitto ng isang C library para sa pagpapatupad ng mga kliyente ng MQTT, at ang pinakatanyag na mosquitto_pub at mosquitto_sub command na mga kliyente ng MQTT.

Hakbang 4: Daloy ng Data sa Buong Proyekto

Sa imahe sa itaas ang mga node ay

  1. NodeMCU
  2. Raspberry PI
  3. ESP8266

Ang NodeMCU ay bahagi ng pandama ng Green House at ang ESP8266 ay ang bahagi ng paggalaw na nagbibigay ng tubig kapag ang lupa ay nangangailangan ng tubig ayon sa mga sensors.

Naglalaman ang Raspberry PI ng Mosquitto Broker at isang client ng Python na nag-subscribe ng mga mensahe na nagmumula sa MQTT Broker at iniimbak ang data sa isang SQL server.

Hakbang 5: Koneksyon ng Mga Sensor Sa NodeMCU

Koneksyon ng Mga Sensor Sa NodeMCU
Koneksyon ng Mga Sensor Sa NodeMCU

Ang temperatura ng DHT11 at sensor ng kahalumigmigan at ang sensor ng kahalumigmigan ng tubig ay maaaring gumana sa 3.3 volts.

Ang NodeMCU ay hindi maaaring magbigay ng higit sa 3.3 volt. Kaya't ang mga sensor ay maaaring direktang konektado sa NodeMCU microcontroller board.

Hakbang 6: Koneksyon ng Submersible Water Pump Sa ESP8266

Koneksyon ng Submersible Water Pump Sa ESP8266
Koneksyon ng Submersible Water Pump Sa ESP8266
Koneksyon ng Submersible Water Pump Sa ESP8266
Koneksyon ng Submersible Water Pump Sa ESP8266

Ang isang submersible water pump ay ginagamit upang matustusan ang tubig kahit kailan kinakailangan.

Kailangan ng water pump ng 5 volt power supply para sa operasyon nito.

Kailangan ng isang solong channel relay upang ikonekta ang motor. Kapag ang GPIO2 pin ng ESP8266 ay naaktibo ang relay ay nakabukas at awtomatikong nagbibigay ng tubig gamit ang submersible water pump.

Narito ang panlabas na supply ng kuryente ay ibinibigay sa board ng ESP8266, Relay at ang submersible water pump.

Ang aking kumpletong koneksyon sa hardware ay nasa itaas na imahe.

Hakbang 7: Pag-install ng Mosquitto Broker & Running Python Program sa Raspberry Pi

Ang mga sumusunod ay ang mga hakbang para sa pag-install ng Mosquitto broker sa Raspberry PI

Buksan ang terminal at i-type ang mga sumusunod na utos

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

sudo apt-get update

sudo apt-get install mosquitto

sudo apt-get install Mosquitto-kliyente

Dapat itong awtomatikong magsimula ng mosquitto.

Upang Itigil at simulan ang serbisyong kailangan kong gamitin

sudo service ihinto ang mosquitto

sudo serbisyo simulan ang mosquitto

Karamihan sa mga site na natuklasan ko kung saan gumagamit ng format.

sudo /etc/init.d/mosquitto huminto

Hakbang 8: Paano gumagana ang MQTT?

Paano gumagana ang MQTT?
Paano gumagana ang MQTT?

Ang MQTT ay isa sa mga pinaka-karaniwang ginagamit na mga protokol sa mga proyekto ng IoT. Ito ay kumakatawan sa Mensahe ng Pagpila ng Telemetry Transport.

Bilang karagdagan, ito ay dinisenyo bilang isang magaan na protokol sa pagmemensahe na gumagamit ng mga pagpapatakbo na mag-publish / mag-subscribe upang makipagpalitan ng data sa pagitan ng mga kliyente at ng server. Bukod dito, ang maliit na sukat nito, mababang paggamit ng kuryente, pinaliit ang mga packet ng data at kadalian ng pagpapatupad na ginagawang perpekto ang protocol ng "machine-to-machine" o "Internet of Things" na mundo.

Tulad ng anumang iba pang protokol sa internet, ang MQTT ay batay sa mga kliyente at isang server. Gayundin, ang server ay ang taong responsable para sa paghawak ng mga kahilingan ng kliyente ng pagtanggap o pagpapadala ng data sa pagitan ng bawat isa. Ang server ng QTT ay tinawag na isang broker at ang mga kliyente ay ang mga konektadong aparato lamang. Kaya:

* Kapag ang isang aparato (isang kliyente) ay nais na magpadala ng data sa broker, tinatawag naming "i-publish" ang operasyong ito.

* Kapag ang isang aparato (isang kliyente) ay nais na makatanggap ng data mula sa broker, tatawagin namin ang operasyong ito na isang "mag-subscribe".

Hakbang 9: Programming NodeMCU at ESP8266

Ang sumusunod ay ang source code para sa board ng NodeMCU at ESP8266 Microcontroller

Hakbang 10: Pagdidisenyo ng isang Pahina sa Web at Pagkonekta sa SQL Database

Ang Pahina ng Web ay dinisenyo gamit ang wikang HTML, CSS at PHP.

Ginagamit ang PHP upang makuha ang mga pagbabasa ng sensor mula sa database at ipakita ito sa pahina ng HTML.

Ang isang programang sawa ay ginagamit bilang puso ng proyektong ito.

Ang mga gawa na ginagawa ng python program ay ang mga sumusunod.

  1. Nag-subscribe ito sa isang paksa kung saan nagpapadala ang sensor ng mga pagbabasa ng sensor.
  2. Nag-publish ito ng water pump na on / off na utos sa MQTT broker.
  3. Iniimbak nito ang pagbabasa ng sensor sa isang database ng SQL.

Dito sa aking kaso ang programang sawa at ang database ng SQL ay naroroon sa isang Laptop. Ang web page na tumatakbo sa pamamagitan ng isang Local Host.

Ang sumusunod ay ang Source code ng aking python program.

Hakbang 11: Kumpletuhin ang Paggawa

Kumpletong Paggawa
Kumpletong Paggawa

Ang mga sumusunod ay ang mga hakbang kung saan nagpapatuloy ang proseso.

  1. Gumagana ang NodeMCU bilang bahagi ng sensing at binabasa ang Temperatura, Humidity at antas ng kahalumigmigan ng lupa.
  2. Nagpapadala ito ng mga pagbasa sa MQTT broker na may paksang "Paksa 1"
  3. Sa isang laptop ang python program sa pagpapatakbo at nag-subscribe ito sa isang paksang "Paksa 1" kasama ang MQTT broker.
  4. Kapag ang NodeMCU ay nagpapadala ng mga pagbasa pagkatapos ay ang Mosquitto MQTT Broker ay agad na nagpapadala ng data sa programa ng sawa.
  5. Kinakalkula ng programa ng Python kung mayroong tubig na kinakailangan sa Green House. Pagkatapos ay iniimbak nito ang mga pagbasa sa SQL Database.
  6. Kung kinakailangan ang tubig sa Green House, ang program ng python ay naglathala ng water pump on / off na mensahe sa Mosquitto MQTT broker na may paksang "Paksa 2"
  7. Gumagana ang ESP8266 bilang isang actuator. Nag-subscribe ito sa paksang "Paksa 2" kung aling paksa ang programa ng sawa ay naglalathala ng mensahe. Kapag ang programa ng sawa ay naglathala ng anumang mensahe pagkatapos ay agad na inilipat ang mensahe sa ESP8266. Ayon sa on / off na mensahe, na-on / patay nito ang submersible water pump.
  8. Huling yugto upang maipakita ang mga live na pagbasa sa web page. Kinuha ng web page ang data mula sa database ng SQL kung saan direktang iniimbak ng programang python ang data at ipinakita ang mga pagbasa sa pahina.

Inirerekumendang: