Mündəricat:
- Addım 1: Təchizat
- Addım 2: Doldurma Şeması
- Addım 3: Raspberry Pi hazırlayın
- Addım 4: Verilənlər bazası modeli - MySQL
- Addım 5: Frontend: Veb serveri qurmaq
- Addım 6: Arxa plan
- Addım 7: LED şeridinin yerləşdirilməsi
- Addım 8: Boruların yerləşdirilməsi
- Addım 9: LCD -nin yerləşdirilməsi
- Addım 10: Sensorların yerləşdirilməsi və LED şeridinin bağlanması
- Addım 11: Pi -ni bağlayın
- Addım 12: Su üçün bir qab hazırlayın
- Addım 13: Son nəticə
Video: Avtomatlaşdırılmış Bitki Potu - Kiçik Bağ: 13 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
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
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ı
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
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:
- sudo apt-get yeniləməsi
- 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
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
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 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 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
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ı
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
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
Ü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ə
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ə:
Avtomatlaşdırılmış Uşaq Mandalorian: 10 Addım (Şəkillərlə birlikdə)
Avtomatik Mandalorian Uşaq: Bu yeni oyuncağı aldınız (özünüzdən başqa kimsə üçün) və onu " aktiv " vahidi zədələmədən göstərin. Təəssüf ki, yalnız başını vurduqda işləyir
Sadə Avtomatlaşdırılmış Model Dəmir Yolu Layihəsi - Arduino idarə olunur: 11 addım (şəkillərlə birlikdə)
Sadə Avtomatlaşdırılmış Model Dəmir Yolu Layihəsi | Arduino Controlled: Arduino mikro nəzarətçiləri, xüsusən də avtomatlaşdırma ilə məşğul olduqda, model dəmiryoluna əla bir əlavədir. Arduino ilə model dəmir yolu avtomatlaşdırmasına başlamaq üçün sadə və asan bir yoldur. Beləliklə, heç bir uzatmadan, başlayaq
Açıq havada və ya içəridə Raspberry Pi üzərində qurulmuş Avtomatlaşdırılmış Bağ Sistemi - MudPi: 16 Addım (Şəkillərlə birlikdə)
Açıq və ya qapalı üçün Raspberry Pi üzərində qurulmuş Avtomatlaşdırılmış Bağ Sistemi - MudPi: Bağçılıqdan xoşunuz gəlir, amma onu saxlamağa vaxt tapa bilmirsiniz? Bəlkə bir az susamış və ya hidroponikinizi avtomatlaşdırmaq üçün bir yol axtaran ev bitkiləriniz varmı? Bu layihədə bu problemləri həll edəcəyik və əsaslarını öyrənəcəyik
Avtomatik Ağıllı Bitki Potu - (DIY, 3D Çaplı, Arduino, Özünü Suvarma, Layihə): 23 Addım (Şəkillərlə)
Avtomatik Ağıllı Bitki Potu - (DIY, 3D Çaplı, Arduino, Özünü Suvarma, Layihə): Salam, Bəzən bir neçə gün evdən uzaqlaşanda və ya həqiqətən məşğul olanda ev bitkiləri (haqsız olaraq) suvarılmadıqları üçün əziyyət çəkirlər. ehtiyac var. Bu mənim həllimdir: Daxili su anbarı olan bir Ağıllı Bitki Potu. Sənso
FEDORA 1.0, Ağıllı Çiçək Potu: 8 Addım (Şəkillərlə birlikdə)
FEDORA 1.0, Ağıllı Çiçək Potu: FEDORA və ya Çiçək Ətrafını Dekorasiya Edən Üzvi Nəticə Analizatoru, qapalı bağçılıq üçün ağıllı bir çiçək qabıdır. FEDORA yalnız bir çiçək qabı deyil, zəngli saat, simsiz musiqi pleyeri və kiçik bir robot dostu kimi çıxış edə bilər. Əsas xüsusiyyət