İçindekiler:
- Adım 1: Malzemeler
- Adım 2: Devreyi Yapmak
- 3. Adım: Bir Veritabanı Oluşturun
- Adım 4: Sensör Verilerinin Veritabanına Yazılması
- Adım 5: IP'nizi Ekranda Görüntüleme
- Adım 6: Sensörlerin Her 10 Dakikada Bir Ölçümü
- Adım 7: Web Sitesini Oluşturma
- 8. Adım: Arka Uç Oluşturma
- 9. Adım: Ön Uç Oluşturma
- Adım 10: Sera Yapımı
- Adım 11: Her Şeyi Bir Araya Getirmek
Video: Mini Serre: 11 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
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
Bu projeyi inşa etmek için aşağıdaki öğelere ihtiyacınız olacak:
Elektronik
- Ahududu pi 3 - kiti
- ekmek tahtası
- Erkekten erkeğe konektörler
- Erkek-dişi konektörler
- Dallas 18B20 (sıcaklık sensörü)
- Fotodirenç Algılama Işığa Duyarlı Işık Sensörü
- MCP3008
- Potansiyometre
- LCD ekran
- dirençler
- Mavi LED
- 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
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
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
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ü
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 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ı
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
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:
Akıllı Motosiklet HUD Prototipi (adım adım Navigasyon ve Çok Daha Fazlası): 9 Adım
Akıllı Motosiklet HUD Prototipi (adım adım Navigasyon ve Çok Daha Fazlası): Merhaba !Bu Talimatlar, motosiklet kasklarına monte edilmek üzere tasarlanmış bir HUD (Heads-Up Display) platformunu nasıl tasarladığımın ve inşa ettiğimin hikayesidir. "Haritalar" yarışması bağlamında yazılmıştır. Maalesef tamamen bitiremedim
Arduino Araba Geri Geri Park Uyarı Sistemi - Adım Adım: 4 Adım
Arduino Araba Geri Geri Park Uyarı Sistemi | Adım Adım: Bu projede Arduino UNO ve HC-SR04 Ultrasonik Sensör kullanarak basit bir Arduino Araba Geri Park Sensörü Devresi tasarlayacağım. Bu Arduino tabanlı Araba Ters uyarı sistemi, Otonom Navigasyon, Robot Mesafesi ve diğer menzil r
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)
PCB Tasarımlı Wemos D1 Mini Kullanarak Adım Adım Ev Otomasyonu: 4 Adım
PCB Tasarımlı Wemos D1 Mini Kullanarak Adım Adım Ev Otomasyonu: PCB Tasarımlı Wemos D1 Mini Kullanarak Adım Adım Ev Otomasyonu Birkaç hafta önce rootsaid.com'da hobiler arasında iyi karşılanan ve "Raspberry Pi kullanarak Ev Otomasyonu" adlı bir öğretici yayınladık. üniversite öğrencileri. Sonra bir üyemiz geldi
Akıllı Serre: 7 Adım
Smart Serre: Bu derste size Raspberry Pi kullanarak nasıl tam otomatik bir kış bahçesi yapabileceğinizi göstereceğim.Haydi başlayalım