İçindekiler:

Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi: 4 Adım
Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi: 4 Adım

Video: Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi: 4 Adım

Video: Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi: 4 Adım
Video: Canlı Yayında Güç Kaynağı Testi... (Teensy Geliştirme Kartı, 3D Yazıcı Geliştirme Parçaları...) 2024, Haziran
Anonim
Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi
Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi
Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi
Raspberry PI ve Cyntech WeatherHAT Kullanan Basit Hava Durumu Göstergesi

* 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

SD Kartı ve Raspberry PI'yi ayarlayın
SD Kartı ve Raspberry PI'yi ayarlayın
SD Kartı ve Raspberry PI'yi ayarlayın
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

WeatherHAT Kitaplıklarını Ayarlayın
WeatherHAT Kitaplıklarını Ayarlayın
WeatherHAT Kitaplıklarını Ayarlayın
WeatherHAT Kitaplıklarını Ayarlayın

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

Weather-api ve GetWeather Komut Dosyasını Yükleme
Weather-api ve GetWeather Komut Dosyasını Yükleme
Weather-api ve GetWeather Komut Dosyasını Yükleme
Weather-api ve GetWeather Komut Dosyasını Yükleme
Weather-api ve GetWeather Komut Dosyasını Yükleme
Weather-api ve GetWeather Komut Dosyasını Yükleme
Weather-api ve GetWeather Komut Dosyasını Yükleme
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: