Yazılım ile Komple DIY Ahududu Pi Hava İstasyonu
Şubat ayının sonlarında bu yazıyı Raspberry Pi sitesinde gördüm.
//www.raspberrypi.org/school-weather-station -...
Okullar için Raspberry Pi Hava İstasyonları yaratmışlardı. Tamamen bir tane istedim! Ama o zaman (ve hala bunu yazarken inanıyorum) onlar kamuya açık değildir (belirli bir test grubunda olmanız gerekir). Ben istedim ve mevcut bir 3. parti sistemi için yüzlerce dolar bombardımanı yapmak istemiyordum.
Yani, iyi bir Eğitici kullanıcı gibi, kendim yapmaya karar verdim !!!
Biraz araştırma yaptım ve madeni temel alabileceğim iyi ticari sistemler buldum. Bazı Sensör veya Ahududu PI kavramlarına yardımcı olacak bazı iyi Talimatlar buldum. Hatta ödeme kiri olan bu siteyi, mevcut bir Maplin sistemini parçalamak zorunda kaldım:
//www.philpot.me/weatherinsider.html
Bir ay kadar hızlı ilerleyin ve temel bir çalışma sistemim var. Bu, ölçümlerimizi yapmak için sadece temel Raspberry Pi donanımı, kamera ve bazı çeşitli analog ve dijital sensörlere sahip eksiksiz bir Raspberry Pi Hava Durumu sistemidir. Önceden yapılmış anemometre veya yağmur ölçeri satın almak yok, biz kendimiz yapıyoruz! İşte özellikleri:
- Bilgileri RRD ve CSV'ye kaydeder, böylece manipüle edilebilir veya başka formatlara aktarılabilir / aktarılabilir.
- Tarihi yüksekler ve alçaklar, ayın evreleri ve gün doğumu / gün batımı gibi harika bilgiler almak için Hava Yeraltı API'sını kullanır.
- Dakikada bir fotoğraf çekmek için Raspberry Pi Kamerasını kullanır (daha sonra zaman atlaması yapmak için bunları 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).
Kayıt ve bilgileri görüntülemek için tüm yazılım bir Github'da, hatta bazı hata izleme, özellik istekleri de 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 dalmıştım ve bazı öğrenme acılarına da değindim. Umarım, okuyucu olarak bazı denemelerim ve sıkıntılarımdan öğrenebilirsiniz.
Adım 1: Malzemeler




Elektronik:
- 9 Reed Anahtarları (Rüzgar Yönü için 8, Yağmur Ölçer için 1, Hall Sensörü yerine rüzgar hızı için isteğe bağlı olarak 1), bunları kullandım: //amzn.to/2RExNkT
- 1 Hall Sensörü (Rüzgar Hızı için, anemometre denir) - //amzn.to/38tIQTK
- Sıcaklık (//amzn.to/2RIHf6H)
- Nem (çok sayıda Nem sensörü bir Sıcaklık sensörü ile birlikte gelir), DHT11'i kullandım: //amzn.to/2PapjQU
- Basınç (BMP de bir sıcaklık sensörü ile birlikte geldi), BMP180, //www.adafruit.com/product/1603 kullandım, bu ürün artık üretilmiyor, ancak BMP280 (// amzn. için / 2E8nmhi)
- Fotodirenç (//amzn.to/2seQFwd)
- GPS Çipi veya USB GPS (//amzn.to/36tZZv3).
- 4 güçlü mıknatıs (anemometre için 2, Yön için 1, Yağmur Ölçer için 1), şiddetle tavsiye edilen nadir toprak mıknatıslarını kullandım) (//amzn.to/2LHBoKZ).
- Bir avuç çeşitli dirençler, zamanla son derece kullanışlı olduğu kanıtlanan bu pakete sahibim: //www.sparkfun.com/products/10969
MCP3008 - Raspberry Pi için analogu dijital girişlere dönüştürmek için - //amzn.to/38rtLCa
Donanım
- Raspberry Pi - Başlangıçta 2'yi Kablosuz adaptörle kullandım, şimdi de güç adaptörlü 3 B + kitini aldım. (//Amzn.to/2P76Mop)
- Pi Kamera //amzn.to/2LGDFGz
- Sağlam bir 5V güç adaptörü (bu acı verici bir şekilde sinir bozucu olduğu ortaya çıktı, sonunda Adafruit'i aldım, aksi halde kamera çok fazla meyve suyu çekiyor ve Pi'yi asabiliyor / asacak, burada: //www.adafruit.com/products/501 )
Malzemeler:
- 2 Eksenel Rulmanlar (veya kaykay veya paten yatakları da çalışacaktır), bunları Amazon'da aldım: //amzn.to/2siMwra
- 2 Su Geçirmez Muhafazalar (Yerel büyük kutu deposundan bir elektrik muhafazası kullandım), çok önemli değil, sadece yeterli alana sahip olacak ve her şeyi koruyacak iyi bir kasa bulmanız gerekiyor).
- Bazı PVC Boru ve Uç Kapakları (çeşitli boyutlarda).
- PVC montaj braketleri
- Birkaç yaprak ince Pleksiglas (çok süslü bir şey).
- plastik soğukluklar
- mini vidalar (# 4 cıvata ve somun kullandım).
- 2 Plastik Noel Ağacı Süsleme - anemometre için kullanılan, yerel Hobi Lobisinde benim var.
- Küçük dübel
- Küçük kontrplak parçası.
Araçlar:
- Dremel
- Tutkal tabancası
- Havya
- Multimetre
- matkap
Adım 2: Ana Muhafaza - Pi, GPS, Kamera, Işık













Ana muhafazada PI, Kamera, GPS ve ışık sensörü bulunur. Su geçirmez olacak şekilde tasarlandığından, tüm kritik bileşenleri barındırır, ölçümler uzak muhafazadan alınır ve bir tanesi 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. Kilit nokta, her şeyi tutmak için yeterli alana sahip olmasıdır.
Kasam şunları içerir:
- Ahududu pi (soğukluklarda) - Bir WIFI çip gerekiyor, arka bahçeye Cat5e çalıştırmak istemiyorum!
- Kamera (ayrıca soğukluklarda)
- USB üzerinden bağlanan GPS yongası (bir kıvılcım FTDI kablosu kullanarak: //www.sparkfun.com/products/9718) - GPS enlem ve boylam sağlar, bu da güzel, ama daha da önemlisi, GPS'den doğru zaman alabilirim !
- Ana muhafazayı diğer sensörleri barındıran diğer kasaya bağlamak için iki ethernet / cat 5 jakı. Bu, iki kutu arasında kabloların olmasının elverişli bir yoluydu, kabaca 12 telim var ve iki cat5 16 olası bağlantı sağlıyor, bu yüzden etraftaki şeyleri genişletmek / değiştirmek için yerim var.
Kameranın görmesi için kasamın önünde bir pencere var. Bu pencereye sahip durum kamerayı korur, ancak kameradaki kırmızı ledin (fotoğraf çekerken) pleksiglastan yansıdığı ve fotoğrafta göründüğü sorunlar yaşadım. Bunu hafifletmek ve engellemek için bazı siyah bant kullandım (ve Pi ve GPS'den gelen diğer LED'leri), ancak henüz% 100 değil.
Adım 3: Sıcaklık, Nem, Basınç için 'Uzak Muhafaza'






Burada sıcaklık, nem ve basınç sensörlerinin yanı sıra yağmur göstergesi, rüzgar yönü ve rüzgar hızı sensörleri için "bağlantı" larý sakladým.
Her şey çok basit, buradaki pimler ethernet kabloları aracılığıyla Raspberry Pi'deki gerekli pimlere bağlanır.
Mümkün olan yerlerde Dijital sensörleri kullanmaya çalıştım ve daha sonra MCP 3008'e herhangi bir Analog eklendi, bu da benim ihtiyacım için fazlasıyla yeterli olan 8 analogu alıyor, ancak iyileştirilmesi / genişletilmesi 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 patladı, bu yüzden bazı devrelere bir Silikon Conformal Kaplama spreyi spreyi verdim (çevrimiçi veya Fry'ın Elektroniği gibi bir yer). Umarım metali herhangi bir nemden korumalıdır, ancak dikkatli olmanız ve bazı sensörlerde kullanmamanız gerekir.
Muhafazanın üstü, rüzgar hızı sensörünün oturduğu yerdir. Bu bir atıştı, rüzgar hızını veya rüzgar yönünü üstüne koyabilirdim, birinin diğerine göre önemli bir avantajı görmedim. Genel olarak binaların, çitlerin, engellerin ölçümlere müdahale etmediği her iki sensörün (rüzgar yönü ve hızı) yeterince yüksek olmasını istiyorsunuz.
4. Adım: Yağmur Ölçer








Gerçek ölçeri 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örebiliyordum ve bunun harika olacağını düşündüm. Genel olarak pleksiglas tamam çalıştı, ancak Gluegun, kauçuk sızdırmazlık maddesi ve genel kesme ve delme ile birleştirildiğinde, koruyucu filmle bile bozulmamış görünmüyor.
Anahtar noktaları:
- Sensör basit bir kamış anahtarı ve RaspberryPi kodunda bir düğmeye basın gibi muamele mıknatıs, zaman içinde kovalar basit saymak ve daha sonra dönüşüm "yağmur" daha sonra yapmak.
- Devirmek için yeterince su tutacak kadar büyük yapın, ancak bahşiş için çok fazla ihtiyacı yoktur. İlk geçişim, her tepsiyi yeterince büyük değil yaptım, böylece doldurulmadan ve kenardan önce süzülmeye başlayacaktı.
- Ayrıca kalan suyun ölçüme bir miktar hata ekleyebileceğini buldum. Yani, tamamen kuru bir tarafı doldurmak için X damla aldı ve bahşiş, ıslak kez doldurmak ve bahşiş Y damla (X daha az) aldı. Çok büyük bir miktar değil, kalibre etmeye ve iyi bir "1 yük ne kadarına eşit" ölçüm yapmaya çalışırken etkilendi.
- Dengeleyin, bir tarafı diğerinden çok daha ağırsa, alt uçlara tutkal tabancası yapıştırıcısı ekleyerek hile yapabilirsiniz, ancak mümkün olduğunca dengeli bir dengeye ihtiyacınız vardır.
- Fotoğrafta gördüğünüz gibi, kurulumdan önce test etmek ve düzgün bir şekilde dengelemek için bazı süngerler ve bir ahşap tutucu kullanarak küçük bir test ekipmanı kurdum.
Adım 5: Rüzgar Yönü











Bu basit bir rüzgar gülü idi. Elektronikleri Maplin sisteminden aldım:
//www.philpot.me/weatherinsider.html
Anahtar noktaları:
- Bu bir analog sensördür. Çeşitli dirençlerle birleştirilen sekiz reed anahtarı, çıkışı parçalara böler, böylece sensörün hangi koordinatta olduğunu belirleyebilirim. (Kavram bu talimatta açıklanmıştır: //www.instructables.com/id/Accessing-5-düğmesi ...
- Rüzgar gülü parçasını vidaladıktan sonra kalibre etmeniz gerekir, böylece "bu yön kuzeyi işaret eder".
- Ahşap ile bir test teçhizatı yaptım, böylece dirençleri kolayca açıp kapatabilirdim, bu da benim için tüm değer yelpazesini kapladı, bu çok yardımcı oldu!
- Bir itme yatağı kullandım, iyi oldu, eminim normal bir kaykay veya paten yatağı kadar iyi olurdu.
Adım 6: Rüzgar Hızı






Bu, bir kez daha Eğitilebilir topluluğa döndüm ve bu öğreticiyi buldum ve takip ettim:
//www.instructables.com/id/Data-Logging-Anemo ...
Anahtar noktaları:
- Salon sensörünü kullanabilir veya bir kamış sensörüne de geçebilirsiniz. Hall sensörü daha çok analog bir sensördür, bu yüzden bir düğmeye basma gibi dijital bir şekilde kullanıyorsanız, okuma / voltajın yeterli değil gerçek bir düğme basma gibi davranacak kadar yüksek olduğundan emin olmanız gerekir. .
- Kupanın boyutu çok önemlidir, bu yüzden çubuğun uzunluğu da önemlidir! Başlangıçta ping pong topları kullandım ve çok küçüklerdi. Onları da işe yaramayan uzun çubuklara koydum. Çok hayal kırıklığına uğradım ve daha sonra bu öğretici ile karşılaştım, Ptorelli açıklayan harika bir iş çıkardı ve orijinal tasarımım da işe yaramadığında bana yardımcı oldu.
Adım 7: Yazılım


Sensörlerden veri kaydetmek için yazılım Python'da yazılmıştır. Sensörler ve GPS'den bilgi almak için Adafruit ve diğer bazı üçüncü taraf Git kütüphanelerini kullandım. API bilgilerinin bir kısmını da çeken bazı cron işleri de vardır. Çoğu, docs / install_notes.txt adresindeki Git belgelerinde açıklanır / özetlenir
Web yazılımı, web dosyasında görüntülemek için PHP'de bulunurken, yapılandırma dosyaları için YAML ve elbette verileri depolamak ve grafik yapmak için RRD aracını kullanır.
Sensörlerin çekemediği ilginç verilerden bazılarını almak için Hava Yeraltı API'sını kullanır: Kayıt Hi's ve Lows, Ayın Evresi, Günbatımı ve Gündoğumu zamanları, API'larında gerçekten düzgün olduğunu düşündüğüm Tides var, ama sudan çok uzak olan Austin TX'de yaşıyorum.
Hepsi Github'da mevcuttur ve kendi sistemimi daha da hassaslaştırıp kalibre ettiğim için aktif olarak korunmaktadır ve şu anda kullanılmaktadır, böylece özellik isteklerini ve hata raporlarını 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. Eğer şimdiki zaman gündoğumu veya gün batımından itibaren + veya - 2 saat ise, o zaman sırasıyla gün doğumu ve gün batımı temalarını alacaksı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ı verilir.
Okuduğunuz için teşekkürler, Projelerimin Instagram ve YouTube Kanalımı kontrol etmekten daha fazla fotoğraf ve video görmek istiyorsanız.