İçindekiler:

Yazılım ile Komple DIY Raspberry Pi Hava İstasyonu: 7 Adım (Resimlerle)
Yazılım ile Komple DIY Raspberry Pi Hava İstasyonu: 7 Adım (Resimlerle)

Video: Yazılım ile Komple DIY Raspberry Pi Hava İstasyonu: 7 Adım (Resimlerle)

Video: Yazılım ile Komple DIY Raspberry Pi Hava İstasyonu: 7 Adım (Resimlerle)
Video: Grizu263 ekibi ile Uydu Izleme ve Yer Kontrol Istasyonu 2024, Kasım
Anonim
Yazılım ile Komple DIY Raspberry Pi Hava İstasyonu
Yazılım ile Komple DIY Raspberry Pi Hava İstasyonu
Yazılım ile Komple DIY Raspberry Pi Hava İstasyonu
Yazılım ile Komple DIY Raspberry Pi Hava İstasyonu

Şubat ayının sonlarında Raspberry Pi sitesinde bu yazıyı gördüm.

www.raspberrypi.org/school-weather-station-…

Okullar için Raspberry Pi Hava İstasyonları oluşturmuşlardı. Kesinlikle bir tane istedim! Ancak o sırada (ve bunu yazarken hala inanıyorum) halka açık değiller (seçkin bir test grubunda olmanız gerekir). Pekala, istedim ve mevcut bir 3. parti sistem için yüzlerce dolar harcamak istemedim.

Bu yüzden, iyi bir Eğitilebilir kullanıcı gibi, kendiminkini yapmaya karar verdim !!!

Biraz araştırma yaptım ve benimkini temel alabileceğim bazı iyi ticari sistemler buldum. Bazı Sensör veya Ahududu PI kavramlarına yardımcı olacak bazı iyi Talimatlar buldum. Hatta bu siteyi buldum, ki bu çok kötüydü, mevcut bir Maplin sistemini yıkmışlardı:

www.philpot.me/weatherinsider.html

Yaklaşık bir ay ileri sar ve temel bir çalışma sistemim var. Bu, yalnızca temel Raspberry Pi donanımına, kameraya ve ölçümlerimizi yapmak için çeşitli analog ve dijital sensörlere sahip eksiksiz bir Raspberry Pi Hava Durumu sistemidir. Önceden yapılmış anemometre veya yağmur ölçer satın almak yok, kendimiz yapıyoruz! İşte özellikleri:

  • Bilgileri RRD ve CSV'ye kaydeder, böylece manipüle edilebilir veya diğer formatlara aktarılabilir/içe aktarılabilir.
  • Tarihsel yükselişler ve düşüşler, ayın evreleri ve gün doğumu/gün batımı gibi harika bilgiler almak için Weather Underground API'sini kullanır.
  • Dakikada bir fotoğraf çekmek için Raspberry Pi Kamerayı kullanır (daha sonra bunları zaman atlamaları yapmak için kullanabilirsiniz).
  • Mevcut koşullar ve bazı geçmiş (son saat, gün, 7 gün, ay, yıl) verilerini gösteren web sayfalarına sahiptir. Web sitesi teması günün saatine göre değişir (4 seçenek: gün doğumu, gün batımı, gündüz ve gece).

Bilgileri kaydetmek ve görüntülemek için tüm yazılımlar bir Github'da, hatta bazı hata izleme, özellik istekleri de orada yaptım:

github.com/kmkingsbury/raspberrypi-weather…

Bu proje benim için harika bir öğrenme deneyimiydi, özellikle GPIO ile Raspberry Pi'nin yeteneklerine gerçekten daldım ve bazı öğrenme sorunlarına da ulaştım. Umarım siz okuyucu, bazı denemelerimden ve sıkıntılarımdan ders alabilirsiniz.

Adım 1: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler

Elektronik:

  • 9 Reed Switch (Rüzgar Yönü için 8, Yağmur Ölçer için 1, Hall Sensörü yerine isteğe bağlı olarak 1 rüzgar hızı için), bunları kullandım:
  • 1 Hall Sensörü (Rüzgar Hızı için, anemometre olarak adlandırılır) -
  • Sıcaklık (https://amzn.to/2RIHf6H)
  • Nem (birçok Nem sensörü Sıcaklık sensörüyle gelir), DHT11'i kullandım:
  • Basınç (BMP de içinde sıcaklık sensörü ile geldi), BMP180 kullandım, https://www.adafruit.com/product/1603, bu ürün artık üretilmiyor ama BMP280 ile eşdeğeri var (https://amzn.to/2E8nmhi)
  • Fotodirenç (https://amzn.to/2seQFwd)
  • GPS Çipi veya USB GPS (https://amzn.to/36tZZv3).
  • 4 adet güçlü mıknatıs (anemometre için 2, Yön için 1, Yağmur Ölçer için 1), Nadir toprak mıknatısları kullandım, şiddetle tavsiye edilir) (https://amzn.to/2LHBoKZ).
  • Bir avuç çeşitli direnç, zamanla son derece kullanışlı olduğu kanıtlanan bu pakete sahibim:
  • MCP3008 - Raspberry Pi için analog girişleri dijitale dönüştürmek için -

Donanım

  • Raspberry Pi - Başlangıçta 2'yi Kablosuz adaptörle kullandım, şimdi güç adaptörlü 3 B+ kitini de alıyorum. (https://amzn.to/2P76Mop)
  • Pi Kamera
  • Sağlam bir 5V güç adaptörü (bu çok can sıkıcı oldu, sonunda Adafruit'i aldım, aksi takdirde kamera çok fazla meyve suyu çeker ve Pi'yi asabilir/açabilir, işte burada: https://www.adafruit.com/products /501)

Malzemeler:

  • 2 Eksenel Rulman (veya kaykay veya tekerlekli paten rulmanları da işe yarar), bunları Amazon'dan aldım:
  • 2 Su Geçirmez Muhafaza (yerel büyük bir kutu mağazasından bir elektrik muhafazası kullandım), çok önemli değil, sadece yeterli alana sahip olacak ve her şeyi koruyacak iyi boyutta bir muhafaza bulmam gerekiyor).
  • Bazı PVC Boru ve Uç Kapakları (çeşitli ebatlarda).
  • PVC montaj braketleri
  • Birkaç ince pleksiglas yaprağı (çok süslü değil).
  • plastik zıtlıklar
  • mini vidalar (#4 cıvata ve somun kullandım).
  • 2 Plastik Yılbaşı Ağacı Süsleme - anemometre için kullanılır, benimkini yerel Hobi Lobisinden aldım.
  • Küçük dübel
  • Küçük kontrplak parçası.

Aletler:

  • Dremel
  • Tutkal tabancası
  • Havya
  • multimetre
  • Delmek

Adım 2: Ana Muhafaza - Pi, GPS, Kamera, Işık

Ana Muhafaza - Pi, GPS, Kamera, Işık
Ana Muhafaza - Pi, GPS, Kamera, Işık
Ana Muhafaza - Pi, GPS, Kamera, Işık
Ana Muhafaza - Pi, GPS, Kamera, Işık
Ana Muhafaza - Pi, GPS, Kamera, Işık
Ana Muhafaza - Pi, GPS, Kamera, Işık
Ana Muhafaza - Pi, GPS, Kamera, Işık
Ana Muhafaza - Pi, GPS, Kamera, Işık

Ana muhafaza, PI, Kamera, GPS ve ışık sensörünü barındırır. Tüm kritik bileşenleri barındırdığı için su geçirmez olacak şekilde tasarlanmıştır, ölçümler uzak muhafazadan alınır ve bu, elemanlara maruz kalacak/açık olacak şekilde tasarlanmıştır.

Adımlar:

Bir muhafaza seçin, bir elektrik bağlantı kutusu kullandım, çeşitli proje kutuları ve su geçirmez kılıflar da işe yarayacak. Anahtar nokta, her şeyi tutmak için yeterli alana sahip olmasıdır.

Muhafazam şunları içerir:

  • Ahududu pi (karşıtlıklarda) - Bir WIFI çipine ihtiyaç duyar, Cat5e'yi arka bahçeye götürmek istemezsiniz!
  • Kamera (ayrıca zıtlıklarda)
  • USB üzerinden bağlanan GPS çipi (kıvılcım FTDI kablosu kullanılarak: https://www.sparkfun.com/products/9718) - GPS enlem ve boylam sağlar, bu güzel ama daha da önemlisi, GPS!
  • Ana muhafazayı diğer sensörleri barındıran diğer muhafazaya bağlamak için iki ethernet/cat 5 jakı. Bu, iki kutu arasında giden kablolara sahip olmanın uygun bir yoluydu, kabaca 12 telim var ve iki cat5 16 olası bağlantı sağlıyor, bu yüzden işleri genişletmek/değiştirmek için yerim var.

Kasamın önünde, Kameranın dışarıyı görmesi için bir pencere var. Bu pencereli kasa kamerayı koruyor, ancak kameradaki kırmızı ledin (fotoğraf çekerken) pleksiglastan yansıdığı ve fotoğrafta göründüğü sorunları yaşadım. Bunu azaltmak için biraz siyah bant kullandım ve engellemeye çalıştım (ve Pi ve GPS'den gelen diğer LED'ler), ancak henüz %100 değil.

Adım 3: Sıcaklık, Nem ve Basınç için 'Uzaktan Muhafaza'

Sıcaklık, Nem, Basınç için 'Uzaktan Muhafaza'
Sıcaklık, Nem, Basınç için 'Uzaktan Muhafaza'
Sıcaklık, Nem, Basınç için 'Uzaktan Muhafaza'
Sıcaklık, Nem, Basınç için 'Uzaktan Muhafaza'
Sıcaklık, Nem, Basınç için 'Uzaktan Muhafaza'
Sıcaklık, Nem, Basınç için 'Uzaktan Muhafaza'

Sıcaklık, Nem ve Basınç sensörlerini ve ayrıca yağmur ölçer, rüzgar yönü ve rüzgar hızı sensörleri için "bağlantıları" burada sakladım.

Her şey çok basit, buradaki pinler ethernet kabloları aracılığıyla Raspberry Pi'deki gerekli pinlere bağlanır.

Mümkün olan yerlerde Dijital sensörleri kullanmaya çalıştım ve ardından MCP 3008'e herhangi bir Analog eklendi, ihtiyaçlarım için fazlasıyla yeterli olan 8'e kadar analog alıyor, ancak geliştirmek / genişletmek için yer veriyor.

Bu muhafaza havaya açıktır (doğru sıcaklık, nem ve basınç için olmalıdır). Alt delikler dışarı fırladı, bu yüzden bazı devrelere bir Silikon Conformal Kaplama spreyi spreyi verdim (internetten veya Fry's Electronics gibi bir yerden alabilirsiniz). Dikkatli olmanız ve bazı sensörlerde kullanmamanız gerekse de, umarım metali herhangi bir nemden korumalıdır.

Muhafazanın üst kısmı da rüzgar hızı sensörünün oturduğu yerdir. Bu bir şanstı, rüzgar hızını veya rüzgar yönünü en üste koyabilirdim, birinin diğerine göre önemli bir avantajını görmedim. Genel olarak, her iki sensörün de (rüzgar yönü ve hızı) binaların, çitlerin, engellerin ölçümleri engellemediği yerlerde yeterince yüksek olmasını istiyorsunuz.

Adım 4: Yağmur Göstergesi

Yağmur göstergesi
Yağmur göstergesi
Yağmur göstergesi
Yağmur göstergesi
Yağmur göstergesi
Yağmur göstergesi

Gerçek ölçüyü yapmak için çoğunlukla bu talimatı takip ettim:

www.instructables.com/id/Arduino-Weather-St…

Bunu pleksiglastan yaptım, böylece neler olduğunu görebildim ve havalı olacağını düşündüm. Genel olarak pleksiglas iyi çalıştı, ancak Gluegun, kauçuk dolgu macunu ve genel kesme ve delme ile birlikte koruyucu filmle bile o kadar bozulmamış görünmüyor.

Anahtar noktaları:

  • Sensör, RaspberryPi kodunda bir düğmeye basmak gibi işlem gören basit bir kamış anahtarı ve mıknatıstır, zaman içinde kovaları basit bir şekilde sayıyorum ve daha sonra dönüşümü "yağmur inçlerine" yapıyorum.
  • Devrilmeye yetecek kadar su tutacak kadar büyük yapın, ancak bahşiş vermek için çok fazla ihtiyaç duymayacak kadar büyük yapın. İlk geçişimde, her tepsiyi yeterince büyük yapmadım, böylece dolacak ve devrilmeden kenardan akmaya başlayacaktı.
  • Ayrıca kalan suyun ölçüme bir miktar hata ekleyebileceğini de buldum. Yani, tamamen kuruyken bir kenarı doldurmak ve eğmek için X damlası gerekiyordu, ıslandığında Y damlası (ki X'ten daha az) doldurup bahşiş verdi. Çok büyük bir miktar değil, ancak kalibre etmeye ve iyi bir "1 yük ne kadardır" ölçümü almaya çalışırken etkili oldu.
  • Dengeleyin, bir taraf diğerinden çok daha ağırsa alt uçlara tutkal tabancası ekleyerek hile yapabilirsiniz, ancak olabildiğince dengeli bir şekilde buna ihtiyacınız var.
  • Kurulumdan önce test etmek ve dengelemek için bazı süngerler ve bir ahşap tutucu kullanarak küçük bir test düzeneği kurduğumu fotoğrafta görebilirsiniz.

Adım 5: Rüzgar Yönü

Rüzgar yönü
Rüzgar yönü
Rüzgar yönü
Rüzgar yönü
Rüzgar yönü
Rüzgar yönü

Bu basit bir rüzgar gülüydü. Elektronikleri Maplin sistemine dayandırdım:

www.philpot.me/weatherinsider.html

Anahtar noktaları:

Bu bir analog sensördür. Çeşitli dirençlerle birleştirilmiş sekiz manyetik anahtar, çıkışı parçalara böler, böylece değere göre sensörün hangi koordinatta olduğunu belirleyebilirim. (Konsept bu talimatta açıklanmıştır:

  • Rüzgar gülü parçasını vidaladıktan sonra, "bu yön kuzeyi gösterecek" şekilde kalibre etmeniz gerekir.
  • Benim için tüm değerleri kapsayan dirençleri kolayca açıp kapatabilmem için ahşaptan bir test düzeneği yaptım, bu çok yardımcı oldu!
  • Bir baskı yatağı kullandım, iyi oldu, eminim normal bir kaykay veya tekerlekli paten yatağı da aynı derecede iyi olurdu.

Adım 6: Rüzgar Hızı

Rüzgar hızı
Rüzgar hızı
Rüzgar hızı
Rüzgar hızı
Rüzgar hızı
Rüzgar hızı

Bu, bir kez daha Eğitilebilir topluluğa döndüm ve bu talimatı buldum ve takip ettim:

www.instructables.com/id/Data-Logging-Anemo…

Anahtar noktaları:

  • Hall sensörünü kullanabilir veya bir reed sensörüne de geçebilirsiniz. Hall sensörü daha çok bir analog sensördür, bu nedenle onu bir düğmeye basmak gibi dijital bir şekilde kullanıyorsanız, okuma/voltajın, yeterli değil, gerçek bir düğmeye basmış gibi davranacak kadar yüksek olduğundan emin olmanız gerekir..
  • Bardağın boyutu çok önemlidir, çubuğun uzunluğu da öyle! Başlangıçta pinpon topları kullandım ve çok küçüklerdi. Onları da çalışmayan uzun çubuklara koydum. Çok hüsrana uğradım ve sonra bu talimatla karşılaştım, Ptorelli açıklamakta harika bir iş çıkardı ve orijinal tasarımım da işe yaramadığında bana yardımcı oldu.

7. Adım: Yazılım

Yazılım
Yazılım
Yazılım
Yazılım

Sensörlerden gelen verileri kaydetmek için yazılım Python'da yazılmıştır. Sensörlerden ve GPS'ten bilgi almak için Adafruit ve diğerlerinden bazı diğer 3. taraf Git kitaplıklarını kullandım. Bazı API bilgilerini de çeken bazı cron işleri de vardır. Çoğu, docs/install_notes.txt adresindeki Git belgelerinde açıklanmıştır/ana hatlarıyla belirtilmiştir.

Web yazılımı, web sayfasında görüntülemek için PHP'dedir ve aynı zamanda yapılandırma dosyaları için YAML'yi ve tabii ki verileri depolamak ve grafiğini çizmek için RRD aracını kullanır.

Sensörlerin çekemediği bazı ilginç verileri elde etmek için Weather Underground API'yi kullanır: Merhaba ve Alçakları, Ayın Evresini, Gün Batımını ve Gün Doğumu zamanlarını kaydedin, ayrıca API'larında gerçekten temiz olduğunu düşündüğüm Gelgitler var, ama sudan çok uzak olan Austin TX'de yaşıyorum.

Hepsi Github'da mevcut ve aktif olarak korunuyor ve şu anda kendi sistemimi daha da hassaslaştırıp kalibre ettiğim için kullanılıyor, böylece özellik istekleri ve hata raporları da gönderebilirsiniz.

Yazılım, günün saatine bağlı olarak bir tema değişikliğinden geçer, 4 aşama vardır. Geçerli saat gün doğumu veya gün batımından + veya - 2 saat sonra ise sırasıyla gün doğumu ve gün batımı temalarını alırsınız (şu anda sadece farklı bir arka plan, muhtemelen gelecekte farklı yazı tipi/kenarlık renkleri yapacağım). Aynı şekilde bu aralıkların dışında gündüz veya gece temasını verir.

Okuduğunuz için teşekkürler, Instagram ve YouTube Kanalıma göz atmak yerine projelerimin daha fazla fotoğrafını ve videosunu görmek isterseniz.

Pi/e Günü Yarışması
Pi/e Günü Yarışması
Pi/e Günü Yarışması
Pi/e Günü Yarışması

Pi/e Günü Yarışmasında Üçüncülük Ödülü

Önerilen: