Mündəricat:

Green House Automation: 11 Addım
Green House Automation: 11 Addım

Video: Green House Automation: 11 Addım

Video: Green House Automation: 11 Addım
Video: Zigbee реле с энергомониторингом для DIN рейки, интеграция в Home Assistant 2024, Noyabr
Anonim
Yaşıl Evin Avtomatlaşdırılması
Yaşıl Evin Avtomatlaşdırılması

İstixana avtomatlaşdırılması, bir istixana üçün üç parametrin, yəni Torpağın Nəmliyi, Temperaturu və Rütubətinin istifadəçi tərəfindən uzaqdan sadəcə bir veb brauzeri ilə izlənildiyi bir layihədir.

Addım 1: Tələb olunan komponentlər

Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər

Lazım olan bəzi əsas komponentlər aşağıda verilmişdir

1. Moruq PI Model B

2. NodeMCU İnkişaf Şurası

3. ESP8266 Wifi modulu

4. Nəm Sensoru

5. DHT11 Temperatur və Nəmlik Sensoru

6. 5V Tək Kanallı Röle

7. 5V Dalgıç Su Pompası

8. Çörək lövhəsi

9. Çörək Paneli Güc Təchizatı Modulu

Addım 2: Dil və Protokol

Dil və Protokol
Dil və Protokol
Dil və Protokol
Dil və Protokol
Dil və Protokol
Dil və Protokol
  • C dili mikro nəzarətçilər üçün istifadə olunur.
  • MQTT Mesajlaşma: MQTT, MQ Telemetri Nəqliyyatını ifadə edir. Məhdud cihazlar və aşağı bant genişliyi, yüksək gecikmə və ya etibarsız şəbəkələr üçün hazırlanmış son dərəcə sadə və yüngül mesajlaşma protokoludur. Dizayn prinsipləri, etibarlılığı və bir qədər çatdırılma zəmanətini təmin etməyə çalışarkən, şəbəkə bant genişliyi və cihaz mənbələri tələblərini minimuma endirməkdir. Bu prinsiplər, ortaya çıxan "maşından maşına" (M2M) və ya "Əşyaların İnterneti" bağlı qurğular dünyasının və bant genişliyi və batareya gücünün üstün olduğu mobil tətbiqlər üçün protokolu ideal hala gətirir.
  • Python proqramı su axını və verilənlər bazası bağlantısını avtomatlaşdırmaq üçün istifadə olunur.

Addım 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto MQTT Broker
Eclipse Mosquitto MQTT Broker

Burada qovşaqlar arasında asan mesajlaşma üçün Mosquitto MQTT Broker -dən istifadə etdim.

Eclipse Mosquitto, MQTT protokolunun 5.0, 3.1.1 və 3.1 versiyalarını tətbiq edən açıq mənbə (EPL/EDL lisenziyalı) mesaj vasitəçisidir. Mosquitto yüngüldür və aşağı güclü tək lövhəli kompüterlərdən tam serverlərə qədər bütün cihazlarda istifadə üçün uyğundur.

MQTT protokolu yayım/abunə modelindən istifadə edərək mesajlaşma aparmaq üçün yüngül bir üsul təqdim edir. Bu, aşağı enerjili sensorlar və ya telefonlar, quraşdırılmış kompüterlər və ya mikro nəzarətçilər kimi mobil qurğular kimi Əşyaların İnterneti mesajlaşması üçün uyğun hala gətirir.

Mosquitto layihəsi, MQTT müştərilərini həyata keçirmək üçün C kitabxanası və ən məşhur mosquitto_pub və mosquitto_sub komanda xətti MQTT müştərilərini də təmin edir.

Addım 4: Bütün Layihədə Məlumat axını

Yuxarıdakı görüntüdə qovşaqlar var

  1. NodeMCU
  2. Moruq PI
  3. ESP8266

NodeMCU, Yaşıl Evin hissedici hissəsidir və ESP8266, torpağın sensorlara görə suya ehtiyacı olduqda suyu təmin edən hərəkətə gətirən hissəsidir.

Raspberry PI, Mosquitto Broker və MQTT Brokerdən gələn mesajlara abunə olan və məlumatları SQL serverində saxlayan Python müştərisini ehtiva edir.

Addım 5: Sensorların NodeMCU ilə əlaqəsi

Sensorların NodeMCU ilə əlaqəsi
Sensorların NodeMCU ilə əlaqəsi

DHT11 temperatur və rütubət sensoru və su nəm sensoru 3.3 voltda işləyə bilir.

NodeMCU 3.3 voltdan çox təmin edə bilməz. Beləliklə, sensorlar NodeMCU mikrokontroller lövhəsi ilə birbaşa əlaqələndirilə bilər.

Addım 6: Dalgıç Su Pompasının ESP8266 ilə Bağlanması

Dalgıç Su Pompasının ESP8266 ilə əlaqəsi
Dalgıç Su Pompasının ESP8266 ilə əlaqəsi
Dalgıç Su Pompasının ESP8266 ilə əlaqəsi
Dalgıç Su Pompasının ESP8266 ilə əlaqəsi

İstənilən vaxt su təchizatı üçün sualtı nasosdan istifadə olunur.

Su nasosunun işləməsi üçün 5 volt enerji təchizatı lazımdır.

Motoru birləşdirmək üçün tək kanallı röle lazımdır. ESP8266 -nın GPIO2 pimi aktivləşdirildikdə, röle açılır və suya batan su nasosundan istifadə edərək suyu avtomatik olaraq verir.

Burada xarici enerji təchizatı ESP8266 lövhəsi, Relay və dalğıc su nasosuna verilir.

Tam donanım bağlantım yuxarıdakı şəkildədir.

Addım 7: Raspberry Pi -də Mosquitto Broker və Python Proqramının Qurulması

Raspberry PI -də Mosquitto brokerinin quraşdırılması üçün addımlar aşağıdakılardır

Terminalı açın və aşağıdakı əmrləri yazın

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

sudo apt-get yeniləməsi

sudo apt-get mosquitto quraşdırın

sudo apt-get ağcaqanad müştəriləri quraşdırın

Sivrisinek avtomatik olaraq başlamalıdır.

İstifadə etməli olduğum xidməti dayandırıb işə salmaq üçün

sudo xidməti ağcaqanad dayandır

sudo xidməti ağcaqanadlara başlayır

Əksər saytlar formatın harada istifadə edildiyini kəşf etdim.

sudo /etc/init.d/mosquitto dayandırın

Addım 8: MQTT necə işləyir?

MQTT necə işləyir?
MQTT necə işləyir?

MQTT, IoT layihələrində ən çox istifadə olunan protokollardan biridir. Bu, Message Queuing Telemetriya Nəqliyyatı deməkdir.

Bundan əlavə, müştərilər və server arasında məlumat mübadiləsi üçün nəşr/abunə əməliyyatlarından istifadə edən yüngül bir mesajlaşma protokolu olaraq hazırlanmışdır. Bundan əlavə, kiçik ölçüsü, aşağı enerji istifadəsi, minimuma endirilmiş məlumat paketləri və tətbiqin asanlığı protokolu "maşından maşına" və ya "Əşyaların İnterneti" dünyasının idealına çevirir.

Hər hansı digər internet protokolu kimi, MQTT də müştərilərə və serverə əsaslanır. Eyni şəkildə, server, müştərinin bir -birləri arasında məlumat almaq və ya göndərmək istəklərini yerinə yetirməkdən məsuldur. MQTT serverinə broker deyilir və müştərilər sadəcə bağlı qurğulardır.

* Bir cihaz (müştəri) brokerə məlumat göndərmək istədikdə, bu əməliyyatı "dərc" adlandırırıq.

* Bir cihaz (müştəri) brokerdən məlumat almaq istədikdə, bu əməliyyatı "abunə ol" adlandırırıq.

Addım 9: NodeMCU və ESP8266 proqramlaşdırılması

Aşağıda NodeMCU və ESP8266 Mikrokontrolör lövhəsi üçün mənbə kodu verilmişdir

Addım 10: Veb Səhifə Dizaynı və SQL Verilənlər Bazasına Bağlanma

Veb səhifə HTML, CSS və PHP dilindən istifadə etməklə hazırlanmışdır.

PHP, sensor oxunuşlarını verilənlər bazasından çıxarmaq və HTML səhifəsinə göstərmək üçün istifadə olunur.

Bir python proqramı bu layihənin ürəyi olaraq istifadə olunur.

Python proqramında görülən işlər aşağıdakı kimidir.

  1. Sensorun sensor oxunuşlarını göndərdiyi bir mövzuya abunə olur.
  2. Su pompasını açma/söndürmə əmrini MQTT brokerinə yayımlayır.
  3. Sensorun oxunmasını SQL verilənlər bazasında saxlayır.

Burada mənim vəziyyətimdə bir noutbukda python proqramı və SQL verilənlər bazası mövcuddur. Yerli Host vasitəsilə işləyən veb səhifə.

Python proqramımın mənbə kodu budur.

Addım 11: İşi tamamlayın

Tam İşləmə
Tam İşləmə

Prosesin davam etdiyi addımlar aşağıdakılardır.

  1. NodeMCU hissedici hissə olaraq işləyir və Temperaturu, Nəmliyi və torpağın nəm səviyyəsini oxuyur.
  2. Oxumaları "Mövzu 1" mövzusunda MQTT brokerinə göndərir.
  3. Bir noutbukda python proqramı çalışır və MQTT broker ilə "Mövzu 1" mövzusuna abunədir.
  4. NodeMCU oxunuşları göndərdikdə, Mosquitto MQTT Broker dərhal məlumatları python proqramına göndərir.
  5. Python proqramı daha sonra Yaşıl Evdə suya ehtiyac olub olmadığını hesablayır. Sonra oxunuşları SQL Veritabanında saxlayır.
  6. Yaşıl Evdə su lazımdırsa, python proqramı "Mövzu 2" mövzusunda Mosquitto MQTT brokerinə su nasosunun açılması/söndürülməsi mesajını yayımlayır.
  7. ESP8266 aktuator kimi işləyir. Python proqramının mesajı hansı mövzuda yayımladığı "Mövzu 2" mövzusunda abunə olur. Python proqramı hər hansı bir mesaj dərc etdikdə mesaj dərhal ESP8266 -ya köçürülür. Açma/söndürmə mesajına görə, sualtı su nasosunu açdı/söndürdü.
  8. Veb səhifədə canlı oxunuşları göstərmək üçün son mərhələ. Veb səhifə, məlumatları python proqramının birbaşa saxladığı SQL verilənlər bazasından əldə edir və səhifədəki oxunuşları göstərir.

Tövsiyə: