İçindekiler:
- Adım 1: SD Kartı ve Raspberry PI'yi ayarlayın
- Adım 2: WeatherHAT Kitaplıklarını Kurun
- 3. Adım: Weather-api ve GetWeather Komut Dosyasını Yükleme
- 4. Adım: Şunun İçin Güncellenen Bilgiler: Openweathermap API
Video: Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
* 2019'da Yahoo API'sini değiştirdi ve bu çalışmayı durdurdu. Değişiklikten habersizdim. Eylül 2020'de bu proje OPENWEATHERMAP API'sini kullanacak şekilde güncellendi Aşağıdaki güncellenmiş bölüme bakın, ancak bu bilgilerin geri kalanı hala iyidir. Aradığınız için teşekkürler ve Yahoo değişikliği hakkında beni bilgilendirdiğiniz için teşekkürler. *
Geçenlerde bir Cyntech WeatherHAT satın aldım, ancak bunun için yazılım eksikliğinden dolayı biraz hayal kırıklığına uğradım.
HAT, yağmur damlası şeklinde 6 mavi LED, şimşek şeklinde 6 turuncu LED, bulut şeklinde 6 beyaz LED ile iyi yapılandırılmış gibi görünüyor. 1 (RGB LED olduğuna inandığım şey) SUN için - turuncu gösteriyor (bu yüzden RGB olduğu konusunda yanılıyor olabilirim). Ve 6 WS2812 LED (Bunlar RGB:-))
Cyntech'in bir başlangıç kılavuzu vardır ve bu bile iyidir - HAT'ı kurmak ve kullanmak kolaydır.
Bu yüzden gerçekten herhangi bir yazılım görmediğime şaşırdım (Cyntech tarafından sağlanan demo dışında). Bunu gerçekten kullanan birini bulamamak da aynı derecede şaşırtıcıydı - Belki insanlar sıcaklıkları ve tüm bu tür bilgileri içeren "süslü" bir ekran istiyorlar. Benim için birkaç LED'e bakıp bilmek güzel - Yağmur Yağıyor, Fırtına veya Bulutlu - Bu noktada daha fazla bilgiye ihtiyacım olursa tabletime veya telefonuma bakabilirim.:-)
Biraz daha - bu gerçekten python'u ilk kullanışım, bunda hiçbir şekilde iyi değilim. Ve eminim ki python'u gerçekten bilen insanlar bana bunu yapmanın daha iyi bir yolunu söyleyecektir.
Başlayalım:
Bir SD karta ihtiyacımız var (en az 8 gb)
Bir Ahududu PI (Sıfır W kullanıyorum) internet erişimine sahip olması gerekiyor.
ve Cyntech weatherHAT'a ihtiyacımız var
Bir Raspberry PI Zero W kullanıyorsanız, bir dizi başlığı da tahtaya lehimleyebilmeniz gerekir.
Aksi takdirde gereken beceriler, yazılımı kullanma ve SD kartı kurma becerisidir.
Adım 1: SD Kartı ve Raspberry PI'yi ayarlayın
En son Raspbian'ı indirmeniz gerekecek (Raspbian Stretch Mart 2018 (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Masaüstü sürümünü kullandım, kurulumumu başsız çalıştırıyor olsam bile ve çoğu şeyi ssh üzerinden CLI'den (komut satırı arayüzü) yapıyorum.
Burada bulunan kurulum kılavuzunu izleyin:
www.raspberrypi.org/documentation/installa…
Etcher tamamlandıktan sonra SD kartı çıkarın ve bilgisayara yeniden takın.
* Bu adımı gerçekten yalnızca başsız bir kurulum yapmayı planlıyorsanız yapmanız gerekir
Raspberry PI'da SD kartı kullanmadan önce SSH ve WIFI kurulumu yapmamız gerekiyor. Kartın BOOT bölümünde tırnak işaretleri olmadan "ssh" adlı bir dosya oluşturun. o dosyada hiçbir şey olmamalı. PI önyüklendiğinde o dosyayı görecek ve SSH'yi açacaktır.
Ayrıca "wpa_supplicant.conf" adında bir dosya oluşturmamız gerekiyor. Bu dosyayı wifi ayarlarınızla düzenlememiz gerekiyor.
Bunun gibi görünmelidir:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1 ağ={ ssid="wifiSSID" psk="wifiparolanız" scan_ssid=1 }
* Bunu gerçekten yalnızca başsız bir kurulum yapmayı planlıyorsanız yapmanız gerekir
Bu yapıldıktan sonra, SD kartı güvenli bir şekilde çıkarın ve Raspberry PI'yi takın (PI'de güç olmadığından emin olun).
WeatherHAT'ı takın ve Raspberry PI'yi açın.
Adım 2: WeatherHAT Kitaplıklarını Kurun
Bu adım için bulunan Başlarken Kılavuzunu takip edeceğiz.
guides.cyntech.co.uk/weatherhat/getting-sta…
Başsız bir kurulum yapıyorsanız, [email protected] ssh yapmak isteyeceksiniz.
Bir ssh istemciniz yoksa - PUTTY iyi bir tanesidir.
Bir klavye ve monitör kullanıyorsanız - yukarıdaki kılavuz takip etmek için iyi bir kılavuzdur, sizi bir GUI masaüstünde başlatır.
Buradaki önemli adımlar, her birinin bağımlılığıyla birlikte WS281x kitaplığını ve WeatherHAT kitaplıklarını yüklemektir.
sudo apt-get güncellemesi
sudo apt-get upgrade -y sudo apt-get install build-essential python-dev git scons swig python-smbus git klonu https://github.com/jgarff/rpi_ws281x.git > git klon https://github.com/ jgarff/rpi_ws281x.git > cd rpi_ws281x scons cd python sudo python setup.py kurulumu
Şimdi I2C'nin açık olduğundan emin olmamız gerekiyor.
sudo raspi yapılandırması
Kılavuz, raspi-config'in daha eski bir sürümü için yazılmıştır ve "Arayüzler" ile değiştirilen "Gelişmiş Seçenekler" e gitmesini söylüyor.
I2C'yi açtıktan sonra yeniden başlatmanız gerekecek.
Şimdi HAT'ı test etme zamanı
cd Hava DurumuŞAPKA
sudo python döngüsü.py
Her şey yolunda giderse, tüm özellikleri ve bir gökkuşağı görmelisiniz.
ctrl-z programı durduracaktır.
*Özel Notlar: Raspberry PI 3'ün zamanlamasının farklı olduğunu ve gökkuşağının düzgün çalışmayabileceğini öğrendim. EĞER bu sorununuz varsa, nasıl düzeltileceği aşağıda açıklanmıştır.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Her şey çalıştığında, bir sonraki adıma geçebiliriz.
Güncelleme: (6 Ekim 2020) Bu depo artık benim getWeather.py betiğimi içeriyor, bu harika bir haber, çünkü ilgi yeniden alevlendi ve yeni şeyler olmak zorunda.
3. Adım: Weather-api ve GetWeather Komut Dosyasını Yükleme
Bu yüzden, senaryom için CyntechUK'a bir PULL isteği koydum - umarım isteği kabul ederler ve depomu indirmeyi atlayabilirsiniz. (kodumu sen dahil etmek istemeyebilirler)
(6 Eki 2020) PULL isteği onaylandı, getWeather betiğim artık Weatherhat deposuna dahil edildi.
*********İsterseniz bu bilgiyi yine de kullanabilirsiniz, ancak getWeather.py artık weatherhat deposuna dahil edilmiştir ******************* ********************
Depom burada bulunabilir:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
ve betiğimin adı getWeather.py
Çekme isteğini kabul ederlerse, zaten bu komut dosyasına sahip olursunuz - değilse, depoyu klonlamanız gerekir.
ana dizininizde (/home/pi) şunu yazın:
git klon https://github.com/kd8bxp/WeatherHAT.git getWeather
bu, depoyu getWeather adlı bir dizine klonlayacaktır, sonra getWeather dalını kontrol etmemiz gerekiyor.
cd getHava durumu
git ödeme getWeather
**********************************************************************
Daha önce klonlanmış olan weatherHAT dizinine cd yazmanız gerekecek ve
Konumunuz için getWeather.py betiğini düzenlememiz gerekiyor.
nano getWeather.py
ile başlayan bir satır görmelisiniz.
konum ve arama ile biter(45042) - Bu benim posta kodum, düşündüğünüz kadar iyi çalışmadığını gördüm
ve hemen üstündeki yorum satırı, bir şehir adıyla daha iyi çalışır. Muhtemelen kullanmak istediğiniz budur. Posta kodu satırını (#) yorumlayın ve yorumunuzu kaldırın ve şehir adınızı değiştirin.
*********** ESKİ YAHOO BİLGİLERİ - Artık gerekli değil ***********
Bunun çalışması için bir kitaplık daha kurmamız gerekiyor, Yahoo hava durumu API'si için bir sarıcı olan weather-api.
pypi.python.org/pypi/weather-api/0.0.5
Kurulumu kolaydır -
pip kurulum hava durumu-api
***********************************************************************************
Şimdi betiği çalıştırabiliriz:
sudo python getWeather.py &
&, betiğin arka planda çalışmasına izin verir. Komut dosyası yaklaşık 5 dakika uyur ve ardından bir şey değişip değişmediğini Yahoo Hava Durumu'nu kontrol eder - eğer öyleyse ekranı günceller. 5 dakikalık süre değiştirilebilir, senaryonun altına yakındır.
uyku(60 * 5)
Komut dosyasını her önyüklemede başlatacak bir crontab işi ayarlayabilirsiniz (bunun kök olarak çalıştırılması gerektiğini unutmayın).
kullanmak:
sudo crontab -e
girmek:
@reboot python /home/pi/weatherHAT/getWeather.py
Bunun işe yaraması gerektiğini düşünüyorum - henüz sistemimde cron kurmadım.
Hepsi bukadar -
Belirttiğim gibi, bu benim ilk python programlarımdan biri ve daha fazlasını bilen birinin bunu yapmanın daha iyi bir yolunu bulacağından eminim.
Bu konuda sadece sınırlı testler yaptım - şimdiye kadar "Kar" "Yağmur" ve "Fırtına" çalışmasını gördüm, Henüz nasıl başa çıkacağımdan emin olmadığım bazı durumlar var - fikirleri memnuniyetle karşılarım.
4. Adım: Şunun İçin Güncellenen Bilgiler: Openweathermap API
Eylül 2020'de betiği https://openweathermap.org API'sini kullanacak şekilde güncelledim.
NOT: Bu benim için "hızlı" bir düzeltmeydi ve sınırlı test edildi - (Son birkaç gündür hava kapalı ve tek gördüğüm bulut ve yağmur görüntüsü) - Her ne kadar kolay olan tüm koşulları yakaladığıma inanıyorum. görüntülendiğinde, bu düzeltmenin ne kadar "hızlı" yapıldığı nedeniyle birkaçını kaçırmış olabilirim. Bununla birlikte, bir sorun olduğunu düşünüyorsanız, lütfen bir yorum bırakın ve izin verin, inceleyeceğim - veya sizi doğru yöne yönlendirmeye çalışacağım. *
Yukarıdaki bağlantıyı kullanarak bir API anahtarı için kaydolmanız gerekecek, şehrinizi yerleştirmek için komut dosyasını düzenlediğinizde, anahtar için bir yer göreceksiniz. Sadece kopyalayıp yapıştırın ve iyi olmalısınız.
Diğer notlar:
Bu komut dosyası artık "Mevcut hava durumu verileri API'sini" kullanıyor ve bu API hakkında bilgi burada bulunabilir:
openweathermap.org/current Unutulmaması gereken bir şey, bir şehir, eyalet ve ülke kullanabilmenizdir.
IE: "Dayton" şehri "Dayton, OH, US" olur, eyalet ve ülke kodlarının nasıl büyük harf olduğuna dikkat edin, bu gereklidir. API, yalnızca "Dayton, OH" kullanabileceğini söylüyor ancak bunu yaptığımda komut dosyasından hatalar aldım - ve bu hızlı bir düzeltme olduğu için nedenini araştırmadım. SO, "şehir, eyalet, ülke" kullanmanızı öneririm
Herhangi bir nedenle bir şehir adı kullanarak iyi bilgi alamazsanız, Şehir Kimliğini de arayabilir veya enlem ve boylam veya posta kodunu kullanabilirsiniz. Her durumda URL'nin değiştirilmesi gerekecek, API web sitesinin sağ tarafındaki bağlantıya tıklarsanız, URL'nin ne olması gerektiğine dair bir örnek verecektir.
Komut dosyasındaki URL'yi de değiştirmeniz gerekir.
Daha da fazla not: 3 Eki 2020
@Itsmedoofer, yeni güncelleme ile kütüphane python isteklerini kurmaları gerektiğine dikkat çekti. Buna ihtiyacım olduğundan emin değilim (yıllar önce yüklemiş olabilirim veya farklı python sürümleri varsayılan olarak farklı kitaplıklar kurmuş olabilir). Bu nedenle, komut dosyası python istekleri hakkında bir hata verirse, düzeltmesi kolaydır.
bu komutu CLI'ye yazın: python -m pip kurulum istekleri
ve iyi olmalısın.
Umarım bu, o zamandan beri yapar, bu hızlı bir düzeltmeydi ve belki bir gün izin verirse biraz daha iyi temizlemek için çalışabilirim.
Güncelleme (6 Ekim 2020) github çekme isteği kabul edildi, orijinal CyntechUK orijinal deposu artık bu betiği içeriyor. https://github.com/CyntechUK/WeatherHAT Boeerb kullanıcısının, şu anda görüntülenmeyen bazı koşulların nasıl görüntüleneceği ve ayrıca kullanım için bazı başka fikirleri hakkında bazı fikirleri vardır. Bu yüzden o depoya bir göz atın. Ve umarım olaylar olur.
Güncelleme: (8 Ekim 2020) Open Weather Map, API'yi kurma ve kullanma hakkında kısa bir eğiticiye sahiptir, https://openweathermap.org/appid Başlamak için iyi bir yer.
Önerilen:
ESP8266'yı Kullanan Basit Hava Durumu İstasyonu: 6 Adım (Resimlerle)
ESP8266 Kullanan Basit Hava Durumu İstasyonu: Bu Eğitilebilir Tabloda Sıcaklık, Basınç, İklim vb. Verileri ve Aboneler ve YouTube verileri gibi verileri almak için ESP8266'nın nasıl kullanılacağını paylaşacağım. Toplam görüntüleme sayısı. ve verileri Seri monitörde görüntüleyin ve LCD'de görüntüleyin. Veriler f olacak
Java'da BME280 ile Raspberry Pi Kullanan Kişisel Hava Durumu İstasyonu: 6 Adım
Java'da BME280 ile Raspberry Pi Kullanan Kişisel Hava Durumu İstasyonu: Kötü hava her zaman bir pencereden daha kötü görünür. Her zaman yerel hava durumunu ve pencereden ne gördüğümüzü izlemekle ilgilendik. Ayrıca ısıtma ve klima sistemimiz üzerinde daha iyi kontrol sağlamak istedik. Kişisel Hava Durumu İstasyonu inşa etmek harika bir
İngiltere Tren ve Hava Durumu Göstergesi: 5 Adım
İngiltere Tren ve Hava Durumu Göstergesi: Bu talimat, pille çalışan bir İngiltere tren kalkışları ve hava durumu gösterimi içindir. Belirli bir yerel tren istasyonu için gerçek zamanlı tren kalkış bilgilerini almak ve görüntülemek için National Rail OpenLDBWS veritabanını kullandı. Açık hava kullanır
Arduino 3'ü 1 Arada Zaman ve Hava Durumu Göstergesi: 11 Adım
Arduino 3'ü 1 Arada Zaman ve Hava Durumu Göstergesi: PIC mikrodenetleyicilerini severim ve Assembly dilinde programlamayı severim. Aslında, son birkaç yılda bu kombinasyona dayalı olarak web sitemde yaklaşık 40 proje yayınladım. Geçenlerde en sevdiğim ABD v
Mini Hava Durumu Göstergesi Nasıl Yapılır: 4 Adım
Mini Hava Durumu Durum Ekranı Nasıl Yapılır: Proje hakkındaMikrodenetleyici aynı anda hem eğlenceli hem de eğlenceli olabilir, gerçek nesnelerin İnterneti için biraz internet bağlantısı ekleyin! 8x8 matris ekranı ve bir