Mündəricat:

Avtomatlaşdırılmış Bitki Potu - Kiçik Bağ: 13 Addım (Şəkillərlə)
Avtomatlaşdırılmış Bitki Potu - Kiçik Bağ: 13 Addım (Şəkillərlə)

Video: Avtomatlaşdırılmış Bitki Potu - Kiçik Bağ: 13 Addım (Şəkillərlə)

Video: Avtomatlaşdırılmış Bitki Potu - Kiçik Bağ: 13 Addım (Şəkillərlə)
Video: FILMUL JLP: Am Supravietuit 1.000 Zile In Minecraft Hardcore Si Asta S-a Intamplat 2024, Noyabr
Anonim
Avtomatlaşdırılmış Bitki Potu - Kiçik Bağ
Avtomatlaşdırılmış Bitki Potu - Kiçik Bağ

Howest Kortrijk -də Multimedia və Kommunikasiya Texnologiyası tələbəsiyəm. Son tapşırıq üçün özümüz seçdiyimiz bir IoT layihəsi hazırlamalı olduq.

Fikir axtarıb, bitkilər yetişdirməyi sevən və avtomatlaşdırılmış bitki qabı üzərində işləməyə başlayan anam üçün faydalı bir şey hazırlamağa qərar verdim.

Bu avtomatlaşdırılmış bitki qazanı olan Little Garden üçün əsas vəzifələr aşağıdakılardır:

  • Ölçün

    • Temperatur
    • İşıq intensivliyi
    • Rütubət
    • Torpağın nəmliyi

Ölçmələri bir verilənlər bazasına qeyd edin

Müəyyən bir dəyər çox aşağı olarsa, bitkinin inkişafı üçün şərtləri yaxşılaşdırın

Cihazın veb sayt vasitəsilə izlənməsinə və idarə olunmasına icazə verin

Hər addımı işarəyə qədər izləmək lazım deyil. Baş verənlərin çoxu şəxsi seçiminiz ola bilər və ya təkmilləşdirilə bilər. Bu quruluş, hissələrin sonradan bərpa oluna biləcəyi şəkildə hazırlanmışdır, buna görə daha daimi hala gətirmək üçün təkrarlamanıza fərqli yanaşmaq istəyə bilərsiniz.

Addım 1: Təchizat

Təchizat
Təchizat
Təchizat
Təchizat
Təchizat
Təchizat

Bu layihə üçün əksər materialları əldə etmək çox çətin deyil, baxmayaraq ki, mənim vəziyyətimdə bir çox təkrar materiallarla işləmişəm. Bundan sonra bəzi materialları bərpa edə biləcəyimi təmin etməliydim.

Əsas komponentlər:

  • Raspberry Pi 4 model B.
  • Raspberry Pi enerji təchizatı
  • Raspberry Pi T ayaqqabı
  • 16 GB micro SD kart
  • 3.3V və 5V ilə breadboard enerji təchizatı
  • Çörək lövhəsi
  • 12V enerji təchizatı

Sensorlar:

  • DHT11: Rütubət və Temperatur Sensoru
  • BH1750: İşıq intensivliyi sensoru
  • Torpaq nəm sensoru
  • MCP3008

Aktuator komponentləri:

  • 220V su nasosu
  • 12V LED şeridi
  • Relay modulu Velleman
  • İPUCU 50: NPN tranzistoru
  • 16X2 LCD modlu ekran
  • PCF8574a

Rezistorlar:

  • 3 x 330 Ohm rezistorlar
  • 1 x 5k Ohm müqavimət
  • 2 x 10k Ohm rezistorlar
  • 1 x 1k Ohm müqavimət
  • 1 x 10k Potentio rezistoru

Materiallar:

  • Prefabrik istixana/bitki qabı
  • Bağlantı qutusu
  • Plastik su şüşəsi
  • Dönərlər
  • Jumper telləri + adi tel
  • Vida
  • Lehim qalay + istilik büzücü borular
  • İki tərəfli bant
  • Çəkmək

Alətlər:

  • Yapışqan silah
  • Qazma
  • Mişar bıçağı
  • Lehimleme dəmir
  • Qutu kəsici
  • Boya fırçası

Bu layihənin ən gözəl tərəfi, komponentləri əlavə etmək/silmək və kodu bir qədər dəyişdirməklə genişləndirilə və ya sadələşdirilə bilər. Məsələn, 220V -luq nasosu 12V -luq bir nasosla əvəz edərək, cihazdan güc adapterini çıxara bilərsiniz.

Addım 2: Doldurma Şeması

Dondurucu Şematik
Dondurucu Şematik
Dondurucu Şematik
Dondurucu Şematik

Cihazın çörək taxtası və elektrik sxemləri yuxarıda göstərilmişdir. Burada bütün komponentlərin bir -birinə necə bağlı olduğunu görə bilərsiniz.

Komponentlərin necə işlədiyinin ümumi izahı:

  • DHT11 hava nəmini % ilə, temperaturu ° C ilə ölçür. Onunla əlaqə I2C bu tərəfindən idarə olunur.
  • BH1750, işığın intensivliyini lüksdə ölçür. Rabitə I2C avtobusu ilə idarə olunur
  • Torpaq nəm sensoru, MCP3008 tərəfindən Raspberry Pi üçün oxunaqlı bir rəqəmsal siqnala çevrilən rəqəmsal bir siqnal yaradır.
  • 16x2 LCD modulu, Pi ünvanlarını bir-birinin ardınca göstərir. Raspberry Pi -dən ekranın bit pinləri üçün bir sıra siqnallara çevirəcək bir siqnal alan bir PCF8574a -ya bağlıdır. LCD -dən olan E və RS pinləri birbaşa Pi -yə qoşulur. Potentio rezistoru ekranın parlaqlığını təyin edir.
  • Su nasosu aralarında olan bir röle ilə 220V enerji təchizatı/prizinə bağlıdır. Raspberry Pi, elektrik dövrəsini bağlamaq və nasosu açmaq üçün röleyə bir siqnal göndərə bilər.
  • LED şeridi 12V enerji təchizatına və elektrik cərəyanını dəyişdirən TIP 50 -yə (NPN tranzistoru) bağlıdır. 1k Ohm rezistor, Raspberry Pi -dən çəkilən gücü məhdudlaşdırmaq üçün istifadə olunur, əks halda çox xırtıldayan şəkildə qızardılacaq.

Addım 3: Raspberry Pi hazırlayın

Raspberry Pi hazırlayın
Raspberry Pi hazırlayın

Hələ biriniz yoxdursa, Raspberry Pi OS şəkillərindən birini SD karta qoymalısınız. Lite istifadə etməyi məsləhət görmürəm, çünki bu, əvvəldən problem yaratdı. Daha sonra Pi internetə qoşulduqda aşağıdakı əmrləri istifadə edərək Pi -nin güncəlləşdiyinə əmin olmalısınız:

  1. sudo apt-get yeniləməsi
  2. sudo apt-get yeniləmə

Bundan sonra, raspi-config və ya əmrlər vasitəsilə layihənin işləməsi üçün paketləri aktivləşdirə və ya quraşdıra bilərsiniz.

  • SPI
  • I2C
  • MySQL: növbəti addım
  • SocketIO: flask-socketio quraşdırın

Quraşdırıldıqdan sonra html, CSS, Javascript və Pythonda yazılmış lazımlı faylları əlavə edə bilərsiniz. Bütün kodlarımı github depomda tapa bilərsiniz.

Addım 4: Verilənlər bazası modeli - MySQL

Verilənlər bazası modeli - MySQL
Verilənlər bazası modeli - MySQL

Yuxarıda MariaDB vasitəsilə yerləşdirilən ERD diaqramını görə bilərsiniz. Yalnız MariaDB -ni quraşdırmaq üçün deyil, həm də Pi -nin qorunmasını təmin etmək üçün bu MariaDB quraşdırma təlimatına əməl etməyi məsləhət görürəm.

Anlamaq istəyən insanlar üçün verilənlər bazası aşağıdakı kimi işləyir:

Ölçmələr və aktuator keçidləri Metingen cədvəlində satır kimi saxlanılır.

  • metingId = Ölçmə/keçid satırının identifikatoru
  • deviceId = Cədvəldəki bu sətirdən məsul olan cihazın kimliyi
  • waarde = sensor ölçmə və ya aktuatorun keçid dəyəri

    • sensor: ölçmənin müvafiq vahidlərdə dəyəri
    • aktuatorlar: 0 = OFF və 1 = ON
  • commentaar = səhvlər kimi əlavə məlumat əlavə etmək üçün istifadə olunan şərhlər
  • datum = ölçü/keçidin baş verdiyi tarix və vaxt

Cihazın parametrləri Ayarlar bölməsində saxlanılır.

  • settingId = bu sətrin kimliyi və parametr dəyəri
  • deviceID = Müvafiq cihazın/sensorun identifikatoru
  • waarde = parametr dəyəri
  • type = hesabın növü, maksimum və ya minimumdur?

Nəhayət, Cihazlar cədvəlində sensorlar və aktuatorlar haqqında məlumatlar var.

  • deviceId = bu cədvəldəki cihazın kimliyi
  • naam = cihazın/komponentin adı
  • merk = marka
  • prijs = komponentin qiyməti
  • beschrijving = komponentin xülasəsi
  • eenheid = ölçülmüş dəyərlər üçün vahid
  • typeDevice = komponentin bir sensor və ya aktuator olduğunu təyin edir

Addım 5: Frontend: Veb serveri qurmaq

Frontend: Veb serveri qurmaq
Frontend: Veb serveri qurmaq

Pi, bu cihaz üçün veb serverini işə salmaq üçün Apache veb serverini quraşdırmanızı tələb edəcək. Bu aşağıdakı əmrlə edilə bilər:

sudo apt-get apache2 quraşdırın.

Bunu etdikdən sonra qovluğa gedə bilərsiniz:/var/www/html. Burada ön ucun bütün kodlarını yerləşdirməlisiniz. Daha sonra, IP ünvanına göz ataraq veb sayta daxil ola bilərsiniz.

Addım 6: Arxa plan

Arxa tərəfi işə salmaq üçün app.py faylını əl ilə və ya Pi -də bunun üçün bir xidmət yaradaraq işə salmalısınız, belə ki avtomatik olaraq işə düşür.

Gördüyünüz kimi, çox az sayda fayl var. Kodun aydın bir görünüşünə və təşkilatına sahib olmaq üçün bacardığım qədər kodu ayırdım.

Qısa bir izahat:

app.py: Verilənlər bazası, hardware kodu və arxa kodun birləşdirildiyi əsas fayl

config.py: databaseRepositories üçün konfiqurasiya faylı

Depolar: Məlumat anbarına daxil olmaq üçün

  • Köməkçi

    • devices_id: verilənlər bazasındakı cihaz məlumatlarını müəyyən etməyə kömək edəcək siniflər
    • lcd: PCF və LCD -ni işə salmaq üçün
    • Aktuatorlar: aktuatorların işləməsi üçün dərslər
    • Sensorlar: sensorlar üçün dərslər

Addım 7: LED şeridinin yerləşdirilməsi

LED şeridinin yerləşdirilməsi
LED şeridinin yerləşdirilməsi

LED şeridinin bir hissəsini kəsib istixana qutusunun üstünə yapışdırdım. İstifadə etdiyim zolaq birdən çox mövqedə kəsilə və yenidən bağlana bilər, buna görə daha çox yerin işıqlandırılmasına imkan verən birdən çox zolaq yerləşdirə və sonra tellər vasitəsilə yenidən bağlaya bilərsiniz.

Addım 8: Boruların yerləşdirilməsi

Boruların yerləşdirilməsi
Boruların yerləşdirilməsi

Borular bir neçə yolla yerləşdirilə bilərdi, amma mənim vəziyyətimdə onları digər elektronikadan mümkün qədər uzaq tutaraq suyun çirkabın içinə axmasına icazə verərək dibinin kənarına bağladım.

Addım 9: LCD -nin yerləşdirilməsi

LCD -nin yerləşdirilməsi
LCD -nin yerləşdirilməsi

Bir mişar maşını ilə qovşaq qutusunun qapağını kəsdim, ekranın keçə biləcəyi qədər böyük, lakin PCB -nin arxasında qalması üçün kifayət qədər kiçik bir açılış yaratdım. Daha sonra əyilmələrdən istifadə edərək qapağa bərkidilir.

LCD, Raspberry Pi -nin IP ünvanlarını göstərir və veb saytı gəzmək üçün hansı ünvandan istifadə edə biləcəyinizi öyrənməyə imkan verir.

Addım 10: Sensorların yerləşdirilməsi və LED şeridinin bağlanması

Sensorların yerləşdirilməsi və LED şeridinin bağlanması
Sensorların yerləşdirilməsi və LED şeridinin bağlanması
Sensorların yerləşdirilməsi və LED şeridinin bağlanması
Sensorların yerləşdirilməsi və LED şeridinin bağlanması

Dartma sxemlərindən istifadə edərək tellər arasındakı əlaqələri lehimlədim və izolyasiya etmək üçün istilik büzücü borulardan istifadə edərək rezistorları tellərin içərisinə qoydum.

Dönərləri bağlamaq üçün istixananın qapağının və dibinin yanlarından deliklər kəsildi, bunun vasitəsilə sensorlar və LED şeridi üçün telləri çəkdim.

Telləri funksiyasına görə qruplaşdırdım. Tellərdən və büzülmə borularından gələn gərginlik sensörləri tutdu. DHT11 üçün tellərdə yalnız yapışqan istifadə etməli oldum.

Addım 11: Pi -ni bağlayın

Pi -ni bağlamaq
Pi -ni bağlamaq
Pi -ni bağlamaq
Pi -ni bağlamaq
Pi -ni bağlamaq
Pi -ni bağlamaq

Tellərin daha sonra keçməsinə icazə vermək üçün qovşaq qutusunun yan tərəfindəki delikləri kəsdim.

Bundan sonra, çörək taxtasını (T-ayaqqabı, PCF8574a, MCP3008, tənzimlənən müqavimət və TIP50 ilə), röleyi və Raspberry Pi-ni iki tərəfli bantla örtülmüş qovşaq qutusunun altına qoydum. Enerji təchizatı çörək taxtasına uyğun gəlmədi, buna görə onu yan tərəfə qoymaq məcburiyyətində qaldım və onu taxtaya bağlamaq üçün tullanan tellərdən istifadə etdim.

Nəhayət, adapterləri, sensoru və aktuator tellərini telləri çörək taxtasına, Raspberry Pi və digər komponentlərə bağlayan deliklərdən çəkdim. Pompanın teli açıldı, beləliklə uclarını rölin içərisinə yerləşdirə bildim ki, açar kimi istifadə olunsun.

Addım 12: Su üçün bir qab hazırlayın

Su üçün bir qab hazırlamaq
Su üçün bir qab hazırlamaq

Üstünü bir qutu kəsici ilə kəsib daha yaxşı baxmaq üçün rəngləyərək 1l plastik su şüşəsindən su qabı düzəltdim. Sonra su nasosu içəriyə yerləşdirildi. Gəmilərlə ünsiyyət qurma qaydasına görə, su potensial olaraq borulardan keçə bilər, ancaq borunun yuxarı tutulması problemi həll edir.

Addım 13: Son nəticə

Yekun Nəticə
Yekun Nəticə
Yekun Nəticə
Yekun Nəticə

Gözlədiyiniz an. İndi kir və toxumları istixana qutusuna yerləşdirə və cihazın üzərinə götürə bilərsiniz. Veb saytından cihazın vəziyyətini izləyə və işıqlandırma və torpaq şəraiti üçün optimal dəyərləri təyin edə bilərsiniz.

Əvvəlcə torpağı əl ilə sulamağı məsləhət görürəm, çünki bəzi kirlər əvvəlcə olduqca quru ola bilər. Bəzi nasoslar da olduqca yavaşca suya bənzəyir, ancaq gözlədiyinizdən daha sürətli doldurulacağı üçün çox diqqətli olmalısınız. 80% -dən yuxarı doyma zəmini çox nəmləndirə bilər. Və torpaq nəm sensörünün kifayət qədər dərin olduğundan əmin olun.

Tövsiyə: