İçindekiler:

Raspberry Pi SÜPER Hava İstasyonu İnşa Edin: 8 Adım (Resimlerle)
Raspberry Pi SÜPER Hava İstasyonu İnşa Edin: 8 Adım (Resimlerle)

Video: Raspberry Pi SÜPER Hava İstasyonu İnşa Edin: 8 Adım (Resimlerle)

Video: Raspberry Pi SÜPER Hava İstasyonu İnşa Edin: 8 Adım (Resimlerle)
Video: Hava Durumuna Göre Renk Değiştiren Ortam Aydınlatması 2024, Kasım
Anonim
Image
Image

Kabul edelim, biz insanlar havadan çokça bahsederiz ⛅️. Ortalama bir insan günde dört kez, ortalama 8 dakika 21 saniye boyunca hava durumu hakkında konuşur. Matematiği yapın ve bu, hava durumu hakkında gevezelik ederek geçireceğiniz hayatınızın toplam 10 ayı anlamına gelir. Hava durumu, konuşma başlatıcılar ve rahatsız edici sessizlik kırıcılar için 1 numaralı başvuru konusu olarak yer alıyor. Bunun hakkında bu kadar çok konuşacaksak, hava durumu sokak kredimizi tamamen yeni bir seviyeye taşıyabiliriz. Bu süper eğlenceli ve kolay proje, tam da bunu yapmak için Nesnelerin İnterneti'nden (IoT) ve bir Raspberry Pi'den yararlanacak.

Zaman içinde evimizin içindeki ve dışındaki hava durumunu yakalayan kendi hiper yerel hava durumu IoT panomuzu oluşturacağız. Bir dahaki sefere birisi sana "son zamanlarda hava nasıl?" diye sorduğunda, çılgın hava durumu analizi yeteneğinle telefonunu çırpabilecek ve onları nefessiz bırakabileceksin ☀️.

Kursu almak için gerekenler: 1. Raspberry Pi w/internet bağlantısı

2. Ahududu Pi SenseHAT

3. A 6 40-Pin IDE Erkek - Dişi Uzatma Kablosu (sıcaklık doğruluğu için isteğe bağlı)

4. Bir Başlangıç Durumu hesabı

5. İşte bu!

Proje seviyesi: Başlangıç

Yaklaşık tamamlama süresi: 20 dakika

Yaklaşık eğlence faktörü: Çizelgelerin dışında

Bu adım adım öğreticide, bölgenizdeki yerel dış hava durumunu almak için İlk Durumda Weatherstack API entegrasyonunu nasıl kullanacağınızı öğreneceksiniz.

- Evinizin içindeki hava durumu verilerini yakalamak için bir Raspberry Pi'yi Sense HAT ile nasıl kullanacağınızı öğrenin (https://www.raspberrypi.org/products/sense-hat/)

- Dizüstü bilgisayarınızdaki veya mobil cihazınızdaki herhangi bir web tarayıcısından erişebileceğiniz kendi kişisel hiper yerel hava durumu gösterge tablonuzu oluşturun

- Meteorologunuza paraları için bir şans verin

Gereçler

Kursu almak için ihtiyacınız olacak:

1. Raspberry Pi w/internet bağlantısı

2. Ahududu Pi SenseHAT

3. A 6 40-Pin IDE Erkek - Dişi Uzatma Kablosu (sıcaklık doğruluğu için isteğe bağlı)

4. Bir Başlangıç Durumu hesabı

5. İşte bu!

1. Adım: Başlarken

Kodu bir araya getirmeniz ve bilgileri düzenlemeniz için zaten bir sürü bacak çalışması yaptık. Sadece yol boyunca birkaç ayarlama yapmanız gerekecek.

Sizin için hazırladığımız her şeyi almak için depoyu GitHub'dan klonlamanız gerekecek. Github, bunun gibi projeleri depolamamıza, gözden geçirmemize ve yönetmemize izin veren harika bir hizmettir. Depoyu klonlamak için tek yapmamız gereken Pi'mizin terminaline veya SSH'li bilgisayar terminalinizin pi'nize girip şu komutu yazmak:

$ git klonu

Enter tuşuna basın ve şu bilgileri göreceksiniz:

pi@raspberrypi ~ $ git klonu

'wunderground-Sensehat'a klonlama…

uzak: Nesneleri sayma: 28, tamamlandı.

uzak: Toplam 28 (delta 0), yeniden kullanılmış 0 (delta 0), paket yeniden kullanılmış 28

Nesneleri açma: %100 (28/28) tamamlandı.

Bağlantı kontrol ediliyor… tamamlandı.

Bunu gördüğünüzde tebrikler, Github Repo'yu başarıyla klonladınız ve Süper Hava İstasyonunuzu oluşturmak için gerekli tüm dosyalara sahip oldunuz. Bir sonraki adıma geçmeden önce, bu dizini keşfetmek için biraz zaman ayıralım ve birkaç temel komut satırı komutunu öğrenelim.

Aşağıdaki komutu terminalinize yazın:

$ l

Bu komut, şu anda bulunduğunuz dizinde mevcut olan her şeyi listeler. Bu liste, Github Repo'muzun “wunderground-sensehat” adı altında dizinimize başarıyla klonlandığını gösterir. Şimdi bu dizinde neler olduğuna bir göz atalım. Dizinleri değiştirmek için tek yapmanız gereken “cd” yazıp gitmek istediğiniz dizinin adını yazmaktır.

Bu durumda şunu yazacağız:

$ cd wunderground-sensehat

Enter'a bastığımızda, artık wunderground-sensehat dizininde olduğumuzu göreceksiniz. Pi'mize hangi dosyaları yüklediğimizi görmek için tekrar ls yazalım.

README.md sensehat.py sensehat_wunderground.py wunderground.py

Burada benioku belgemizi ve birkaç farklı python dosyasını görüyoruz. Şimdi sensehat.py'ye bir göz atalım. Dizinler için yaptığımız gibi cd komutu ile dosyaya atlamak yerine nano komutunu kullanacağız. Nano komutu, bu projenin her bir bölümü için tüm python kodumuza sahip olduğumuz nano metin düzenleyicisini açmamızı sağlar. Devam edin ve şunu yazın:

$ nano sensehat.py

Bu proje için sizler için hazırladığımız kodların tamamını burada görebilirsiniz. Henüz bu belgede herhangi bir değişiklik yapmayacağız, ancak bu eğitimde daha sonra ne yapacağımızı görmek için gezinmekten çekinmeyin.

2. Adım: İlk Durum

Başlangıç hali
Başlangıç hali

Tüm hava durumu verilerimizi bir bulut hizmetine aktarmak ve bu hizmetin verilerimizi dizüstü veya mobil cihazımızdan erişebileceğimiz güzel bir panoya dönüştürmesini istiyoruz. Verilerimizin bir hedefe ihtiyacı var. Bu hedef olarak İlk Durumu kullanacağız.

1. Adım: Bir Başlangıç Durumu hesabına kaydolun

www.initialstate.com/app#/register/ adresine gidin ve yeni bir hesap oluşturun.

2. Adım: ISStreamer'ı yükleyin

İlk Durum Python modülünü Raspberry Pi'nize kurun: Bir komut isteminde (önce Pi'nize SSH eklemeyi unutmayın), aşağıdaki komutu çalıştırın:

$ cd /ev/pi/

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Güvenlik Notu: Yukarıdaki komut, kullanıcının bilmesi gereken bazı önemli anatomilere sahiptir.

1) Kıvrılmadan önce bir / vardır. Bu, oluşturulmuşsa curl takma adının çalıştırılmamasını sağlamak için önemlidir. Bu, komutun amaçlanandan daha fazlasını yapma riskini azaltmaya yardımcı olur.

2) Komut borulu bir komuttur, bu nedenle çalıştırırken, https://get.initialstate.com/python adresinden alınan bir komut dosyasının çıktısını sudo bash komutuna aktarıyorsunuz. Bu, kurulumu basitleştirmek için yapılır, ancak burada, özellikle komut dosyası yükseltilmiş ayrıcalıklarla çalıştırıldığından, kurulum komut dosyasının ortadaki adam manipülasyonu olmamasını sağlamaya yardımcı olmak için https'nin burada önemli olduğu belirtilmelidir. Bu, yükleme ve kurulumu basitleştirmenin yaygın bir yoludur, ancak biraz daha dikkatli olursanız, biraz daha az uygun alternatifler vardır: komutu iki adıma bölebilir ve sigortalamak için curl komutundan indirilen bash betiğini kendiniz inceleyebilirsiniz. aslına uygunluk VEYA pip talimatlarını takip edebilirsiniz, sadece otomatik olarak oluşturulmuş bir örnek komut dosyası almayacaksınız.

3. Adım: Biraz Automagic yapın

2. Adımdan sonra ekranda aşağıdaki çıktıya benzer bir şey göreceksiniz:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Şifre: ISStreamer Python Kolay Kurulumuna Başlarken!

Kurulumu birkaç dakika sürebilir, biraz kahve alın:)

Ama geri gelmeyi unutma, daha sonra sorularım olacak!

easy_install bulundu: setuptools 1.1.6

Bulunan pip: /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg'den pip 1.5.6 (python 2.7)

pip ana sürüm: 1

pip küçük sürüm: 5

ISStreamer bulundu, güncelleniyor…

Gereksinim zaten güncel: /Library/Python/2.7/site-packages'de ISStreamer Temizleniyor…

Otomatik olarak örnek bir komut dosyası almak ister misiniz? [e/H]

(İlk Durum Python akış modülünü daha önce hiç yüklemediyseniz çıktı farklı olabilir ve daha uzun sürebilir)

Otomatik olarak bir örnek komut dosyası almanız istendiğinde, y yazın.

Bu, Pi'mizden İlk Duruma veri aktarabileceğimizden emin olmak için çalıştırabileceğimiz bir test komut dosyası oluşturacaktır. Sorulacak:

Örneği nereye kaydetmek istiyorsunuz? [varsayılan:./is_example.py]:

Varsayılanı kabul etmek için özel bir yerel yol yazabilir veya enter tuşuna basabilirsiniz. Initial State hesabınızı kaydettiğinizde yeni oluşturduğunuz kullanıcı adınız ve şifreniz istenecektir. Her ikisini de girin ve kurulum tamamlanacaktır.

4. Adım: Anahtarlara Erişim

Oluşturulan örnek scripte bir göz atalım. Tip:

$ nano is_example.py

15. satırda, streamer = Streamer(bucket_ … ile başlayan bir satır göreceksiniz. Bu satırlar, “Python Stream Example” adında yeni bir veri grubu oluşturur ve hesabınızla ilişkilendirilir. Bu ilişkilendirme, access_key=”…” nedeniyle gerçekleşir. aynı satırdaki parametre. Bu uzun harf ve rakamlar dizisi, Initial State hesap erişim anahtarınızdır. Web tarayıcınızda Initial State hesabınıza giderseniz, sağ üstteki kullanıcı adınıza tıklayın, ardından “hesabım”a gidin., aynı erişim anahtarını sayfanın alt kısmında "Akış Erişim Anahtarları" altında bulacaksınız.

Her veri akışı oluşturduğunuzda, bu erişim anahtarı bu veri akışını hesabınıza yönlendirecektir (bu nedenle anahtarınızı kimseyle paylaşmayın).

Adım 5: Örneği Çalıştırın

İlk Durum hesabınıza bir veri akışı oluşturabileceğimizden emin olmak için test komut dosyasını çalıştırın.

Aşağıdakileri çalıştırın:

$ python is_example.py

6. Adım: Kar

Web tarayıcınızda İlk Durum hesabınıza geri dönün. Günlük rafınızın solunda “Python Akış Örneği” adlı yeni bir veri paketi görünmelidir (sayfayı yenilemeniz gerekebilir). Bu kovaya tıklayın ve ardından test verilerini görüntülemek için Dalgalar simgesine tıklayın.

Bu veri görselleştirme aracını nasıl kullanacağınızı öğrenmek için Waves eğitiminde adım adım ilerlemek isteyeceksiniz. Ardından, aynı verileri pano formunda görmek için Kutucuklardaki verileri görüntüleyin.

Artık Wunderground ve daha fazlasından gerçek veri akışına başlamaya hazırsınız.

3. Adım: HAT'ı Algılayın

Duyu ŞAPKA
Duyu ŞAPKA
Duyu ŞAPKA
Duyu ŞAPKA
Duyu ŞAPKA
Duyu ŞAPKA

Sense HAT, Raspberry Pi için sensörler, LED'ler ve küçük bir joystick ile dolu bir eklentidir. Bu küçük eklentinin harika yanı, hızlı bir şekilde kurabileceğiniz harika bir Python kitaplığı sayesinde kurulumunun ve kullanımının inanılmaz derecede kolay olmasıdır. Bu proje için Sense HAT üzerindeki sıcaklık, nem ve barometrik basınç sensörlerini kullanacağız. Ayarlayalım.

Sense HAT'ı kullanmanın ilk adımı, onu Pi'nize fiziksel olarak kurmaktır. Pi kapalıyken, HAT'ı resimde gösterildiği gibi takın.

Pi'nizi açın. Sense HAT'tan sensör değerlerini okumayı kolaylaştırmak için Python kütüphanesini kurmamız gerekiyor. Öncelikle, şunu yazarak Raspbian sürümünüzdeki her şeyin güncel olduğundan emin olmanız gerekir:

$ sudo apt-get güncellemesi

Ardından, Sense HAT Python kitaplığını yükleyin:

$ sudo apt-get install sense-hat

Pi'nizi yeniden başlatın

Sensör verilerini okuyarak ve bu verileri İlk Duruma göndererek Sense HAT'ı test etmeye hazırız.

Her şeyin çalıştığından emin olmak için Sense HAT'ımızı test edelim. https://github.com/InitialState/wunderground-sensehat/blob/master/sensehat.py adresinde bulunan betiği kullanacağız. Bu betiği Pi'nizdeki bir dosyaya kopyalayabilir veya daha önce klonladığımız Github deposundan erişebilirsiniz. wunderground-sensehat dizininize geçin ve ardından şunu yazarak sensehat.py dosyanıza nano girin:

$ nano sensehat.py

İlk satırda SenseHat kitaplığını komut dosyasına aktardığımıza dikkat edin. Bu betiği çalıştırmadan önce kullanıcı parametrelerimizi ayarlamamız gerekiyor.

# --------- Kullanıcı Ayarları --------- ŞEHİR = "Nashville"

BUCKET_NAME = ":partly_sunny: " + ŞEHİR + " Hava Durumu"

BUCKET_KEY = "sensehat"

ACCESS_KEY = "Erişim_Anahtarınız"

SENSOR_LOCATION_NAME = "Ofis"

MINUTES_BETWEEN_SENSEHAT_READS = 0.1

# ---------------------------------

Özellikle, ACCESS_KEY'inizi Başlangıç Durumu hesap erişim anahtarınıza ayarlamanız gerekir. Tek bir Python satırında (örneğin, Sense.get_temperature()) Sense HAT'tan veri okumanın ne kadar kolay olduğuna dikkat edin.

$ sudo python sensehat.py

İlk Durum hesabınıza gidin ve Sense HAT tarafından oluşturulan yeni veri paketini görüntüleyin.

Şimdi hepsini bir araya getirmeye ve hiper yerel hava durumu kontrol panelimizi oluşturmaya hazırız!

Adım 4: Hiper Yerel Hava Durumu Gösterge Tablosu

Hiper Yerel Hava Durumu Gösterge Tablosu
Hiper Yerel Hava Durumu Gösterge Tablosu
Hiper Yerel Hava Durumu Gösterge Tablosu
Hiper Yerel Hava Durumu Gösterge Tablosu

Bu projedeki son adım, Hava Verilerimizi ve Sense HAT komut dosyamızı tek bir Gösterge Tablosunda birleştirmek. Bunu yapmak için, son adımda oluşturduğumuz Sensehat panomuza hava durumu verilerini eklemek için Weatherstack ile İlk Durum Entegrasyonunu kullanacağız.

Weatherstack API'sini kullanmak son derece basittir. Bu öğreticide geçmişte, bir hava durumu verileri API'sinden veri çekmek için bir komut dosyası oluşturup çalıştırmanızı sağladık, ancak bu öğreticinin başlangıcından bu yana İlk Durum, Veri Entegrasyon Pazarı'nı oluşturdu. Data Integration Marketplace, API'lere kod olmadan bir İlk Durum panosuna erişme ve akış yapma gücü verir. Kelimenin tam anlamıyla sadece birkaç fare tıklaması ve BAM: hava durumu verileri. Medium'da, Weatherstack entegrasyonunun nasıl kullanılacağı ve hava durumu uyarılarının nasıl oluşturulacağı hakkında daha ayrıntılı bir eğitim yazdım, ancak nasıl başlayacağınızı aşağıda hızlı bir şekilde listeleyeceğim..

Weatherstack Entegrasyonunu Kullanma

1. İlk Durum hesabınıza giriş yapın

2. Entegrasyon sayfasındaki Weatherstack kutusundaki ayrıntılar düğmesini tıklayın. Bu sayfa size entegrasyonla ilgili tüm temel bilgileri ve onu kullanmak için gerekenleri anlatacaktır. Bu durumda, hava durumunu izlemek isteyeceğiniz bir konumun posta koduna (veya enlem ve boylam) ihtiyacınız olacak ve bu verileri hangi birimlerde görmek isteyeceğinizi bilmeniz gerekecek. (metrik, bilimsel veya ABD emperyal).

3. Kurulumu Başlat düğmesine tıklayın ve ekranınızın sağ tarafından bir modal açılır penceresi göreceksiniz. Bu hava durumu verilerinin yuvarlanmasını izlemeye başlamadan önce atacağımız birkaç kolay adım var:

4. Yeni gösterge tablonuza bir ad verin. Benimki Nashville Weather. Pro ipucunu seçtim: Gösterge tablolarımda emojileri biraz daha çekici kılmak için kullanmayı seviyorum. Mac'te emojiyi bulmanın hızlı bir yolu Ctrl+Command+Boşluk çubuğudur. Windows için Windows düğmesini ve nokta (.) veya noktalı virgül (;) öğesini basılı tutun. 2 5. Konumunuzu yazın. İzlemek istediğim bölgenin Posta Kodunu kullanıyorum, ancak daha spesifik olmak için Enlem ve Boylam da koyabilirsiniz. Bölgenizin enlem ve boylamını sadece google maps'e giderek, bir yer arayarak ve ardından enlem ve boylamı tarayıcıdan kopyalayıp forma yapıştırarak bulmak kolaydır. Şu anda yalnızca ABD, İngiltere ve Kanada konumları kullanılabilir.

6. Birimlerinizi seçin. ABD'de yaşadığım için ABD/İmparatorluk'u seçtim.

7. Yeni bir kova oluşturmayı veya Hava Yığını verilerinizi mevcut bir kovaya göndermeyi seçin. Bu eğitimde, Sense Hat'inizi Başlangıç Durumuna akış yapacak şekilde zaten ayarladıysanız (son adımda), yalnızca Hava Yığını verilerini şu adrese gönderin: o kova.

8. Weatherstack'in gönderdiği tüm verileri mi yoksa yalnızca belirli hava durumu verilerinin mi panonuza gönderilmesini istediğinizi seçin. Her zaman tüm verileri gönderebilir ve daha sonra birkaç döşemeyi çıkarabilirsiniz.

9. Gösterge tablonuzun hava koşullarıyla ne sıklıkta güncellenmesini istediğinizi seçin. Her 15 dakikada bir veya saatte bir arasında seçim yapabilirsiniz. Her 15 dakikada bir veri göndermenin, her saat göndermeye kıyasla fazladan bir jetona mal olduğunu unutmayın. Bu nedenle, aynı anda pazardaki diğer entegrasyonları kullanmak istiyorsanız, her saat başı anket yapmak isteyebilirsiniz. Her zaman entegrasyondan veri göndermeyi durdurabilir ve yeniden başlatabilir veya daha sonra veri gönderme sıklığını değiştirebilirsiniz. Ancak, durdurur ve yeniden başlarsanız, verilerinizde boşluklar olacaktır.

10. Entegrasyonu Başlat'a tıklayın. Artık Weatherstack'ten veri akışı yapıyorsunuz! İlk veri noktalarının devreye girdiğini görmek için "IoT Uygulamasında Görüntüle" düğmesini tıklayın.

11. Kontrol panelinizi özelleştirin. Yeni bir kovaya yayın yapıyorsanız, başlamanız için size bir şablon hazırladık. Ancak, bunu kendin yapmalısın! Zaman çizelgesini aşağı çekmek için panonuzun üst ortasındaki aşağı oka basın, Döşemeleri Düzenle'yi tıklayın, bazı döşemeleri hareket ettirin, yeniden boyutlandırın ve arka planı değiştirin. Kontrol panelini istediğiniz gibi yapın, böylece toplamak istediğiniz verileri kolayca alabilirsiniz. Burada sizin için oluşturduğumuz diğer Weatherstack şablonlarını da kullanabilirsiniz. Gösterge tablonuza biraz daha bağlam eklemek için, hava durumunu izlediğiniz konumu gösteren bir harita da ekleyebilirsiniz. Gösterge tablonuz ilk başta biraz çıplak görünebilir, ancak biraz zaman verin ve güzel geçmiş hava durumu verileriyle dolacak.

Adım 5: Kontrol Panelinize Harita Ekleyin (Bonus)

Kontrol Panelinize Harita Ekleyin (Bonus)
Kontrol Panelinize Harita Ekleyin (Bonus)
Kontrol Panelinize Harita Ekleyin (Bonus)
Kontrol Panelinize Harita Ekleyin (Bonus)
Kontrol Panelinize Harita Ekleyin (Bonus)
Kontrol Panelinize Harita Ekleyin (Bonus)

Hava durumu akışımızın konumunu gösteren panomuza kolayca bir harita döşemesi ekleyebiliriz. https://support.initialstate.com/knowledgebase/articles/800232-tiles-map-view adresindeki kutucuklardaki etkileşimli harita görünümü hakkında daha fazla bilgi edinebilirsiniz. Python betiğimize basitçe yeni bir streamer.log ifadesi ekleyebiliriz (ve bunu nasıl yapabileceğinizi bu bölümün sonunda açıklayacağım). Bunun yerine, bu fırsatı size gösterge tablonuza veri göndermenin farklı bir yolunu göstermek için kullanacağız.

1. Adım: Konumunuzun Enlem/Boylam Koordinatlarını Alın

Bulunduğunuz yerin enlem/boylam koordinatlarını almanız gerekir. Bunu yapmanın bir yolu, Google Haritalar'a gitmek, konumunuzu aramak ve tam konumunuzu yakınlaştırmaktır. URL'de enlem/boylam koordinatlarınızı göreceksiniz. Yukarıdaki örnekte koordinatlarım 35.925298, -86.8679478.

Koordinatlarınızı kopyalayın (2. adımda ihtiyacınız olacak) ve URL'den yanlışlıkla fazladan karakter kopyalamadığınızdan emin olun.

2. Adım: Gösterge Tablonuza Veri Göndermek İçin Bir URL Oluşturun

Kova rafında kova adının altındaki "ayarlar" bağlantısını tıklayın. Bu, yukarıdaki ekranı getirecektir. API Endpoint bölümündeki metni kopyalayın ve favori metin düzenleyicinize yapıştırın. Bunu, mevcut kovamıza ve kontrol panelimize veri göndermek için kullanabileceğimiz bir URL oluşturmak için kullanacağız. Kovamda, kopyaladığım metin şuna benziyor: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1 URL'nizde accessKey ve kovaKey olacak. URL'yi tamamlamak için URL parametrelerine bir akış adı ve değeri eklememiz gerekiyor.

URL'nize "&MapLocation=YOUR_COORDINATES_FROM_STEP1" ekleyin

(1. Adımdaki koordinatları girin, boşluk bırakmayın ve benimkini kopyalamayın!!)

Benimki şöyle görünüyor: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1&MapLocation=35.925298, -86.8679478

Tam URL'nizi tarayıcınızın adres çubuğuna yapıştırın ve enter tuşuna basın (veya komut isteminde 'curl' komutunu kullanın) harita koordinatlarınızı yeni kovanızdaki "MapLocation" akışına göndermek için.

Şimdi Tiles'daki panonuza bakarsanız (sabırsız olursanız yenilemeniz gerekebilir), mevcut konumunuza yakınlaştırılmış MapLocation adlı yeni bir Döşeme görünmelidir.

2. Adım Alternatif: Komut Dosyanızı Değiştirin

Yukarıdaki 2. Adımı gerçekten beğenmediyseniz, Python betiğinize başka bir streamer.log ifadesi ekleyebilirsiniz. Basitçe satırı ekleyin

streamer.log("HaritaKonumu", "SİZİN_KOORDİNATLARINIZ_FROM_ADIM1")

def main(): içinde bir yerde sensehat_wunderground.py betiğinin işlevi (girintiye dikkat edin b/c Python katı girinti kurallarına uymanızı gerektirir). Örneğin, 138 satırından hemen sonra streamer.log("MapLocation", "35.925298, -86.8679478") ekledim.

Adım 6: Sense Hat Sıcaklık Okumasını Düzeltme

Sense Hat Sıcaklık Okumasını Düzeltme
Sense Hat Sıcaklık Okumasını Düzeltme
Sense Hat Sıcaklık Okumasını Düzeltme
Sense Hat Sıcaklık Okumasını Düzeltme
Sense Hat Sıcaklık Okumasını Düzeltme
Sense Hat Sıcaklık Okumasını Düzeltme

Sense HAT'ınızın sıcaklık okumalarının biraz yüksek göründüğünü fark edebilirsiniz - çünkü öyleler. Suçlu, Pi'nin üzerinde otururken Sense HAT'ın etrafındaki havayı ısıtan Pi'nin CPU'su tarafından üretilen ısıdır.

Sıcaklık sensörünü kullanışlı hale getirmek için, ya HAT'ı Pi'den uzaklaştırmalıyız (ki bu da kompakt bir çözüm olmanın önemli faydasını ortadan kaldırır) ya da sıcaklık sensörü okumasını kalibre etmeye çalışmalıyız. CPU, sıcaklık sensörümüzü etkileyen parazitik ısının birincil nedenidir, bu yüzden korelasyonu bulmamız gerekiyor. Pi Zero için Enviro pHAT'ı incelerken, bir şapkanın sıcaklık okumasını etkileyen CPU sıcaklığını hesaba katan bir denklem bulduk. Kalibre edilmiş sıcaklığı hesaplamak için sadece CPU sıcaklığına ve bir ölçeklendirme faktörüne ihtiyacımız var:

temp_calibrated = temp - ((cpu_temp - temp)/FAKTÖR)

Faktörü gerçek sıcaklığı kaydedip çözerek bulabiliriz. Odadaki gerçek sıcaklığı bulmak için farklı bir sıcaklık sensörü kurulumuna ihtiyacımız var. Bir DHT22 sensörü kullanarak (kurulum talimatları burada ve komut dosyası burada), her iki sıcaklığı da aynı anda kaydedebilir ve görselleştirebiliriz:

Sonuç, Sense HAT okumasının oldukça tutarlı bir şekilde 5-6 derece Fahrenheit olduğunu ortaya koyuyor. Karışıma CPU sıcaklığı eklendiğinde (bu komut dosyasıyla), ilk önce aşırı derecede sıcak olduğunu gösterir ve ikinci olarak Sense HAT ölçümünün taklit ettiği bir tür dalga ortaya çıkar.

Yaklaşık 24 saat kayıt yaptıktan sonra, zaman içinde altı farklı noktada altı farklı okuma kullanarak faktörü çözdüm. Faktör değerlerinin ortalaması alındığında, 5.466'lık bir nihai faktör değeri elde edildi. Denklemi uygulamak

temp_calibrated = temp - ((cpu_temp - temp)/5.466)

kalibre edilen sıcaklık, gerçek sıcaklık okumasının bir derecesine ulaştı:

Bu kalibrasyon düzeltmesini, wunderground_sensehat.py betiğinin içindeki Pi'nin kendisinde çalıştırabilirsiniz.

7. Adım: Bonus: Kendi Hava Durumu Uyarılarınızı Yapılandırın

Bonus: Kendi Hava Durumu Uyarılarınızı Yapılandırın
Bonus: Kendi Hava Durumu Uyarılarınızı Yapılandırın
Bonus: Kendi Hava Durumu Uyarılarınızı Yapılandırın
Bonus: Kendi Hava Durumu Uyarılarınızı Yapılandırın

Sıcaklık donma noktasının altına düştüğünde bir SMS uyarısı oluşturalım.

Destek sayfasında özetlenen Tetikleyici bildirim kurulum sürecini takip edeceğiz.

Hava durumu veri paketinizin yüklendiğinden emin olun.

Veri rafında (adının altında) paketin ayarlarına tıklayın.

Tetikleyiciler sekmesine tıklayın.

Tetiklenecek veri akışını seçin (bir veri paketi yüklendikten sonra mevcut akışlardan seçim yapmak için açılır listeyi kullanabilir veya akış adını/anahtarını manuel olarak yazabilirsiniz; *Not Safari, HTML5 açılır listelerini desteklemez). Yukarıdaki örnek ekran görüntüsünde, Sıcaklık(F) öğesini seçtim.

Bu durumda '<' koşullu operatörünü seçin.

Bir eylemi tetikleyecek Tetik değerini seçin (istenen değeri manuel olarak yazın). Bu durumda, yukarıda gösterildiği gibi 32 yazın.

Tetikleyici koşulunu eklemek için '+' düğmesini tıklayın.

Eylemi seçin (mevcut eylemler SMS veya e-posta ile bildirilir).

Eylemi eklemek için '+' düğmesini tıklayın. Kurulumu tamamlamak için yeni bir telefon numarası veya e-posta ekliyorsanız doğrulama kodunu girin.

Tetikleyiciniz artık canlı ve koşul karşılandığında tetiklenecek. Ana ekrana dönmek için bitti'ye tıklayın.

PIR SMS

Sıcaklık 32'nin altına düştüğünde, bir metin mesajı alacaksınız. Hava durumu verileri kovanızdaki herhangi bir şey için uyarı ayarlarsınız (*gerçek emojileri değil, emoji belirteçlerini kullanmanız gerektiğini unutmayın).

Örneğin, her yağmur yağdığında

:bulut: Hava Koşulları =:şemsiye:

Rüzgarlı olduğunda

:tire: Rüzgar Hızı(MPH) > 20

vesaire.

Adım 8:

Nesnelerin İnterneti Yarışması 2016
Nesnelerin İnterneti Yarışması 2016
Nesnelerin İnterneti Yarışması 2016
Nesnelerin İnterneti Yarışması 2016

2016 Nesnelerin İnterneti Yarışmasında İkincilik Ödülü

Önerilen: