Mündəricat:

Mini Serre: 11 addım
Mini Serre: 11 addım

Video: Mini Serre: 11 addım

Video: Mini Serre: 11 addım
Video: #11 Growing a Small Vegetable Garden on my Balcony (8sqm) (2020) 2024, Noyabr
Anonim
Mini Serre
Mini Serre
Mini Serre
Mini Serre

Bir tələbə olaraq bir şeyi unutmaq pis bir vərdişim var. Bu səbəbdən, müəyyən bir bitki növü yetişdirmək istəsəm, adətən onu unuduram və ona qulluq edəcək kimsə olmadığı üçün ölür.

Mini-Serre ilə bu problemi həll etməyə çalışacağam. Mini-Serre, Raspberry Pi üzərində işləyən bir veb serverə quraşdırılmış müxtəlif növ sensorlar haqqında məlumat göndərən avtomatlaşdırılmış bağçılıq monitorinq sistemidir. Bu yolla istifadəçi harada olursa olsun bir veb saytında bitkilərini izləyə bilər. Bu konsepsiya, multimediya və kommunikasiya texnologiyasının ilk ilində, Belçikanın Howest Kortrijk şəhərində son bir layihə olaraq hazırlanır.

Addım 1: Materiallar

Materiallar
Materiallar

Bu layihəni qurmaq üçün aşağıdakı maddələrə ehtiyacınız olacaq:

Elektronika

  1. Moruq pi 3 - dəsti
  2. Çörək lövhəsi
  3. Kişi-kişi bağlayıcıları
  4. Kişi-qadın bağlayıcıları
  5. Dallas 18B20 (temperatur sensoru)
  6. Fotorezistor Algılama Fotosensitiv İşıq Sensoru
  7. MCP3008
  8. Potensialiometr
  9. LCD ekran
  10. Rezistorlar
  11. Mavi LED
  12. RGB LED

Korpus:

13. Central Park kweekkas (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Taxta lövhə (qutunun alt hissəsi) 15. Dırnaqlar 16. Vintlər

Alətlər:

17. Çəkic 18. Testere 19. Tornavida 20. Matkap

Addım 2: Dövrə qurun

Dövr qurmaq
Dövr qurmaq
Dövr qurmaq
Dövr qurmaq

2 -ci addımda bu layihənin dövrəsini edəcəyik. İşləmək istəsəniz ehtiyacınız olan mütləq minimumdur. Dövrənin bir nüsxəsini çıxarmaq üçün fritzing masa və diaqramdan istifadə edin. 1 -ci addımdakı bütün elektrik materiallarına ehtiyacınız budur.

Dövrə haqqında məlumat:

MCP3008 -ə qoşulmuş işıq sensoru və torpaq nəmliyi sensoru olan 2 sensorumuz var. İstilik sensoru rəqəmsal bir çıxışa malikdir və Raspberry Pi üzərində GPIO pinindən istifadə edir.

Əlavə:

Laptopunuza qoşulmaq məcburiyyətində qalmadan Raspberry Pi-yə qoşulmağı daha da asanlaşdıracaq bir LCD displey tətbiq etdim. Bu lazım deyil, amma çox tövsiyə olunur.

Addım 3: Verilənlər bazası yaradın

Verilənlər bazası yaradın
Verilənlər bazası yaradın

Sensorlardan məlumatlarınızı mütəşəkkil, eyni zamanda etibarlı bir şəkildə saxlamaq çox vacibdir. Bu səbəbdən məlumatlarımı bir verilənlər bazasında saxlamağa qərar verdim. Bu yolla yalnız bu verilənlər bazasına daxil ola bilərəm (şəxsi hesabımla) və mütəşəkkil saxlaya bilərəm. Yuxarıdakı şəkildə veritabanımı bir verilənlər bazası proqramına, məsələn MySQL -ə ixrac etmək üçün mənim verilənlər bazamdan və bir faylın altından sxemimi tapa bilərsiniz.

Verilənlər bazası proqramı Raspberry Pi-dən verilənlər bazamızın tək başına işləyə bilməsi vacibdir. Bunu Raspberry Pi üçün MySQL və ya MariaDB yükləyərək edə bilərsiniz. Əvvəlcə verilənlər bazasını kompüterinizdə MySQL Workbench -də etmək istəyirsiniz. Sonra bu verilənlər bazasını müstəqil bir fayl olaraq ixrac edirsiniz. İndi MySQL Workbench vasitəsilə Raspberry Pi məlumat bazanıza qoşulun və burada verilənlər bazasını bərpa edin. İndi Raspberry Pi -də işləyən verilənlər bazanız var!

Addım 4: Sensor məlumatlarını verilənlər bazasına yazmaq

Verilənlər bazası Raspberry Pi -də işlədikdən sonra sensorlarımızın məlumatlarını orada saxlaya bilmələrini istəyirik. Bunu 3 ayrı skript yaratmaqla edə bilərik (PyCharmda olduğu kimi). PyCharm -a daxil olan gözəl bir xüsusiyyət, Pi ilə əlaqə qura bilməyinizdir və bu yolla verilənlər bazanıza daxil olub birbaşa yaza bilərsiniz. Məlumatlar da birbaşa Raspberry Pi tərəfindən oxunur və LED -lər ehtiyacınıza uyğun olaraq yanacaq.

Mavi LED yanır: Torpaq kifayət qədər nəm deyil. RGB LED yaşıl yanır: hər şey yaxşıdır. RGB LED qırmızı yanır: çox isti, bir az sərinləmək üçün tavanı açın. RGB LED mavi yanır: çox soyuqdur, açıqdırsa damı bağlayın.

Bütün skriptləri github depomdan yükləyə bilərsiniz:

Qeyd: Şəxsi giriş məlumatlarımı verilənlər bazası üçün istifadə etdim, buna görə özünüzə uyğun olaraq dəyişdirə bilərsiniz.

Qeyd: DB1 qovluğunda, verilənlər bazanıza qoşulacaq koda daxil edilmiş bir sinif 'verilənlər bazası' var.

Addım 5: IP -ni ekranda göstərin

Ekranda IP ünvanınızın göstərilməsi
Ekranda IP ünvanınızın göstərilməsi

Ekranda Raspberry Pi-nin işlədiyi IP ünvanı göstərilir, beləliklə Raspberry Pi-yə heç bir tel olmadan asanlıqla qoşula bilərsiniz. Bunun üçün pi-nin IP-ni oxuyan və onu ekranda göstərən bir skript yazdım (unutmayın ki, GPIO pinləriniz uyğun gəlir, əks halda işləməyəcək). Raspberry Pi bu skriptin işə salınması zamanı avtomatik işləyir. Bunu Raspberry Pi -dəki rc.local faylına bir neçə kod əlavə edərək edə bilərsiniz. 'Python3.5/home/user/filelocation &' əlavə etmək istədiyiniz son kod sətrindən əvvəl 'sudo nano /etc/rc.local' yazaraq ora gedə bilərsiniz.

Ssenarini burada tapa bilərsiniz:

Qeyd: '&' sonunda, bu, skriptin bir dəfə işləməsinə səbəb olacaq və digər skriptlərin də işləyə bilməsi üçün dərhal onu dayandıracaq.

Addım 6: Sensorların Hər 10 Dəqiqədə Ölçülməsi

Sensorların hər 10 dəqiqədə bir ölçülməsi
Sensorların hər 10 dəqiqədə bir ölçülməsi

Verilənlər bazamızın heç vaxt 0.001 saniyə ərzində sensordata ilə doldurulmasını istəmirik, əks halda bu, verilənlər bazasının daxil olan bütün məlumatlara uyğun gəlməsini çətinləşdirəcək və çökə bilər. Bu səbəbdən Raspberry Pi üzərindəki 'crontab'a bir parça əlavə etdim. Crontab, planlaşdırılmış vəzifələri izləyən bir proqramdır, buna görə də hər 10 dəqiqədə bir dəfə skriptdən istifadə edə bilərsiniz.

Necə qurulacaq:

Bunu əvvəlcə Raspberry Pi əmr satırına 'crontab -e' yazaraq qura bilərsiniz, bu redaktoru crontab üçün açır. Faylın altına enin və hər bir sensora bir ədəd olmaqla 3 sətir əlavə edin.

' */10 * * * * python3.5/home/user/filepath/sensor1'

Qeyd: '*/10' hər ölçü arasında olmaq istədiyimiz 10 dəqiqədir. İşlətdiyiniz python versiyası və işlətmək istədiyiniz fayl olduğundan sonra yazdığım kod 3 fərqli fayldan mövcud olduğu üçün hər sensora bir sətir yazmalısınız.

Addım 7: Veb saytın hazırlanması

Veb saytın hazırlanması
Veb saytın hazırlanması

Veb saytımı Atom adlı bir proqramda hazırladım. Proqramdan istifadə etmək çox sadədir və mənim kimi HTML və CSS yazmaqda çox yenisinizsə məsləhət görülür.

İstifadə olunan bütün kodları və şəkilləri bu linkdən tapa bilərsiniz:

Veb saytın ön hissəsini Visual Studio Kodunda hazırladım, buna görə HTML və CSS-ni özünüz etməyi planlaşdırmırsınızsa, faylları Atom əvəzinə Visual Studio Kodunda yeni bir qovluğa əlavə edə bilərsiniz.

Addım 8: Arxa ucun yaradılması

Arxa və ön tərəf, yeni qurduğumuz veb saytında həqiqətən bir şeyin baş verməsinə səbəb olacaq şeylər olacaq. Arxa planda məlumat bazasına məlumat qoymaq əvəzinə bir daha verilənlər bazamıza qoşuluruq. İndi fərqli sensorlardakı bütün məlumatları oxuyacağıq və Socket. IO-dan istifadə edərək veb saytımızda göstərə biləcəyimiz üçün ön ucumuza göndərəcəyik.

Kodu arxa ucunda tapa bilərsiniz:

Qeyd: Əvvəllər istifadə etdiyimiz verilənlər bazası sinifindən istifadə edirik, buna görə də bu depoya daxil etmədim.

Addım 9: Ön ucun yaradılması

HTML və CSS kodlarımızı JavaScript və Back-end ilə birlikdə birləşdirdiyimiz yer. Yazdığım JavaScript, Çalışan olmalı olan arxa ucu ilə əlaqə qurmağa çalışır. İndi Back-end sensorlardakı bütün məlumatları bizə göndərəcək və JavaScript-də HTML faylını düzəldən bir neçə funksiya hazırlaya bilərik ki, indiki dəyərlərimizə uyğun olsun.

JavaScript burada tapa bilərsiniz:

Qeyd: HTML -də JavaScript -in olduğu yerin düzgün qovluğuna keçid etdiyinizə əmin olun, əks halda işləməyəcək.

Addım 10: İstixana hazırlayın

İstixana hazırlanması
İstixana hazırlanması
İstixana hazırlanması
İstixana hazırlanması

Bricodan əvvəlcədən hazırlanmış bir paket aldım:

Yalnız paketlə birlikdə gələn addımları izləyin. Bunu etdikdən sonra Raspberry Pi -ni oraya qoymağa tam hazır deyilik. Əvvəlcə İstixana üçün bir 'mərtəbə' və ya alt düzəltməliyik, bunu taxta bir plaka götürüb uyğunlaşdırmaq üçün nə qədər böyük olduğunu ölçərək edə bilərsiniz. Əvvəlcə taxta çərçivə düzəltdim, buna görə taxta plakanın üzərində dayanacaq bir şey var.

Addım 11: Hər şeyi bir yerə yığın

Hər şeyi bir yerə yığmaq
Hər şeyi bir yerə yığmaq
Hər şeyi bir yerə yığmaq
Hər şeyi bir yerə yığmaq
Hər şeyi bir yerə yığmaq
Hər şeyi bir yerə yığmaq

Demək olar ki, hazırıq! Yalnız bu son bir addım və getməyə hazırsınız. Raspberry Pi və istixananı götürün, LEDləri içəri keçirə biləcəyiniz üçün bir neçə deşik düzəldin, ekran üçün bir çuxur və Raspberry Pi enerji təchizatı üçün bir deşik düzəldin. Hər şeyi istixana qoyun, Pi -yə qoşun və hər şey hazırdır! Öz istixananız var!

Tövsiyə: