Kendi Raspberry Pi Hava İstasyonunuzu Oluşturun

Build Your Own Raspberry Pi Weather Station



Raspberry Pi Sense Hat, Raspberry Pi tek kartlı bilgisayarlarla kullanılabilen bir eklenti kartıdır. Raspberry Pi Sense Şapka 8×8 LED ekrana ve 5 düğmeli joystick'e sahiptir ve aşağıdaki sensörlerle donatılmıştır:

  1. Jiroskop
  2. ivmeölçer
  3. manyetometre
  4. Sıcaklık
  5. Barometrik basınç
  6. Nem

Bu yazımda, Python API tabanlı bir meteoroloji istasyonu web uygulamasının aşağıdakileri kullanarak nasıl oluşturulacağını göstereceğim. sıcaklık , barometrik basınç , ve nem Raspberry Pi Sense Hat sensörleri. Bu makaleyi takip etmek için aşağıdakilere ihtiyacınız olacak:







  1. Ağ bağlantısı olan bir Raspberry Pi 3 veya Raspberry Pi 4.
  2. Bir Raspberry Pi Sense Hat modülü.
  3. Bir mikro USB (Raspberry Pi 3) veya USB Type-C (Raspberry Pi 4) güç adaptörü.
  4. Raspberry Pi OS ile 16 GB veya 32 GB microSD kart.
  5. Raspberry Pi'ye VNC uzak masaüstü erişimi veya SSH erişimi için bir dizüstü bilgisayar veya masaüstü bilgisayar.

NOT: Bu yazımızda Raspberry Pi'nin headless kurulumunu kullanarak VNC veya SSH üzerinden Raspberry Pi'ye uzaktan bağlanacağız. Raspberry Pi'nize SSH veya VNC üzerinden uzaktan erişmek istemiyorsanız, Raspberry Pi'nize bir monitör, klavye ve fare bağlamanız gerekecektir.



Raspberry Pi OS görüntüsünün bir microSD karta nasıl flaş edileceğini öğrenmek için lütfen Raspberry Pi Imager'ın Kurulumu ve Kullanımı bölümüne bakın. Raspberry Pi'nize Raspberry Pi OS yükleme konusunda yardıma ihtiyacınız varsa, okuyun Raspberry Pi 4'te Raspberry Pi OS Nasıl Kurulur . Raspberry Pi'nin başsız kurulumuyla ilgili yardıma ihtiyacınız varsa, Raspberry Pi OS'yi Raspberry Pi 4'te Harici Monitör Olmadan Nasıl Kurulur ve Yapılandırır bölümüne bakın.



Raspberry Pi Sense Hat'i Raspberry Pi'ye Bağlama

Raspberry Pi Sense Hat kiti, Raspberry Pi Sense Hat eklenti kartı, 40 pimli erkek-dişi başlık ve bazı vidalar ve ara parçalar ile birlikte gelir.





Sense Hat kartını Raspberry Pi'ye takmadan önce, 40 pinli başlığı Sense Hat'a bağlamanız gerekir. 40 pinli erkek-dişi başlığın erkek pinlerini aşağıdaki resimlerde gösterildiği gibi Sense Hat'e bağlayın.



Raspberry Pi tek kartlı bilgisayarlarda, eklenti kartları veya kasa takmak için kullanılabilecek 4 adet delik bulunur. Eklenti kartını takmak için aşağıdaki resimlerde gösterildiği gibi Raspberry Pi'nin arkasından vidaları takın.

Ardından, vidaya bir ara parçası bağlayın.

Dört vidayı ve ara parçayı da eklediğinizde, Raspberry Pi'niz aşağıdaki resimde gösterildiği gibi görünmelidir.

Raspberry Pi Sense Hat'i aşağıdaki resimlerde gösterildiği gibi Raspberry Pi'nin 40 pinli GPIO erkek başlığına bağlayın.

NOT: Raspberry Pi GPIO'nun pinlerinin bükülmesini önlemek için Raspberry Pi Sense Hat'i Raspberry Pi 40-pin GPIO başlığından çıkarırken dikkatli olun.

Kalan dört vidayla Raspberry Pi Sense Şapkasını aşağıdaki resimlerde gösterildiği gibi sabitleyin.

Raspberry Pi'yi Açma

Raspberry Pi Sense Hat, Raspberry Pi'ye bağlı olduğuna göre, Raspberry Pi işletim sistemine sahip microSD kartı Raspberry Pi'nin microSD kart yuvasına takın, güç kablosunu Raspberry Pi'ye bağlayın ve açın.

Raspberry Pi Sense Hat Python Kitaplığını Yükleme

Raspberry Pi'de Raspberry Pi Sense Hat kullanmak için, duyu şapkası Raspberry Pi OS üzerinde Python kütüphanesi kurulu olmalıdır. NS duyu şapkası kütüphane, Raspberry Pi OS'nin resmi paket deposunda mevcuttur.

Raspberry Pi'yi yüklemek için duyu şapkası Raspberry Pi OS üzerindeki Python kütüphanesi, önce aşağıdaki komutla APT paket deposu önbelleğini güncelleyin:

$ sudo uygun güncelleme

Ardından, aşağıdaki komutu çalıştırın:

$ sudo apt install sense-hat -y

Flask Mikro Web Çerçevesi Python Kitaplığını Yükleme

Hava durumu uygulamamızı oluşturmak için Flask Python çerçevesini kullanacağız. Flask'ı Raspberry Pi OS'nin resmi paket deposundan aşağıdaki komutla kurabilirsiniz:

$ sudo apt install python3-flask -y

Proje Dizini Oluşturma

Proje dosyalarınızı düzenlemek için bir proje dizini oluşturmak iyi bir fikirdir. Bir proje dizini oluşturmak için ~/iş , aşağıdaki komutu kullanın:

$ mkdir ~/iş

Proje dizini oluşturulduktan sonra proje dizinine aşağıdaki gibi gidin:

$ cd ~/iş

Raspberry Pi Sense Şapkasını Test Etme

Raspberry Pi Sense Hat'in çalışıp çalışmadığını test etmek için basit bir test Python betiği yazabiliriz. adlı yeni bir Python betiği oluşturabilirsiniz. test.py ile nano aşağıdaki gibi metin düzenleyici:

$ nano test.py

içine aşağıdaki kodu girin test.py dosya. 1. satır içe aktarma SenseHat itibaren sense_hat modül, satır 3 bir SenseHat nesne ve bir referansı saklar algı değişkendir ve 5-6 satırları tüm 8×8 LED'lerin rengini kırmızıya ayarlar. İşiniz bittiğinde, basın + x bunu takiben VE ve .

çalıştırabilirsin test.py Aşağıdaki komutla Python betiği:

$ python3 testi.py

8×8 LED matrisi, aşağıdaki resimde gösterildiği gibi kırmızı renkte yanmalıdır.

Sense Hat'in LED'lerini kapatmak için, açık() içinde herhangi bir renk değeri olmayan yöntem test.py Aşağıdaki ekran görüntüsünde gösterildiği gibi Python betiği ve çalıştırın test.py Python betiği tekrar.

Sense Hat'in LED'leri, aşağıdaki resimde gösterildiği gibi şimdi kapatılmalıdır.

Sense Hat düzgün çalışıyorsa, bir sonraki bölüme geçin.

Sense Hat'ten Hava Durumu Verisi Alma

kullanarak Sense Hat'ten sensör verilerini çok kolay bir şekilde elde edebilirsiniz. duyu şapkası Python kitaplığı. Sense Hat'ten sensör verilerini almak için yeni bir Python betiği oluşturabilirsiniz. read_sensor_data.py aşağıdaki gibi:

$ nano read_sensor_data.py

içine aşağıdaki kodu girin read_sensor_data.py Python dosyası.

itibarensense_hatiçe aktarmakSenseHat
itibaren zaman içe aktarmakuyku
algı=SenseHat()
algı.açık()
süre NS:
sıcaklıkC=algı.get_temperature()
sıcaklık=sıcaklıkC *(9/5)+32
baskı yapmak=algı.get_pressure()
nem=algı.get_humidity()

Yazdır('Sıcaklık: %.2f°C/%.2f°F '%(sıcaklıkC,sıcaklık))
Yazdır('Basınç: %.2f mb '%(baskı yapmak))
Yazdır('Nem: %.2f%% '%(nem))
uyku(5)

İşiniz bittiğinde, basın + x bunu takiben VE ve .

Yukarıdaki kodda, 1. ve 2. satırlar gerekli tüm kitaplıkları içe aktarır, 4. satır bir SenseHat nesne ve satır 5, Sense Hat'in tüm LED'lerini aşağıdaki düğmeyi kullanarak kapatır. açık() yöntem. 7. satırdaki while döngüsü, kodu 8-16 satırlarında sonsuza kadar çalıştıracak sonsuz bir döngüdür.

8. satırda, get_temperature() yöntemi, Sense Hat'in nem sensöründen sıcaklık verilerini (santigrat derece olarak) okumak için kullanılır. 9. satırda, sıcaklık verileri Santigrat dereceden Fahrenhayt derecesine dönüştürülür. 10. satırda, get_pressure() yöntemi, Sense Hat'in basınç sensöründen hava basıncı verilerini (milibar cinsinden) okumak için kullanılır. 11. satırda, get_nem() yöntemi, Sense Hat'in nem sensöründen nem verilerini (% olarak) okumak için kullanılır.

13–15 arasındaki satırlar, sensör verilerini konsola yazdırmak için kullanılır ve satır 16, sensör verilerini tekrar okumadan önce 5 saniye beklemek için kullanılır.

çalıştırabilirsin read_sensor_data.py Python betiği aşağıdaki gibidir:

$ python3 read_sensor_data.py

Komut dosyası çalıştırıldığında, sensör verileri konsola yazdırılacaktır.

Artık Sense Hat'ten sensör verilerini okuyabildiğimize göre, + C programı durdurmak için

Bir Hava Durumu İstasyonu Web Uygulaması Oluşturma

Bu bölümde, bir hava durumu API'si ve bir hava durumu uygulaması oluşturmak için Python Flask web çerçevesini nasıl kullanacağınızı göstereceğiz. Hava durumu uygulaması, hava durumu verileri API'sine erişecek ve hava durumu verilerini gerçek zamanlı olarak gösterecektir. Bu bölümde tartışılan tüm kodlar GitHub'da şu adreste mevcuttur: shovon8 / ahududu-pi-duyu-şapka-hava-uygulaması .

İlk olarak, bir sunucu.py Proje dizinindeki Python betiği aşağıdaki gibi:

$ nano sunucu.py

içine aşağıdaki kodu girin sunucu.py Python dosyası.

itibarenşişeiçe aktarmakşişe
itibarenşişeiçe aktarmakjsonify
itibarenşişeiçe aktarmakrender_template
itibarenşişeiçe aktarmakurl_for
itibarensense_hatiçe aktarmakSenseHat
uygulama=şişe(__isim__)
uygulama.yapılandırma['SEND_FILE_MAX_AGE_DEFAULT'] = 0
algı=SenseHat()
algı.açık()
ile birlikteuygulama.test_request_context():
url_for('statik',dosya adı='stil.css')
url_for('statik',dosya adı='app.js')
@uygulama.güzergah('/ateş')
tanımateş():
sıcaklıkC=algı.get_temperature()
sıcaklık=sıcaklıkC *(9/5)+32
baskı yapmak=algı.get_pressure()
basınçPsi=baskı yapmak *0.0145038
basınçP=baskı yapmak *100
nem=algı.get_humidity()

dönüşjsonify({
'sıcaklık':{ 'C': tempC, 'F': sıcaklık},
'baskı yapmak':{ 'mb': baskı yapmak, 'hPa': baskı yapmak,
'psi': basınçPsi, 'P': basınçP},
'nem': nem
})
@uygulama.güzergah('/')
tanımev():
dönüşrender_template('./home.html')

Ardından, basın + x bunu takiben VE ve kaydetmek için sunucu.py Python komut dosyası.

Yukarıdaki kodda, satır 1-5 gerekli tüm kitaplıkları içe aktarır, satır 7 bir Flask uygulaması oluşturur, satır 11 bir SenseHat nesnesi oluşturur ve satır 12, Sense Hat'in tüm LED'lerini kapatır. Satır 8, Flask uygulaması için web önbelleğini devre dışı bırakır. Bu uygulama hafif olduğu için önbelleğe almaya gerek yoktur. Uygulamayı değiştirmek istiyorsanız, web önbelleğini devre dışı bırakmak, testi çok daha kolay hale getirecektir.

18–31. satırlar, Sense Hat'ten sensör verilerini okur ve API verilerini HTTP GET isteğinde JSON biçiminde döndürür. /ateş web sunucusunun uç noktası. 37–39 arasındaki satırlar, hava durumu web uygulaması ana sayfasını / web sunucusunun uç noktası. Ana sayfa şuradan oluşturulur: ana sayfa.html dosyada olması gereken şablonlar/ proje dizininin dizini.

14-16 arasındaki hatlar, erişime izin vermek için kullanılır. stil.css ve app.js statik dosyalar. Bu dosyalar dosyanın içinde olmalıdır. statik/ proje dizininin dizini. NS stil.css dosyaya stil vermek için kullanılır ana sayfa.html ana sayfa ve app.js dosyası, API verilerini istemek için kullanılır. /ateş uç nokta ve üzerindeki hava durumu verilerini güncelleyin. ana sayfa.html her 5 saniyede bir sayfa.

oluştur statik/ ve şablonlar/ proje dizininde aşağıdaki gibi dizin:

$ mkdir -v {statik, şablonlar}

Oluşturmak ana sayfa.html dosya şablonlar/ dizin şu şekilde:

$ nano şablonlar/home.html

içine aşağıdaki kodu girin ana sayfa.html dosya.


< html >
< kafa >
< meta isim='görünüm alanı' içerik='width=cihaz genişliği, başlangıç ​​ölçeği=1.0'>
< Başlık >Raspberry Pi Hava İstasyonu</ Başlık >
< bağlantı rel='stil sayfası' tip='metin/css'
href='{{ url_for('static', file) }}'/>
</ kafa >
< vücut >
< div İD='içerik'>
< h1 >Raspberry Pi Hava İstasyonu</ h1 >

< div sınıf='veri içeriği'>
< h2 >Sıcaklık</ h2 >
< div sınıf='veri satırı'>
< div sınıf='veri hücresi' İD='tempC'>
...
</ div >
< div sınıf='veri hücresi' İD='tempF'>
...
</ div >
</ div >
</ div >

< div sınıf='veri içeriği'>
< h2 >Baskı yapmak</ h2 >
< div sınıf='veri satırı'>
< div sınıf='veri hücresi' İD='basınçMb'>
...
</ div >
< div sınıf='veri hücresi' İD='basınçPsi'>
...
</ div >
</ div >
< div sınıf='veri satırı'>
< div sınıf='veri hücresi' İD='basınçHpa'>
...
</ div >
< div sınıf='veri hücresi' İD='basınçP'>
...
</ div >
</ div >
</ div >

< div sınıf='veri içeriği'>
< h2 >Nem</ h2 >
< div sınıf='veri satırı'>
< div sınıf='veri hücresi' İD='nem'>
...
</ div >
</ div >
</ div >
</ div >

< senaryo tip='metin/javascript' kaynak='{{ url_for('static', file) }}'></ senaryo >
</ vücut >
</ html >

Ardından, basın + x bunu takiben VE ve kaydetmek için ana sayfa.html dosya.

Oluşturmak stil.css dosya statik/ dizin şu şekilde:

$ nano statik/stil.css

içine aşağıdaki kodları girin stil.css dosya.

@içe aktarmak url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
* {
dolgu malzemesi: 0;
kenar boşluğu: 0;
font ailesi: 'Robot', sans Serif;
}
vücut{
arka fon: # 737373;
}
h1{
Görüntüle: engellemek;
renk: #79DC7B;
Metin hizalama: merkez;
yazı tipi ağırlığı: 400;
arka fon: # 000;
dolgu malzemesi: 0.5em 0;
}
h2{
Görüntüle: engellemek;
arka fon: # 000;
renk: #fff;
Metin hizalama: merkez;
yazı tipi ağırlığı: 400;
yazı Boyutu: 1 saat;
}
.data-içerik {
kenar boşluğu: 10 piksel;
sınır: 2 piksel sağlam siyah;
sınır yarıçapı: 5 piksel;
arka plan rengi: #79DC7B;
}
.veri satırı {
Görüntüle:esnek;
esnek yön:sıra;
}
.veri hücresi {
Genişlik: 100%;
boy uzunluğu: 80 piksel;
Görüntüle:esnek;
hizalama öğeleri: merkez;
haklı içerik: merkez;
yazı tipi ağırlığı: gözü pek;
yazı Boyutu: 1.5em;
renk: # 006902;
}
.veri hücresi:üzerine gelmek {
arka fon: # FFE891;
renk: # AA8600;
imleç: Işaretçi;
}

Ardından, basın + x bunu takiben VE ve kaydetmek için stil.css dosya.

Oluşturduğunuz bir app.js dosya statik/ dizin şu şekilde:

$ nano statik/app.js

içine aşağıdaki kodu girin app.js dosya.

pencere.addEventListener('yük',ana);
işlevana() {
işlevgetAPIData() {
neredehttp= yeniXMLHttpRequest();

http.onreadystatechange = işlev() {
Eğer(Bugün nasılsın.hazırDurum === 4 && Bugün nasılsın.durum === 200) {
Güncelleme(JSON.ayrıştırmak(Bugün nasılsın.tepkiMetin));
}
}

http.açık('ELDE ETMEK', '/ateş', NS);
http.göndermek();
}


işlevGüncelleme(apiData) {
neredesıcaklıkC=belge.getElementById('tempC');
neredesıcaklık=belge.getElementById('tempF');
neredebasınçMb=belge.getElementById('basınçMb');
neredebasınçPsi=belge.getElementById('basınçPsi');
neredebasınçHpa=belge.getElementById('basınçHpa');
neredebasınçP=belge.getElementById('basınçP');
neredenem=belge.getElementById('nem');

sıcaklıkC.içHTML =ayrıştırmakFloat(APIData.sıcaklık.C).tamir edildi(2) + '°C';
sıcaklıkiçHTML =ayrıştırmakFloat(APIData.sıcaklık.F).tamir edildi(2) + '°F';

basınçMb.içHTML =ayrıştırmakFloat(APIData.baskı yapmak.mb).tamir edildi(2) + 'mb';
basınçPsi.içHTML =ayrıştırmakFloat(APIData.baskı yapmak.psi).tamir edildi(2) + 'psi';
basınçHpa.içHTML =ayrıştırmakFloat(APIData.baskı yapmak.hPa).tamir edildi(2) + 'hPa';
basınçP.içHTML =ayrıştırmakFloat(APIData.baskı yapmak.P).tamir edildi(2) + ' P';

nem.içHTML =ayrıştırmakFloat(APIData.nem).tamir edildi(2) + '%';
}


işlevuygulama() {
pencere.setAralık(işlev() {
getAPIData();
}, 5000);
}

uygulama();
}

Ardından, basın + x bunu takiben VE ve kaydetmek için app.js dosya.

Burada, 1. satır ana() web sayfası yüklemeyi bitirdiğinde işlev görür. İçinde ana() işlev, getAPIData () işlevi, AJAX kullanarak hava durumu API verilerini getirir ve Güncelleme() Veriler başarıyla alındıktan sonra işlev (10. satırda). NS Güncelleme() işlevi, API verilerini kullanarak web sayfası öğesini günceller.

20. satırda, belge.getElementById() id ile web sayfası öğesinin referansını almak için yöntem kullanılır. sıcaklıkC . Satır 28, kimliğe sahip web sayfası öğesinin içeriğini değiştirmek için kullanılır sıcaklıkC API'den gelen sıcaklıkla (Santigrat cinsinden). Aynı şekilde, tüm web öğelerinin içeriği (21–26. satırlar) ilgili API verileriyle değiştirilir.

İçinde uygulama() işlev, getAPIData () hava durumu uygulamasında hava durumu verilerini güncel tutmak için her 5 saniyede bir (5000 milisaniye) çağrılır. Son olarak, 46. satırda, uygulama() işlev yürütülür.

Web uygulamasını test etmek için aşağıdaki komutu girin:

$ FLASK_APP=server.py şişe çalıştırma --host=0.0.0.0

Hava durumu uygulaması, 5000 numaralı bağlantı noktasında (varsayılan olarak) çalışmalıdır.

Hava Durumu API'sinin çalışıp çalışmadığını test etmek için aşağıdaki komutu çalıştırın:

$ kıvrılma -s http://localhost:5000/api | json_pp

Gördüğünüz gibi, Weather API verileri konsola yazdırılır. Bu nedenle, API çalışıyor.

Hava Durumu uygulamasını test etmek için şu adresi ziyaret edin: http://localhost:5000 bir Chromium web tarayıcısından. Hava Durumu uygulaması web tarayıcısına yüklenmelidir, ancak ilk başta hiçbir hava durumu verisi görüntülenmemelidir.

Birkaç saniye sonra, hava durumu uygulaması API'den hava durumu verilerini getirmeyi bitirmeli ve göstermelidir.

Herhangi bir noktada, basabilirsiniz + C Web sunucusunu durdurmak için.

Hava Durumu Web Uygulaması için Systemd Hizmeti Oluşturma

Bu bölümde, hava durumu uygulaması için sistemd hizmet dosyasının nasıl oluşturulacağını göstereceğiz, böylece açılışta otomatik olarak başlayacaktır.

İlk olarak, bir meteoroloji istasyonu.servis proje dizininizde aşağıdaki gibi dosya oluşturun:

$ nano meteoroloji istasyonu.servis

Aşağıdaki kod satırlarını aşağıdaki alana giriniz. meteoroloji istasyonu.servis dosya.

[Birim]
Açıklama=Raspberry Pi Hava İstasyonu Web Uygulaması Raspberry Pi Sense Hat Kullanıyor
Sonra=network.hedef

[Hizmet]
WorkingDirectory=/home/pi/work
Çevre=FLASK_APP=sunucu.py
Çevre=FLASK_ENV=üretim
ExecStart=/usr/bin/flask çalıştırma --host=0.0.0.0
StandardOutput=devral
StandardError=devral
Yeniden başlat=her zaman
kullanıcı=pi

[Düzenlemek]
WantedBy=çok kullanıcılı.hedef

Ardından, basın + x bunu takiben VE ve kaydetmek için meteoroloji istasyonu.servis dosya.

Kopyala meteoroloji istasyonu.servis dosyaya /etc/systemd/system/ aşağıdaki komutla dizin:

$ sudo cp -v weather-station.service /etc/systemd/system/

Değişikliklerin geçerli olması için systemd arka plan programlarını aşağıdaki gibi yeniden yükleyin:

$ sudo systemctl arka plan programı yeniden yükle

NS Meteoroloji istasyonu Aşağıdaki ekran görüntüsünde gösterildiği gibi systemd hizmeti şu anda devre dışı olmalıdır.

$ sudo systemctl durumu weather-station.service

Başlat Meteoroloji istasyonu aşağıdaki komutla hizmet:

$ sudo systemctl weather-station.service'i başlat

Gördüğünüz gibi, Meteoroloji istasyonu hizmet şu anda çalışıyor.

$ sudo systemctl durumu weather-station.service

şimdi ki Meteoroloji istasyonu servis çalışıyor, aşağıdaki komutla Raspberry Pi OS'nin sistem başlangıcına ekleyebilirsiniz:

$ sudo systemctl weather-station.service'i etkinleştir

Raspberry Pi'nizi aşağıdaki komutla yeniden başlatın:

$ sudo yeniden başlatma

Raspberry Pi'niz önyüklendiğinde, Meteoroloji istasyonu Aşağıdaki ekran görüntüsünde gösterildiği gibi hizmet çalışıyor olmalıdır.

$ sudo systemctl durumu weather-station.service

Hava Durumu Uygulamasına Diğer Cihazlardan Erişme

Ev ağınızdaki diğer cihazlardan hava durumu uygulamasına erişmek için Raspberry Pi'nizin IP adresini bilmeniz gerekir. Raspberry Pi 4'ünüzün IP adresini ev yönlendiricinizin web yönetim arayüzünden bulabilirsiniz. Bizim durumumuzda IP adresi 192.168.0.103'tür, ancak bu adres sizin için farklı olacaktır, bu nedenle sonraki tüm adımlarda bu adresi sizinkiyle değiştirdiğinizden emin olun.

Raspberry Pi konsoluna erişiminiz varsa, IP adresini de bulmak için aşağıdaki komutu çalıştırabilirsiniz.

$ ana bilgisayar adı -I

Raspberry Pi'nizin IP adresini öğrendikten sonra ev ağınızdaki herhangi bir cihazdan erişebilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi, bir Android akıllı telefondan hava durumu uygulamasına eriştik.

Çözüm

Bu yazıda size Raspberry Pi hava istasyonu inşa etmek için Raspberry Pi Sense Hat'i nasıl kullanacağınızı gösterdik. biz kullandık duyu şapkası Raspberry Pi Sense Hat'ten hava durumu verilerini çıkarmak için Python kitaplığı. Ardından, bir hava durumu API'si ve bir web uygulaması oluşturmak için Flask Python mikro web çerçevesini kullandık. Web uygulaması, web uygulamasını en son hava durumu verileriyle güncel tutmak için her 5 saniyede bir hava durumu API'sinden hava durumu verilerini alır.