Talaan ng mga Nilalaman:
- Hakbang 1: Kinakailangan ang Mga Bahagi
- Hakbang 2: Wika at Protocol
- Hakbang 3: Eclipse Mosquitto MQTT Broker
- Hakbang 4: Daloy ng Data sa Buong Proyekto
- Hakbang 5: Koneksyon ng Mga Sensor Sa NodeMCU
- Hakbang 6: Koneksyon ng Submersible Water Pump Sa ESP8266
- Hakbang 7: Pag-install ng Mosquitto Broker & Running Python Program sa Raspberry Pi
- Hakbang 8: Paano gumagana ang MQTT?
- Hakbang 9: Programming NodeMCU at ESP8266
- Hakbang 10: Pagdidisenyo ng isang Pahina sa Web at Pagkonekta sa SQL Database
- Hakbang 11: Kumpletuhin ang Paggawa
Video: Pag-aautomat ng Green House: 11 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
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
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
- 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
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
- NodeMCU
- Raspberry PI
- 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
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
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?
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.
- Nag-subscribe ito sa isang paksa kung saan nagpapadala ang sensor ng mga pagbabasa ng sensor.
- Nag-publish ito ng water pump na on / off na utos sa MQTT broker.
- 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
Ang mga sumusunod ay ang mga hakbang kung saan nagpapatuloy ang proseso.
- Gumagana ang NodeMCU bilang bahagi ng sensing at binabasa ang Temperatura, Humidity at antas ng kahalumigmigan ng lupa.
- Nagpapadala ito ng mga pagbasa sa MQTT broker na may paksang "Paksa 1"
- Sa isang laptop ang python program sa pagpapatakbo at nag-subscribe ito sa isang paksang "Paksa 1" kasama ang MQTT broker.
- Kapag ang NodeMCU ay nagpapadala ng mga pagbasa pagkatapos ay ang Mosquitto MQTT Broker ay agad na nagpapadala ng data sa programa ng sawa.
- Kinakalkula ng programa ng Python kung mayroong tubig na kinakailangan sa Green House. Pagkatapos ay iniimbak nito ang mga pagbasa sa SQL Database.
- 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"
- 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.
- 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:
Pagsubaybay sa Green House Sa IOT: 5 Mga Hakbang
Pagmamanman ng Green House Sa IOT: Pagdating sa agrikultura, pagsubaybay sa temperatura & kahalumigmigan ng mga halaman ay isang mahalagang kadahilanan para sa kanilang kaligtasan. Sa kasalukuyan, ang mga tao ay gumagamit ng mga thermometers na nakakabit sa isang greenhouse upang masusukat ng mga magsasaka ang temperatura. Gayunpaman, ang manu-manong app na ito
HeadBot - isang Robot na Nagbabago ng Sarili para sa Pag-aaral at Pag-abot sa STEM: 7 Mga Hakbang (na may Mga Larawan)
HeadBot - isang Self-Balancing Robot para sa STEM Learning and Outreach: Headbot - isang dalawang talampakan ang taas, self-balancing robot - ay ang ideya ng South Eugene Robotics Team (SERT, FRC 2521), isang mapagkumpitensyang pangkat ng robotics ng high school sa UNA Kompetisyon ng Robotics, mula sa Eugene, Oregon. Ang sikat na robot sa pag-abot na ito ay ginagawang
Pag-iniksyon sa Keyboard / Awtomatikong I-type ang Iyong Password Sa Isang Pag-click !: 4 Mga Hakbang (na may Mga Larawan)
Pag-iniksyon sa Keyboard / Awtomatikong I-type ang Iyong Password Sa Isang Pag-click !: Mahirap ang mga password … at ang pag-alala sa isang ligtas ay mas mahirap pa! Bukod dito kung mayroon kang kasama, nagbabagong password ay magtatagal ito upang mai-type. Ngunit huwag matakot sa aking mga kaibigan, mayroon akong solusyon dito! Lumikha ako ng isang maliit na awtomatikong pag-type ng makina na
Roomblock: isang Platform para sa Pag-aaral ng Pag-navigate sa ROS Sa Roomba, Raspberry Pi at RPLIDAR: 9 Mga Hakbang (na may Mga Larawan)
Roomblock: isang Platform para sa Pag-aaral ng Pag-navigate sa ROS Sa Roomba, Raspberry Pi at RPLIDAR: Ano ito? &Quot; Roomblock " ay isang robot platform na binubuo ng isang Roomba, isang Raspberry Pi 2, isang laser sensor (RPLIDAR) at isang mobile baterya. Ang mounting frame ay maaaring gawin ng mga 3D printer. Pinapayagan ang sistema ng nabigasyon ng ROS na gumawa ng isang mapa ng mga silid at gamitin ang
Arduino Obstacle Pag-iwas sa Robot (Bersyon ng Pag-upgrade): 7 Mga Hakbang (na may Mga Larawan)
Arduino Obstacle Avoiding Robot (Upgrade Version): Ang post na ito ay unang nai-publish sa website na ito https://truesains22.blogspot.com/2018/01/arduino-obstacle-avoiding-robotupgrade.html Sagabal Pag-iwas sa Robot. Ito ay simple ngunit ilang tampok at