Mündəricat:

Raspberry Pi İnternet Hava İstasyonu: 5 addım (şəkillərlə)
Raspberry Pi İnternet Hava İstasyonu: 5 addım (şəkillərlə)

Video: Raspberry Pi İnternet Hava İstasyonu: 5 addım (şəkillərlə)

Video: Raspberry Pi İnternet Hava İstasyonu: 5 addım (şəkillərlə)
Video: eMuderris, IOT ödev02, Raspberry Pi ile Iot Hava İstasyonu 2024, Iyul
Anonim
Raspberry Pi İnternet Hava Stansiyası
Raspberry Pi İnternet Hava Stansiyası
Raspberry Pi İnternet Hava Stansiyası
Raspberry Pi İnternet Hava Stansiyası

*** Yeniləmə ***

Bu Təlimat köhnəlib. Bu Təlimatda istifadə olunan hava məlumatları üçün hava xidmətləri artıq işləmir. Bununla birlikdə, əsasən eyni şeyi edən alternativ bir layihə var (yalnız daha yaxşı - bu Təlimat həmişə yalnız bir hack idi). Budur, izləmək istədiyiniz link:

https://piweatherrock.technicalissues.us/

PiWeatherRock -da Gene Liverman -a bu layihənin mantiyasını götürdüyünüz üçün çox sağ olun.

Bu Təlimat sizə həqiqətən gözəl bir İnternet-Raspberry Pi hava stansiyası qurmağı göstərəcək. Əslində, bu quruluşa "hava stansiyası" demək bir az gizli bir ifadədir. Bu bina, hava şəraitindən daha çoxunu təmin etmək üçün asanlıqla uzadıla bilər. Ancaq yaxşı bir başlanğıcdır və masamda həqiqətən sərin görünür.

Ailəmiz (tamam, əsasən mən), istifadə edilmədikdə, mövcud xarici hava şəraitini sakitcə göstərən mətbəx tezgahında ailə iPad -inə sahib olmaqdan zövq aldı. Bununla birlikdə, iPad'i arcade beşik qutusuna daxil etmək və çıxarmaq ağrılıdır. Üstəlik, havaya baxmağa gedəndə kiminsə iPad / hava ekranını götürdüyünü görürəm. Lazım olan şey, uşaqların iPad kimi sürüşməyəcəyi daimi bir üst ekrandır.

Addım 1: Gen 1 - 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üşüncəm kiçik bir kompozit video ekran istifadə etmək idi. Ebaydakı şəkildəki birini 22 dollara aldım - sadəcə "4.3 İnç TFT LCD Avtomobil Arxa Görünüşlü Avtomobil Avtomobil Monitoru" nu axtarın. Ekranın 656 x 416 piksellik bir qətnaməsi var ki, bu da bir çox faydalı məlumatın göstərilməsini çətinləşdirir! Təchizat gərginliyi üçün ekran 12Vdc tələb edir. Raspberry Pi, əlbəttə ki, təchizat gərginliyi olaraq 5Vdc lazımdır. Bunu həll etmək üçün Amazon -dan ucuz bir USB avtomobil şarj cihazı aldım. Təxminən 6 dollara 2 Amp olan 5Vdc tapdım. Buna görə, nahar qutusunda xarici 12Vdc divar siğili enerji təchizatı var. 12Vdc birbaşa ekranı gücləndirir. 12Vdc, gərginliyi tənzimlənən 5Vdc -ə endirən USB avtomobil şarj cihazına da gedir. Son bir hack olaraq, avtomobil şarj cihazı ilə Raspberry Pi arasında birbaşa bir cüt tel qoydum - bu mənim ən yaxşı fikrim deyil.

Hər şey işləsə də, kompozit ekrandakı videonun keyfiyyəti məni qane etmədi. Ekrandakı kiçik yazı tipi istədiyimdən daha qeyri -səlis idi. Əlavə olaraq, nahar qutusu əvvəlcə şirin görünsə də, sonradan ləzzətli göründü.

Addım 2: Gen 2 - HDMI Monitor + Lazer Kəsmə Pleksiglas Arcade Çantası

Gen 2 - HDMI Monitor + Lazerlə kəsilmiş Pleksiglas Arcade Çantası
Gen 2 - HDMI Monitor + Lazerlə kəsilmiş Pleksiglas Arcade Çantası
Gen 2 - HDMI Monitor + Lazerlə kəsilmiş Pleksiglas Arcade Çantası
Gen 2 - HDMI Monitor + Lazerlə kəsilmiş Pleksiglas Arcade Çantası
Gen 2 - HDMI Monitor + Lazerlə kəsilmiş Pleksiglas Arcade Çantası
Gen 2 - HDMI Monitor + Lazerlə kəsilmiş Pleksiglas Arcade Çantası

Geri eBay -də, 800x600 qətnamə ilə 54 dollarlıq gözəl bir HDMI açıq çərçivə görünüşlü görünüşlü bir monitor tapdım. Tərifə görə, hər hansı bir çərçivəyə montaj etmək üçün bir çərçivə lazımdır. Yemək qutusunun şirinliyi çox uzun olduğundan lazerlə kəsilmiş akrilin vaxtı gəldi. Yerli hacker yerim i3Detroit, 4,5 mm akrildən doğranmış ət hazırlaya bilən həqiqətən gözəl 150 vatt kəsiciyə malikdir.

Arcade qutumu iPad arcade qutusuna sərbəst şəkildə qurdum. Bir Gen 3 dizaynı hazırlasaydım, əyilmədən Pi üçün çıxarıla bilən / çıxarılan bir tepsi daxil edərdi. Məlum olur ki, Pi ilə yan divarlar arasında çox yer olmadığından şeyləri Pi -yə bağlamağa çalışmaq boyundakı böyük bir ağrıdır.

HDMI monitoru üçün də 12Vdc qidalanma lazımdır. Beləliklə, eyni üsulla USB avtomobil şarj cihazından istifadə etdim. Ancaq bu dəfə köhnə bir USB kabelini kəsdim, buna görə Pi üzərində lehimli tellər lazım deyildi.

Arcade işi ilə maraqlanan varsa, aşağıda bir şərh yazın və DXF sənədlərini yükləyim. Və ya fayllar ph-elec.com saytındakı veb saytımdadır.

Addım 3: Pi qurulması

Pi Quraşdırma
Pi Quraşdırma

Lazımi proqram təminatı ilə yeni bir Raspberry Pi qurmaq o qədər də çətin deyil. Bütün proqramlar yalnız bir Python modulu ilə Python -da yazılmışdır. Əlavə Python moduluna "pywapi" deyilir. Modulu yükləyə biləcəyiniz bir link burada. Bu modul Yahoo, Weather.com və ya NOAA-dan real vaxt havası əldə etməyi asanlaşdırır.

Hər şeydən əvvəl, xam bir Raspberry Pi qurmaq üçün bir yoxlama siyahısı:

  1. Ən son Raspbian (Debian Wheezy) yükləyin.. İmg faylını əldə etmək üçün açın.
  2. SD karta "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of//dev/sdb" yazın
  3. Dd əmri təxminən beş dəqiqə çəkir. Tamamlandıqda boruları yuymaq üçün "senkronizasiya" işlədin.
  4. SD kartını Pi -yə quraşdırın və yenidən başladın. Pi ilə Ethernet bağlantısı olduğundan əmin olun.
  5. Routerdəki "Əlavə edilmiş Cihazlar" səhifəsini istifadə edərək, yeni Pi -nin IP ünvanını tapın.
  6. "Ssh [email protected]. ???" istifadə edərək Pi -yə daxil olun. harda ??? yuxarıdakı IP nömrəsidir. Şifrə "moruq" olacaq.
  7. Pi-də, varsayılanları qurmaq üçün "raspi-config" əmrindən istifadə edin.

    1. GUI -də avtomatik yükləməni aktiv edin.
    2. Ev sahibi adını "MyPi" kimi bir şeyə təyin edin.
  8. VNC-ni "sudo apt-get install tightvncserver" ilə Pi üzərinə quraşdırın.

    Şifrəni təyin edən "tightvncserver" ı işə salın

  9. Böyük Linux qutusuna qayıdın, Pi GUI masaüstünə baxmaq üçün "Uzaq Masaüstü" ndən istifadə edin.

    1. Protokolu "VNC" və IP nömrəsini "192.168.1.???:1" olaraq təyin edin. IP nömrəsinin sonundakı ": 1" işarəsinə diqqət yetirin.
    2. Bağlantı düyməsini vurun və VNC şifrəsini daxil edin.
    3. Bingo, uzaq GUI Pi masa üstü!

      Bu, yeni Pi -yə qoşulmaq üçün bir monitor, klaviatura və siçan çıxartmaqdan xilas edir

    4. Masaüstünde WiFi qurma simgesini işlədin. Şəbəkəyə qoşulmaq üçün yeni Pi / USB WiFi qurun.
    5. VNC bağlantısını bağlayın - indi uzaq masaüstləri ilə işimiz bitdi.
  10. Geri ssh pəncərəsində, "sudo reboot" ilə Pi'yi yenidən başladın. WiFi qurulduğundan Ethernet kabelini ayırın.
  11. Ev yönləndiricisinə qayıdın, Pi -nin WiFi ilə istifadə etdiyi yeni IP nömrəsini tapın.
  12. Ssh istifadə edərək, yeni IP nömrəsini istifadə edərək yenidən daxil olun. Bu dəfə əlaqə WiFi üzərindən olacaq.
  13. Linux -da Fayl Yöneticisini istifadə edərək, "serverə qoşul" əmrini istifadə edərək Pi -yə qoşulun.

    Server ünvanı "sftp: //192.168.1. ???/home/pi" dir

  14. Əsas quraşdırma tamamlandı.

Sonra, pywapi yüklənməli və quraşdırılmalıdır. Yenə də aşağıdakı addımlarla çox çətin deyil:

  1. Ən sonunu buradan yükləyin. Arxivi yeni bir qovluğa çıxarın.
  2. Fayl menecerindən istifadə edərək, qovluğu Pi ev qovluğuna kopyalayın.
  3. Ssh istifadə edərək Pi -də aşağıdakıları edin:

    1. cd pywapi-0.3.8
    2. sudo python setup.py qurmaq
    3. sudo python setup.py qurun
  4. Bitdi.

Yeniləyin, iki başqa iki şeyi xatırlamağı unutdum:

  1. Pi -də aşağıdakı əmri işlədin:

    1. sudo apt-get avahi-daemon quraşdırın

      Bu, Pi -yə adla qoşulmağa imkan verir. Beləliklə, əsas kompüterinizdə IP nömrələrini istifadə etmək əvəzinə "ssh [email protected]" olaraq əlaqə qura bilərsiniz. Şəbəkədə birdən çox Pi varsa, adı ilə çağırılmadıqda onları qarışdırmaq asandır

    2. sudo raspi-config

      1. "Beynəlxalqləşmə Seçimləri" adlı 4 -cü seçimi axtarın və işləyin və vaxt qurşağınızı təyin edin.
      2. Saat qurşağı və ntpd (şəbəkə vaxtı protokolu daemonu) ilə işləyərkən həmişə düzgün vaxtı bir neçə milisaniyə ərzində göstərəcək! Sevmək lazımdır.
  2. Tamam, indi yenidən bitirdik.

Addım 4: Mənbə Kodu

Mənbə Kodu
Mənbə Kodu

Bu kiçik hava görüntüsü üçün bütün mənbə kodları Python, PyGame və Pywapi -yə əsaslanır. Bütün açıq mənbə / pulsuz proqramlar.

PyGame bütün GUI işlərini yerinə yetirmək üçün istifadə olunur. Həqiqətən heyrətamiz şeylər. PyGame istifadə edərək, bütün ekran saniyədə bir dəfə yenidən qurulur. Mənbə kodumun üst hissəsinin yaxınlığında fərqli ekran ölçüləri üçün düzəliş etməyə imkan verən bir bölmə tapa bilərsiniz. Kiçik kompozit video ekranı üçün bir bölmə və daha böyük HDMI ekranı üçün ikinci bölmə var. Sadəcə ehtiyacım olan ekran ölçüsünə əsaslanaraq iki hissədən birini şərh edirəm.

Mənbə kodumun işləməsini təmin etmək üçün əlavəni açın və Fayl İdarəçiliyindən istifadə edərək bütün qovluğu Pi üzərinə kopyalayın. Kopyalandıqdan sonra, aşağıdakı ssh əmrlərindən istifadə edərək kodu işə salın:

  1. cd Hava
  2. sudo python hava şəraiti.py

Python GPIO pinlərini idarə edə / oxuya bilməsi üçün sudo əmrinə ehtiyac var. Yəqin ki, bu məhdudiyyətin bir yolu var, amma bu, məni kənara qoyur.

Hər şey ssh istifadə edərək işə başladıqdan sonra havanın avtomatik olaraq yenidən başladıqdan sonra başlamasının vaxtı gəldi. Bunu etmək həqiqətən də çox asandır.

  1. Ssh istifadə edərək "sudo vi /etc/rc.local" ı işlədin
  2. "Çıxış 0" deyən son sətirdən dərhal əvvəl sətirlərə aşağıdakıları əlavə edin.

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

Bu, yenidən başladıqdan sonra avtomatik olaraq Pi üzərindəki hava tətbiqinə başlayacaq. Daha sonra bunu söndürmək istəyirsinizsə, faylı düzəltmək və hər iki sətrin önünə "#" şərh simvolu əlavə etmək və yenidən başlatmaq üçün sadəcə ssh istifadə edin.

Diqqət edin, mənbə kodum böyük bir hackdir və bununla çox fəxr etmirəm. Ancaq təqdim olunana qədər gözləsəm, heç vaxt təqdim olunmazdı. Buna görə də götürün və ya tərk edin, çox incə bir dərim olduğuna görə ağlamayın.

Kodumla əlaqədar bir neçə başqa şey. Orada basdırıldıqda bir X10 cihazı ilə danışmaq üçün bir kod görəcəksiniz. Bu, A3 ünvanında olan kənar qütb işıqlarımı idarə etmək cəhdim idi. Sadəcə olaraq, lampaların qaranlıqda yandırılmasını və şəfəqdə sönməsini istədim. Kifayət qədər asan görünür və düşünürəm ki, işim var. Pi-də USB-dən RS232 dongle istifadə edərək CM11A X10 modulunu bağladım. CM11A köhnə X10 makro moduldur. CM11A, X10 avtobusuna nəzarət etməyə imkan verən RS232 portuna da malikdir. Hələ də bəzi səhvlər var, çünki lampa dirəyi işıqları mesajı almır!

Həm də qeyd etmək lazımdır ki, daha böyük ekranda ekranın sağ tərəfində gözəl bir açıq boşluq var. Mənim planım o sahəyə bəzi status lampaları əlavə etməkdir. Bəzi IEEE802.15.4 radioları ilə oynayıram və onların çıxışı bir gün o açıq yerdə görünəcək.

Ən son və ən böyük yeniləmələr üçün ph-elec.com saytındakı veb saytımı ziyarət edin.

Yaxşı, suallarınızın altındakı şərh bölməsində mənə bildirin.

Təşəkkürlər, Jim.

Oh, və mənə səs verməyi unutmayın! Bir daha təşəkkür edirəm.

BTW: Veb saytımda hər zaman daha çox məlumat var: www.ph-elec.com

Addım 5: Metrik Yeniləmə

Metrik və ya imperatorluğun göstərilməsinə imkan verən yeni bir versiya əlavə edilmişdir.

Ümid edirəm kömək edər, Cim

Tövsiyə: