İçindekiler:

Mini Serre: 11 Adım
Mini Serre: 11 Adım

Video: Mini Serre: 11 Adım

Video: Mini Serre: 11 Adım
Video: #11 Küçük Balkonumu Sebze Bahçesine Çevirdim (8 m²) 2024, Kasım
Anonim
Mini Serre
Mini Serre
Mini Serre
Mini Serre

Bir öğrenci olarak, bir şeyleri unutmak gibi kötü bir alışkanlığım var. Bu nedenle, belirli bir bitki türünü yetiştirmek istersem, genellikle onu unuturum ve onunla ilgilenecek kimse olmadığı için ölür.

Mini Serre ile bu sorunu çözmeye çalışacağım. Mini-Serre, Raspberry Pi üzerinde çalışan bir web sunucusuna kurulan farklı türden sensörlerin verilerini gönderen otomatik bir bahçe izleme sistemidir. Bu şekilde kullanıcı, nerede olursa olsun bir web sitesinde tesislerini izleyebilir. Bu konsept, Belçika Howest Kortrijk'te multimedya ve iletişim teknolojisinin ilk yılında bir final projesi olarak geliştiriliyor.

Adım 1: Malzemeler

Materyaller
Materyaller

Bu projeyi inşa etmek için aşağıdaki öğelere ihtiyacınız olacak:

Elektronik

  1. Ahududu pi 3 - kiti
  2. ekmek tahtası
  3. Erkekten erkeğe konektörler
  4. Erkek-dişi konektörler
  5. Dallas 18B20 (sıcaklık sensörü)
  6. Fotodirenç Algılama Işığa Duyarlı Işık Sensörü
  7. MCP3008
  8. Potansiyometre
  9. LCD ekran
  10. dirençler
  11. Mavi LED
  12. RGB LED'i

kasa:

13. Central Park kweekkas (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Ahşap plaka (kasa altı) 15. Çiviler 16. Vidalar

Aletler:

17. Çekiç 18. Testere 19. Tornavida 20. Matkap

Adım 2: Devreyi Yapmak

Devreyi Yapmak
Devreyi Yapmak
Devreyi Yapmak
Devreyi Yapmak

2. adımda bu proje için devre yapacağız. Çalışmasını istiyorsanız, ihtiyacınız olan mutlak minimum budur. Devrenin bir kopyasını çıkarmak için fritzing tablosunu ve diyagramı kullanın. 1. adımdaki tüm elektrikli malzemelere ihtiyacınız olan yer burasıdır.

Devre hakkında bilgi:

Işık sensörü ve toprak nem sensörü olan MCP3008'e bağlı 2 sensörümüz var. Sıcaklık sensörünün dijital bir çıkışı vardır ve Raspberry Pi'de bir GPIO pini kullanır.

Ekstra:

Ayrıca daha sonra dizüstü bilgisayarınıza bağlanmak zorunda kalmadan Raspberry Pi'ye bağlanmayı kolaylaştıracak bir LCD ekran da uyguladım. Bu gerekli değildir, ancak şiddetle tavsiye edilir.

3. Adım: Bir Veritabanı Oluşturun

Veritabanı Oluştur
Veritabanı Oluştur

Sensörlerden gelen verilerinizi organize ama aynı zamanda güvenli bir şekilde saklamanız çok önemlidir. Bu yüzden verilerimi bir veritabanında saklamaya karar verdim. Bu şekilde sadece bu veritabanına (kişisel bir hesapla) erişebilir ve düzenli tutabilirim. Yukarıdaki resimde veritabanımdan şemamı ve veritabanını bir veritabanı programına, örneğin MySQL'e aktarmak için bir dosyanın altında bulabilirsiniz.

Veritabanı programı Raspberry Pi'mizden veritabanımızın kendi kendine çalışabilmesi önemlidir. Raspberry Pi için MySQL veya MariaDB'yi indirerek bunu yapabilirsiniz. Veritabanını önce MySQL Workbench'te bilgisayarınızda yapmak istiyorsunuz. Ardından, bu veritabanını bağımsız bir dosya olarak dışa aktarırsınız. Şimdi Raspberry Pi'nizin veritabanına MySQL Workbench üzerinden bağlanın ve buradaki veritabanını geri yükleyin. Artık Raspberry Pi'nizde çalışan veritabanına sahipsiniz!

Adım 4: Sensör Verilerinin Veritabanına Yazılması

Veritabanı Raspberry Pi'nizde çalıştıktan sonra, sensörlerimizin verilerini içinde depolayabilmesini istiyoruz. Bunu 3 ayrı komut dosyası oluşturarak yapabiliriz (PyCharm'da yapılır). PyCharm'da bulunan güzel bir özellik, Pi'nize bağlanabilmeniz ve bu şekilde veritabanınıza erişip doğrudan yazabilmenizdir. Veriler ayrıca Raspberry Pi tarafından doğrudan okunur ve LED'ler ihtiyacınıza göre yanar.

Mavi LED yanıyor: Toprak yeterince nemli değil. RGB LED yeşil yanıyor: her şey yolunda. RGB LED kırmızı yanıyor: çok sıcak, biraz soğutmak için tavanı açın. RGB LED mavi yanıyor: çok soğuk, açıksa çatıyı kapatın.

Tüm komut dosyalarını github depomdan indirebilirsiniz:

Not: Veritabanları için kişisel oturum açma bilgilerimi kullandım, bu nedenle bunları kendinize uyacak şekilde değiştirmeniz gerekebilir.

Not: DB1 klasörü, veritabanınıza bağlanacak kodda içe aktarılan bir sınıf 'veritabanı' içerir.

Adım 5: IP'nizi Ekranda Görüntüleme

IP'nizi Ekranda Görüntüleme
IP'nizi Ekranda Görüntüleme

Ekran, Raspberry Pi'nizin çalıştığı IP adresini gösterir, bu şekilde Raspberry Pi'nize herhangi bir kablo olmadan kolayca bağlanabilirsiniz. Ayrıca bunun için pi'nizin IP'sini okuyan ve ekranda görüntüleyen bir komut dosyası yazdım (GPIO pinlerinizin eşleştiğini unutmayın, aksi halde çalışmayabilir). Raspberry Pi, başlangıçta bu betiği otomatik olarak çalıştırır. Bunu Raspberry Pi'nizdeki rc.local dosyasına bazı kodlar ekleyerek yapabilirsiniz. Buraya eklemek istediğiniz son kod satırından önce 'sudo nano /etc/rc.local' yazarak 'Python3.5 /home/user/filelocation &' yazarak ulaşabilirsiniz.

Komut dosyasını burada bulabilirsiniz:

Not: Sondaki '&', bu komut dosyasını bir kez çalıştıracak ve diğer komut dosyalarının da çalışabilmesi için hemen durduracaktır.

Adım 6: Sensörlerin Her 10 Dakikada Bir Ölçümü

Sensörlerin Her 10 Dakikada Bir Ölçümü
Sensörlerin Her 10 Dakikada Bir Ölçümü

Veritabanımızın sensör verileri tarafından 0.001 saniye boyunca doldurulmasını istemiyoruz, aksi takdirde bu, veritabanının gelen tüm verilere ayak uydurmasını zorlaştıracak ve çökebilir. Bu yüzden Raspberry Pi'deki 'crontab'a bir not ekledim. Crontab, zamanlanmış görevleri takip eden bir programdır, bu şekilde betiği her 10 dakikada bir sadece bir kez çalıştırabilirsiniz.

Nasıl kurulur:

Bunu, önce Raspberry Pi komut satırına 'crontab -e' yazarak ayarlayabilirsiniz, bu, crontab için düzenleyiciyi açar. Dosyanın en altına gidin ve her sensör için bir tane olmak üzere 3 satır ekleyin.

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

Not: '*/10', her ölçüm arasında olmasını istediğimiz 10 dakikadır. Ondan sonra yazdığım kod sizin çalıştırdığınız python versiyonu ve çalıştırmak istediğiniz dosya yani 3 farklı dosyadan oluştuğu için her sensör için bir satır yazmanız gerekiyor.

Adım 7: Web Sitesini Oluşturma

Web Sitesinin Yapılması
Web Sitesinin Yapılması

Web sitemi Atom adlı bir programda yaptım. Programı kullanmak çok basit ve benim gibi HTML ve CSS yazma konusunda oldukça yeniyseniz tavsiye edilebilir.

Kullanılan tüm kod ve görsellere bu bağlantıdan ulaşabilirsiniz:

Web sitesinin ön ucunu Visual Studio Code'da yaptım, böylece HTML ve CSS'yi kendiniz yapmayı planlamıyorsanız, dosyaları Atom yerine Visual Studio Code'da yeni bir klasöre ekleyebilirsiniz.

8. Adım: Arka Uç Oluşturma

Arka uç ve ön uç, az önce yaptığımız web sitesinde gerçekten bir şeyler yapan şeyler olacak. Back-end'de veri tabanına veri koymak yerine veri tabanımıza tekrar bağlanıyoruz. Şimdi farklı sensörlerden gelen tüm verileri okuyacağız ve Socket. IO'yu kullanarak bunları web sitesinde gösterebilmemiz için ön ucumuza göndereceğiz.

Arka uç kodunu burada bulabilirsiniz:

Not: Daha önce kullandığımız veritabanı sınıfını kullanıyoruz, bu yüzden bunu bu depoya dahil etmedim.

9. Adım: Ön Uç Oluşturma

Ön uç, HTML ve CSS kodumuzu JavaScript ve Arka Uç ile birleştirdiğimiz yerdir. Yazdığım JavaScript, Çalışıyor olması gereken arka uçla bağlantı kurmaya çalışıyor. Şimdi Back-end bize sensörlerden gelen tüm verileri gönderecek ve JavaScript'te HTML dosyasını düzenleyerek mevcut değerlerimize uyması için birkaç işlev yapabiliriz.

JavaScript burada bulunabilir:

Not: HTML'nizde JavaScript'inizin bulunduğu yerin doğru klasörüne bağlantı verdiğinizden emin olun, aksi takdirde çalışmayabilir.

Adım 10: Sera Yapımı

Sera Yapmak
Sera Yapmak
Sera Yapmak
Sera Yapmak

Brico'dan hazır bir paket satın aldım:

Paketle birlikte gelen adımları uygulamanız yeterlidir. Bu yapıldıktan sonra Raspberry Pi'mizi oraya koymaya pek hazır değiliz. Öncelikle Sera için bir 'zemin' veya dip yapmalıyız, bunu tahta bir plaka alarak ve sığdırmak için ne kadar büyük olması gerektiğini ölçerek yapabilirsiniz. Önce ahşap çerçeve yaptım, böylece ahşap plakanın üzerinde duracağı bir şey var.

Adım 11: Her Şeyi Bir Araya Getirmek

Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek
Her Şeyi Bir Araya Getirmek

Neredeyse hazırız! Sadece bu son adım ve gitmeye hazırsınız. Raspberry Pi'yi ve serayı alın, LED'leri geçirebilmek için birkaç delik açın, ekran için bir delik ve Raspberry Pi güç kaynağı için bir delik açın. Her şeyi seraya koyun, Pi'yi takın ve hazırsınız! Kendi seran var!

Önerilen: