İçindekiler:

Raspberry Pi İnternet Hava Durumu İstasyonu: 5 Adım (Resimlerle)
Raspberry Pi İnternet Hava Durumu İstasyonu: 5 Adım (Resimlerle)

Video: Raspberry Pi İnternet Hava Durumu İstasyonu: 5 Adım (Resimlerle)

Video: Raspberry Pi İnternet Hava Durumu İstasyonu: 5 Adım (Resimlerle)
Video: Setting Up Bresser 5-in-1 Weather Station - Backyard Meteorology 2024, Temmuz
Anonim
Raspberry Pi İnternet Hava Durumu İstasyonu
Raspberry Pi İnternet Hava Durumu İstasyonu
Raspberry Pi İnternet Hava Durumu İstasyonu
Raspberry Pi İnternet Hava Durumu İstasyonu

*** Güncelleme ***

Bu Eğitilebilirlik güncelliğini yitirdi. Bu Talimatta kullanılan hava durumu verileri için hava durumu hizmetleri artık çalışmıyor. ANCAK, temelde aynı şeyi yapan alternatif bir proje var (sadece daha iyisi - bu Eğitilebilir Tablo her zaman sadece bir hack oldu). İşte takip etmek isteyeceğiniz bağlantı:

https://piweatherrock.technicalissues.us/

PiWeatherRock'taki Gene Liverman'a bu projeyi üstlendiği için çok teşekkür ederim.

Bu Eğitilebilir Tablo size gerçekten harika bir Raspberry Pi İnternet tabanlı hava durumu istasyonunu nasıl kuracağınızı gösterecektir. Aslında, bu yapıya "hava durumu istasyonu" demek biraz yetersiz kalıyor. Bu yapı, hava durumundan çok daha fazlasını sağlamak için kolayca genişletilebilir. Ancak, bu iyi bir başlangıç ve masamda gerçekten harika görünüyor.

Ailemiz (tamam, çoğunlukla ben) aile iPad'inin kullanılmadığı zamanlarda mutfak tezgahında mevcut dış hava koşullarını sessizce göstermesinden keyif aldı. Bununla birlikte, iPad'i arcade beşiği kasasına girip çıkarmak bir acıdır. Ayrıca, hava durumuna bakmaya gittiğimde, birinin iPad / hava durumu ekranını aldığını keşfediyorum. İhtiyaç duyulan şey, çocukların iPad gibi kaydırmayacağı kalıcı bir tezgah üstü ekran.

1. Adım: 1. Nesil - Lunchbox Pi Hava İstasyonu

Gen 1 - Lunchbox Pi Hava İstasyonu
Gen 1 - Lunchbox Pi Hava İstasyonu
Gen 1 - Lunchbox Pi Hava İstasyonu
Gen 1 - Lunchbox Pi Hava İstasyonu

İlk düşüncem, küçük bir kompozit video ekranı kullanmaktı. Ebay'deki resimdekini 22 dolara aldım - sadece "4.3 İnç TFT LCD Araba Arka Görüş Monitörü Araba Monitörü" araması yapın. Ekranın bildirilen 656 x 416 piksel çözünürlüğü var ve bu da meydan okurcasına birçok yararlı bilgiyi görüntülemeyi zorlaştırıyor! Ekran, besleme voltajı olarak 12Vdc gerektirir. Raspberry Pi'nin besleme gerilimi olarak elbette 5Vdc'ye ihtiyacı var. Bunu çözmek için Amazon'dan ucuz bir USB araç şarj cihazı satın aldım. Yaklaşık 6 dolar için 2 Amperlik bir araba değiştirici ile 5Vdc buldum. Bu nedenle, beslenme çantasında harici bir 12Vdc duvar siğil güç kaynağı bulunur. 12Vdc, ekrana doğrudan güç sağlar. 12Vdc ayrıca voltajı düzenlenmiş bir 5Vdc'ye düşüren USB araç şarj cihazına da gider. Son bir hack olarak, doğrudan araba şarj cihazı ile Raspberry Pi arasına bir çift kablo lehimledim - en iyi fikrim değil.

Her şey yolunda giderken, kompozit ekrandaki videonun kalitesinden pek memnun kalmadım. Ekrandaki küçük yazı tipi istediğimden daha bulanıktı. Ayrıca, beslenme çantası ilk başta sevimli görünse de, daha sonra biraz sevimsiz görünüyordu.

2. Adım: 2. Nesil - HDMI Monitör + Lazer Kesimli Pleksiglas Atari Çantası

Gen 2 - HDMI Monitör + Lazer Kesimli Pleksiglas Atari Kılıfı
Gen 2 - HDMI Monitör + Lazer Kesimli Pleksiglas Atari Kılıfı
Gen 2 - HDMI Monitör + Lazer Kesimli Pleksiglas Atari Kılıfı
Gen 2 - HDMI Monitör + Lazer Kesimli Pleksiglas Atari Kılıfı
Gen 2 - HDMI Monitör + Lazer Kesimli Pleksiglas Atari Çantası
Gen 2 - HDMI Monitör + Lazer Kesimli Pleksiglas Atari Çantası

EBay'e geri döndüğümde, 800x600 çözünürlüğe sahip güzel görünümlü 54 dolarlık bir HDMI açık çerçeve monitör buldum. Tanım olarak, açık bir çerçevenin içine monte edilecek bir çerçeveye ihtiyacı vardır. Beslenme çantasının şirinliği uzun sürdüğü için, lazerle kesilmiş akriliklerin zamanı gelmişti. Yerel bilgisayar korsanlığı alanım i3Detroit, 4,5 mm akrilikten kıyma yapabilen gerçekten güzel bir 150 watt'lık kesiciye sahip.

Arcade kasamı gevşek bir şekilde iPad arcade kutusuna dayandırdım. Eğer bir Gen 3 tasarımı yaparsam, meydan okurcasına Pi için çıkarılabilir / kaydırılabilir bir tepsi içerecektir. Pi ve yan duvarlar arasında fazla yer olmadığı için Pi'ye bir şeyler takıp çıkarmaya çalışmak büyük bir boyun ağrısıdır.

HDMI monitör ayrıca 12Vdc besleme gerektirir. Bu yüzden, tekrar bir USB araç şarj cihazı kullanma hilesini kullandım. Ancak bu sefer eski bir USB kablosunu kestim, böylece Pi'de lehimlenmiş teller gerekli değildi.

Arcade vakasıyla ilgilenen varsa aşağıya bir yorum yazın, ben de DXF dosyalarını yükleyeceğim. Veya dosyalar ph-elec.com adresindeki web sitemde.

Adım 3: Pi Kurulumu

Pi Kurulumu
Pi Kurulumu

Gerekli yazılımla yeni bir Raspberry Pi kurmak o kadar da zor değil. Tüm yazılımlar, yalnızca bir Python modülü eklenerek Python'da yazılmıştır. Ekstra Python modülüne "pywapi" denir. Modülü indirebileceğiniz link aşağıdadır. Bu modül Yahoo, Weather.com veya NOAA'dan gerçek zamanlı hava durumu almayı kolaylaştırır.

Her şeyden önce, işte ham bir Raspberry Pi kurmak için bir kontrol listesi:

  1. En son Raspbian'ı (Debian Wheezy) indirin. Bir.img dosyası elde etmek için sıkıştırmayı açın.
  2. "dd bs=4M if=2014-09-09-wheezy-raspbian.img of=/dev/sdb" ile bir SD karta yazın
  3. dd komutu yaklaşık beş dakika sürer. Tamamlandığında, boruları yıkamak için "eşzamanlamayı" çalıştırın.
  4. Pi'ye SD kartı takın ve yeniden başlatın. Pi'ye bir Ethernet bağlantısı olduğundan emin olun.
  5. Yönlendiricideki "Ekli Aygıtlar" sayfasını kullanarak yeni Pi'nin IP adresini bulun.
  6. "ssh [email protected].???" kullanarak Pi'ye giriş yapın nerede ??? yukarıdaki IP numarasıdır. Şifre "ahududu" olacaktır.
  7. Pi'de, varsayılanları ayarlamak için "raspi-config" komutunu kullanın.

    1. GUI'ye otomatik önyüklemeyi açın.
    2. Ana bilgisayar adını "MyPi" gibi bir şeye ayarlayın.
  8. VNC'yi "sudo apt-get install sıkıvncserver" ile Pi'ye kurun.

    Şifreyi belirleyen "tightvncserver"ı çalıştırın

  9. Büyük Linux kutusuna geri dönün, Pi GUI masaüstünü görüntülemek için "Uzak Masaüstü"nü kullanın.

    1. Protokolü "VNC" ve IP numarasını "192.168.1.???:1" olarak ayarlayın. IP numarasının sonundaki ":1"e dikkat edin.
    2. Bağlan düğmesine basın ve VNC şifresini girin.
    3. Bingo, uzak GUI Pi masaüstü!

      Bu, yeni Pi'ye bağlanmak için bir monitörü, klavyeyi ve fareyi dışarı sürüklemekten tasarruf sağlar

    4. Masaüstünde WiFi kurulum simgesini çalıştırın. Ağa bağlanmak için yeni Pi / USB WiFi'yi kurun.
    5. VNC bağlantısını kapatın - artık uzak masaüstleriyle işimiz bitti.
  10. Ssh penceresine geri dönün, Pi'yi "sudo yeniden başlatma" ile yeniden başlatın. WiFi şimdi kurulduğundan, Ethernet kablosunu çıkarın.
  11. Ev yönlendiricisine geri döndüğünüzde, Pi'nin WiFi ile kullandığı yeni IP numarasını bulun.
  12. Ssh kullanarak yeni IP numarasını kullanarak tekrar oturum açın. Bu sefer bağlantı WiFi üzerinden olacak.
  13. Linux'ta Dosya Yöneticisini kullanarak "sunucuya bağlan" komutunu kullanarak Pi'ye bağlanın.

    Sunucu adresi "sftp://192.168.1.???/home/pi"dir

  14. Temel kurulum tamamlandı.

Ardından, pywapi'nin indirilmesi ve kurulması gerekiyor. Yine, aşağıdaki adımlarla bu çok zor değil:

  1. En son buradan indirin. Arşivi yeni bir dizine çıkarın.
  2. Dosya Yöneticisini kullanarak dizini Pi ana dizinine kopyalayın.
  3. ssh kullanarak Pi'de aşağıdakileri yapın:

    1. cd pywapi-0.3.8
    2. sudo python setup.py yapı
    3. sudo python setup.py kurulumu
  4. Tamamlandı.

Güncelleme, iki şeyden bahsetmeyi unuttum:

  1. Pi'de aşağıdaki komutu çalıştırın:

    1. sudo apt-get install avahi-daemon

      Bu, Pi'ye isimle bağlanmaya izin verir. Yani ana bilgisayarınızda IP numaralarını kullanmak yerine "ssh [email protected]" olarak bağlanabilirsiniz. Ağda birden fazla Pi olduğunda, adlarıyla seslenilmedikçe onları karıştırmak kolaydır

    2. sudo raspi yapılandırması

      1. "Uluslararasılaştırma Seçenekleri" adlı 4. seçeneği bulun ve çalıştırın ve saat diliminizi ayarlayın.
      2. Saat dilimi ayarlanmış ve ntpd (ağ zaman protokolü arka plan programı) çalıştırıldığında, Pi her zaman birkaç milisaniye içinde doğru zamanı gösterecektir! Seveceksin.
  2. Tamam, şimdi tekrar işimiz bitti.

Adım 4: Kaynak Kodu

Kaynak kodu
Kaynak kodu

Bu küçük hava durumu gösteriminin tüm kaynak kodu Python, PyGame ve Pywapi'ye dayanmaktadır. Tüm açık kaynak / özgür yazılımlar.

PyGame, tüm GUI işlerini yapmak için kullanılır. Gerçekten harika şeyler. PyGame kullanılarak tüm ekran saniyede bir kez yeniden oluşturulur. Kaynak kodumun üst kısmına yakın bir yerde, farklı ekran boyutları için ince ayar yapılmasına izin veren bir bölüm bulacaksınız. Küçük kompozit video ekranı için bir bölüm ve daha büyük HDMI ekranı için ikinci bir bölüm vardır. İhtiyacım olan ekran boyutuna göre iki bölümden birini yorumluyorum.

Kaynak kodumu çalıştırmak için eki açın ve Dosya Yönetimi'ni kullanarak tüm dizini Pi'ye kopyalayın. Kopyalandıktan sonra, aşağıdaki ssh komutlarını kullanarak kodu başlatın:

  1. cd Hava Durumu
  2. sudo python hava durumu.py

Python'un GPIO pinlerini kontrol edebilmesi/okuyabilmesi için sudo komutu gereklidir. Muhtemelen bu kısıtlamayı aşmanın bir yolu vardır ama benden kaçıyor.

Her şey ssh kullanılarak çalışmaya başladığında, havanın yeniden başlatma sırasında otomatik olarak başlamasının zamanı geldi. Bunu yapmak da gerçekten çok kolay.

  1. ssh kullanarak "sudo vi /etc/rc.local" komutunu çalıştırın
  2. "Çıkış 0" yazan son satırdan hemen önce satırlara aşağıdakileri ekleyin.

    1. cd /home/pi/Hava Durumu
    2. sudo python weather.py &> err.log

Bu, yeniden başlatmanın ardından Pi'deki hava durumu uygulamasını otomatik olarak başlatır. Daha sonra bunu kapatmak isterseniz, dosyayı düzenlemek için ssh kullanın ve her iki satırın önüne "#" yorum karakterini ekleyin ve yeniden başlatın.

Not, kaynak kodum büyük bir hack ve bununla gurur duymuyorum. Ancak, prezentabl olana kadar bekleseydim asla sunulmazdı. Öyleyse al ya da bırak, çok ince bir cildim olduğu için ağlama.

Kodum hakkında dikkat edilmesi gereken birkaç şey daha var. Orada gömülü bir X10 cihazıyla konuşmak için bazı kodlar göreceksiniz. Bu, A3 adresindeki dış direk ışıklarımı kontrol etme girişimimdi. Ben sadece lambaların alacakaranlıkta açık olmasını ve şafakta sönmesini istiyordum. Yeterince kolay görünüyor ve işe yaradığını düşündüm. Pi'de bir USB'den RS232'ye dongle kullanarak bir CM11A X10 modülü bağlamıştım. CM11A eski bir X10 makro modülüdür. CM11A ayrıca X10 veri yolu üzerinde kontrole izin veren bir RS232 bağlantı noktasına sahiptir. Lamba direği ışıkları mesajı alamadığından hala bazı hatalar var gibi görünüyor!

Ayrıca, daha büyük ekranda ekranın sağ tarafında güzel bir açık boşluk olduğunu unutmayın. Planım, o bölgeye bazı durum lambaları eklemek. Bazı IEEE802.15.4 radyolarla oynuyorum ve çıktıları bir gün bu açık noktada görünecek.

En son ve en büyük güncellemeler için lütfen ph-elec.com adresindeki web sitemi ziyaret edin.

Peki, sorularınızı aşağıdaki yorumlar bölümünde bana bildirin.

Teşekkürler.

Oh, ve bana oy vermeyi unutma! Tekrar teşekkürler.

BTW: Web sitemde her zaman daha fazla bilgi vardır: www.ph-elec.com

Adım 5: Metrik Güncelleme

Ekli, metrik veya emperyal gösterime izin veren yeni bir sürümdür.

Bu yardımcı olur umarım, Jim

Önerilen: