Talaan ng mga Nilalaman:

Station ng Panahon ng Raspberry Pi sa Internet: 5 Hakbang (na may Mga Larawan)
Station ng Panahon ng Raspberry Pi sa Internet: 5 Hakbang (na may Mga Larawan)

Video: Station ng Panahon ng Raspberry Pi sa Internet: 5 Hakbang (na may Mga Larawan)

Video: Station ng Panahon ng Raspberry Pi sa Internet: 5 Hakbang (na may Mga Larawan)
Video: DR. VICKI BELO's TRANSFORMATION💖🤩#vickibelo #doctor #transformation #viral #trending 2024, Nobyembre
Anonim
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station
Raspberry Pi Internet Weather Station

*** Update ***

Ang Instructable na ito ay hindi na napapanahon. Ang mga serbisyo sa panahon para sa data ng panahon, na ginagamit sa Instructable na ito, ay hindi na gumagana. Gayunpaman, mayroong isang kahaliling proyekto na karaniwang ginagawa ang parehong bagay (mas mahusay lamang - ang Instructable na ito ay palaging isang pag-hack lamang). Kaya narito ang link na nais mong sundin:

https://piweatherrock.technicalissues.us/

Maraming salamat sa pagpunta sa Gene Liverman sa PiWeatherRock para kunin ang mantle sa proyektong ito.

Ipapakita sa iyo ng Instructable na ito kung paano bumuo ng isang talagang cool na istasyon ng panahon na batay sa Internet sa Raspberry Pi. Sa totoo lang, upang tawagan itong bumuo ng isang "istasyon ng panahon" ay medyo nasa ilalim ng pahayag. Ang pagbuo na ito ay madaling mapalawak upang makapagbigay ng higit pa sa simpleng panahon. Gayunpaman, ito ay isang magandang pagsisimula at mukhang talagang cool sa aking mesa.

Ang aming pamilya (OK, karamihan sa akin) ay nasiyahan sa pagkakaroon ng iPad ng pamilya sa counter ng kusina, kapag hindi ginagamit, tahimik na ipinapakita ang kasalukuyang kalagayan sa labas ng panahon. Gayunpaman, ito ay isang sakit upang i-load at idiskarga ang iPad sa at labas ng arcade cradle case. Dagdag pa, pagtingin ko lamang sa panahon, natuklasan kong may kumuha ng pagpapakita sa iPad / panahon. Ang kailangan ay isang permanenteng counter-top display na ang mga bata ay hindi mag-swipe tulad ng iPad.

Hakbang 1: Gen 1 - ang Lunchbox Pi Weather Station

Gen 1 - ang Lunchbox Pi Weather Station
Gen 1 - ang Lunchbox Pi Weather Station
Gen 1 - ang Lunchbox Pi Weather Station
Gen 1 - ang Lunchbox Pi Weather Station

Ang aking unang naisip ay ang gumamit ng isang maliit na pinaghalong pagpapakita ng video. Kinuha ko ang nasa larawan sa Ebay ng $ 22 bucks - simpleng paghahanap sa "4.3 Inch TFT LCD Car Rear View Monitor Car Monitor". Ang display ay isang naiulat na resolusyon ng 656 ng 416 mga pixel na mapanghamak na ginagawang hamon ang pagpapakita ng maraming kapaki-pakinabang na impormasyon! Ang display ay nangangailangan ng 12Vdc bilang boltahe ng suplay. Ang Raspberry Pi, syempre, ay nangangailangan ng 5Vdc bilang boltahe ng suplay. Upang malutas ito, bumili ako ng isang murang USB car charger mula sa Amazon. Sa halagang $ 6 na pera nakita ko ang isang 5Vdc ng 2 Amp car changer. Samakatuwid, ang lunchbox ay may panlabas na 12Vdc wall wart power supply. Direktang pinagagana ng 12Vdc ang display. Ang 12Vdc ay pupunta rin sa USB car charger na sumusukat sa boltahe pababa sa isang kinokontrol na 5Vdc. Bilang isang pangwakas na pag-hack, naghinang ako ng isang pares ng mga wire nang direkta sa pagitan ng charger ng kotse at ng Raspberry Pi - hindi ang aking pinakamagandang ideya.

Habang ang lahat ay medyo hindi gumana hindi talaga ako nasiyahan sa kalidad ng video sa ipinakita na pinaghalong. Ang maliit na font sa display ay mas malabo kaysa sa gusto ko. Dagdag pa, habang ang lunchbox sa una ay tila maganda sa paglaon tila medyo cheesy ito.

Hakbang 2: Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case

Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case
Gen 2 - HDMI Monitor + Laser Cut Plexiglass Arcade Case

Bumalik sa eBay Nakakita ako ng magandang hitsura na $ 54 dolyar na bukas na frame monitor na may resolusyon na 800x600. Sa pamamagitan ng kahulugan, ang isang bukas na frame ay nangangailangan ng anumang frame upang mai-mount. Dahil ang kariktan ng lunchbox ay matagal na sa oras na para sa ilang laser cut acrylic. Ang aking lokal na puwang ng hacker na i3Detroit ay may napakahusay na 150 watt cutter na maaaring gumawa ng mince na karne ng 4.5mm acrylic.

Maluwag kong ibinase ang aking enclosure ng arcade sa kahon ng arcade ng iPad. Kung sakaling gumawa ako ng isang disenyo ng Gen 3 ay mapanghimagsik na isasama ang isang naaalis / i-slide out tray para sa Pi. Lumabas, ito ay isang pangunahing sakit sa leeg na sinusubukang i-plug ang mga bagay sa loob at labas ng Pi dahil walang gaanong lugar sa pagitan ng Pi at ng mga dingding sa gilid.

Ang HDMI monitor ay nangangailangan din ng isang 12Vdc feed. Kaya, ginamit ko ang parehong trick ng paggamit muli ng isang USB car charger. Gayunpaman, sa oras na ito, tinadtad ko ang isang lumang USB cable kaya hindi kinakailangan ang mga solder na wires sa Pi.

Kung may interesado sa arcade case mag-post ng isang puna sa ibaba at i-upload ko ang mga DXF file. O, ang mga file ay nasa aking web site sa ph-elec.com.

Hakbang 3: Pag-set up ng Pi

Pag-set up ng Pi
Pag-set up ng Pi

Upang mag-setup ng isang bagong Raspberry Pi na may kinakailangang software ay hindi ganoon kahirap. Ang lahat ng software ay nakasulat sa Python na may isang idinagdag na module ng Python. Ang labis na module ng Python ay tinatawag na "pywapi". Narito ang isang link kung saan maaari mong i-download ang module. Ginagawang madali ng modyul na ito upang makakuha ng real-time na panahon mula sa alinman sa Yahoo, Weather.com, o NOAA.

Una sa mga bagay, narito ang isang checklist sa pag-set up ng isang hilaw na Raspberry Pi:

  1. I-download ang pinakabagong Raspbian (Debian Wheezy). I-unzip upang makakuha ng isang.img file.
  2. Isulat ang sa isang SD card na may "dd bs = 4M kung = 2014-09-09-wheezy-raspbian.img ng = / dev / sdb"
  3. Ang dd command ay tumatagal ng halos limang minuto. Kapag kumpleto, patakbuhin ang "pag-sync" upang i-flush ang mga tubo.
  4. I-install ang SD card sa Pi at i-reboot. Tiyaking mayroong koneksyon sa Ethernet sa Pi.
  5. Gamit ang pahina ng "Mga Nakalakip na Device" sa router, hanapin ang IP address ng bagong Pi.
  6. Mag-login sa Pi gamit ang "ssh [email protected]. ???" saan ??? ay ang numero ng IP mula sa itaas. Ang password ay magiging "raspberry".
  7. Sa Pi, gamitin ang utos na "raspi-config" upang mag-setup ng mga default.

    1. I-on ang awtomatikong pag-boot sa GUI.
    2. Itakda ang pangalan ng host sa isang bagay tulad ng "MyPi".
  8. I-install ang VNC sa Pi gamit ang "sudo apt-get install tightvncserver".

    Patakbuhin ang "tightvncserver" na nagtatakda ng password

  9. Bumalik sa malaking kahon ng Linux, gamitin ang "Remote Desktop" upang matingnan ang Pi GUI desktop.

    1. Itakda ang Protocol sa "VNC" at numero ng IP sa "192.168.1. Tandaan ang ": 1" sa dulo ng numero ng IP.
    2. Pindutin ang pindutan ng kumonekta at ibigay ang VNC password.
    3. Bingo, remote GUI Pi desktop!

      Makatipid ito sa pag-drag sa isang monitor, keyboard, at mouse upang kumonekta hanggang sa bagong Pi

    4. Sa desktop, patakbuhin ang icon ng pag-setup ng WiFi. I-setup ang bagong Pi / USB WiFi upang kumonekta sa network.
    5. Isara ang koneksyon ng VNC - tapos na kami sa mga remote na desktop.
  10. Bumalik sa window ng ssh, i-reboot ang Pi gamit ang "sudo reboot". Idiskonekta ang Ethernet cable dahil naka-set up na ang WiFi.
  11. Bumalik sa home router, hanapin ang bagong numero ng IP na ginagamit ng Pi gamit ang WiFi.
  12. Gamit ang ssh, mag-log in muli gamit ang bagong numero ng IP. Sa oras na ito ang koneksyon ay higit sa WiFi.
  13. Gamit ang Files Manger sa Linux, kumonekta sa Pi gamit ang "kumonekta sa server" na utos.

    Ang address ng server ay "sftp: //192.168.1. ??? / home / pi"

  14. Kumpleto na ang pangunahing pag-set up.

Susunod, kailangang i-download at mai-install ang pywapi. Muli, ito ay hindi masyadong mahirap sa mga sumusunod na hakbang:

  1. I-download ang pinakabagong mula dito. I-extract ang archive sa isang bagong direktoryo.
  2. Gamit ang File Manger, kopyahin ang direktoryo sa direktoryo ng bahay ng Pi.
  3. Gamit ang ssh, gawin ang sumusunod sa Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py install
  4. Tapos na.

Update, nakalimutan ko ang dalawang banggitin ang dalawang iba pang mga bagay:

  1. Sa Pi patakbuhin ang sumusunod na utos:

    1. sudo apt-get install avahi-daemon

      Pinapayagan nitong kumonekta sa Pi sa pangalan. Kaya, sa iyong pangunahing computer maaari kang kumonekta bilang "ssh [email protected]" sa halip na gumamit ng mga numero ng IP. Sa maraming Pi sa network madali silang malito maliban kung tinawag sa pamamagitan ng kanilang pangalan

    2. sudo raspi-config

      1. Hanapin at patakbuhin ang ika-4 na pagpipilian na tinatawag na "Mga Pagpipilian sa Internalisasyon" at itakda ang iyong timezone.
      2. Sa itinakdang timezone at ntpd (network time protocol daemon) na tumatakbo sa Pi ay palaging ipapakita ang tamang oras sa loob ng ilang milliseconds! Kailangang mahalin ito.
  2. OK, ngayon tapos na ulit tayo.

Hakbang 4: Source Code

Source Code
Source Code

Ang lahat ng source code para sa maliit na display ng panahon na ito ay batay sa Python, PyGame, at Pywapi. Lahat ng bukas na mapagkukunan / libreng software.

Ginagamit ang PyGame upang gawin ang lahat ng mga bagay na GUI. Talagang kamangha-manghang bagay. Gamit ang PyGame, ang buong display ay itinayong muli isang beses bawat segundo. Malapit sa tuktok ng aking source code makakakita ka ng isang seksyon na nagbibigay-daan sa pag-aayos para sa iba't ibang mga laki ng pagpapakita. Mayroong isang seksyon para sa maliit na pinagsamang display ng video at isang pangalawang seksyon para sa mas malaking display na HDMI. Pasimple kong puna ang isa sa dalawang seksyon batay sa laki ng display na kailangan ko.

Upang makuha ang aking source code na tumatakbo i-unzip lamang ang kalakip at kopyahin ang buong direktoryo sa Pi gamit ang File Manage. Kapag nakopya, simulan ang code na gamitin ang mga sumusunod na ssh command:

  1. cd Panahon
  2. sudo python panahon.py

Kailangan ang utos ng sudo upang makontrol / mabasa ng Python ang mga GPIO pin. Marahil ay may ilang paraan sa paligid ng paghihigpit na ito ngunit hindi ako maiiwasan.

Sa sandaling gumana ang lahat gamit ang ssh oras na upang makakuha ng panahon upang awtomatikong magsimula sa isang pag-reboot. Ito ay talagang madali ring gawin.

  1. Gamit ang ssh, patakbuhin ang "sudo vi /etc/rc.local"
  2. Bago ang huling linya, na nagsasabing "exit 0", idagdag ang sumusunod sa mga linya.

    1. cd / bahay / pi / Panahon
    2. sudo python panahon.py &> err.log

Awtomatiko nitong sisisimulan ang application ng panahon sa Pi pagkatapos ng isang pag-reboot. Kung sa paglaon nais mong i-off ito, gamitin lamang ang ssh upang i-edit ang file at idagdag ang character na "#" sa harap ng parehong mga linya at i-reboot.

Tandaan, ang aking source code ay isang malaking pag-hack at hindi ako masyadong mapagmataas dito. Gayunpaman, kung naghintay ako hanggang sa ito ay kaaya-aya hindi ito maipakita. Kaya, kunin o iwanan ito huwag lamang umiyak dahil mayroon akong isang manipis na balat.

Ang isang pares ng iba pang mga bagay na dapat tandaan tungkol sa aking code. Inilibing doon ay mapapansin mo ang ilang mga code upang makipag-usap sa isang X10 aparato. Ito ang aking pagtatangka na kontrolin ang aking mga ilaw sa labas ng poste na nasa address na A3. Pasimpleng nais ko ang mga lampara sa pagsapit ng gabi at patayin sa madaling araw. Mukhang sapat na madali at naisip ko na gumagana ito. Gamit ang isang dongle na USB-to-RS232 sa Pi ay konektado ko ang isang module na CM11A X10. Ang CM11A ay isang lumang X10 macro module. Ang CM11A ay mayroon ding isang RS232 port na nagbibigay-daan sa kontrol sa X10 bus. Tila may mga ilang mga bug pa rin dahil ang mga ilaw ng poste ng lampara ay hindi nakakakuha ng mensahe!

Tandaan din, sa mas malaking display mayroong isang magandang bukas na puwang kasama ang kanang bahagi ng display. Ang aking plano ay magdagdag ng ilang mga status lamp sa lugar na iyon. Naglalaro ako ng ilang mga radio ng IEEE802.15.4 at ang kanilang mga output ay isang araw ay lalabas sa bukas na lugar na iyon.

Para sa pinakabago at pinakadakilang mga update mangyaring bisitahin ang aking web site sa ph-elec.com.

Kaya, ipaalam sa akin sa seksyon ng mga komento sa ibaba ng anumang mga katanungan na maaaring mayroon ka.

Salamat, Jim.

Oh, at huwag kalimutang bumoto para sa akin! Salamat ulit.

BTW: Mayroong palaging maraming impormasyon sa aking web site: www.ph-elec.com

Hakbang 5: Pag-update ng Sukatan

Ang kalakip ay isang bagong bersyon na nagbibigay-daan sa pagpapakita ng alinman sa sukatan o imperyal.

Sana makatulong ito, Jim

Inirerekumendang: