Kazalo:

Internetna vremenska postaja Raspberry Pi: 5 korakov (s slikami)
Internetna vremenska postaja Raspberry Pi: 5 korakov (s slikami)

Video: Internetna vremenska postaja Raspberry Pi: 5 korakov (s slikami)

Video: Internetna vremenska postaja Raspberry Pi: 5 korakov (s slikami)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Julij
Anonim
Internetna vremenska postaja Raspberry Pi
Internetna vremenska postaja Raspberry Pi
Internetna vremenska postaja Raspberry Pi
Internetna vremenska postaja Raspberry Pi

*** Nadgradnja ***

Ta navodila so zastarela. Vremenske storitve za vremenske podatke, uporabljene v tem navodilu, ne delujejo več. Vendar obstaja alternativni projekt, ki v bistvu počne isto stvar (le bolje - ta Instructable je bil vedno le kramp). Torej, tukaj je povezava, ki jo boste želeli slediti:

https://piweatherrock.technicalissues.us/

Najlepša hvala g. Gene Liverman na PiWeatherRocku, ki je prevzel plašč pri tem projektu.

Ta Instructable vam bo pokazal, kako zgraditi res kul internetno vremensko postajo Raspberry Pi. Pravzaprav je klicanje te zgradbe "vremenska postaja" malo podcenjujoče. To zgradbo bi lahko zlahka razširili in zagotovili veliko več kot le vreme. Je pa dober začetek in na moji mizi izgleda res kul.

Naša družina (v redu, večinoma jaz) je uživala, ko je družinski iPad na kuhinjskem pultu, ko ga ne uporabljate, tiho prikazal trenutne zunanje vremenske razmere. Vendar pa je nalaganje in razkladanje iPada v in iz ohišja arkadne zibelke zelo boleče. Poleg tega, ko grem pogledat vreme, odkrijem, da je nekdo vzel iPad / vremenski zaslon. Potreben je stalen zaslon, ki ga otroci ne bodo potegnili kot iPad.

1. korak: 1. generacija - vremenska postaja Lunchbox Pi

Prva generacija - vremenska postaja Lunchbox Pi
Prva generacija - vremenska postaja Lunchbox Pi
Prva generacija - vremenska postaja Lunchbox Pi
Prva generacija - vremenska postaja Lunchbox Pi

Moja prva misel je bila, da bi uporabil majhen kompozitni video zaslon. Tistega na sliki na Ebayu sem vzel za 22 dolarjev - preprosto poiščite »4.3 -palčni TFT LCD avtomobilski monitor za vzvratno vožnjo«. Zaslon ima prijavljeno ločljivost 656 x 416 slikovnih pik, zaradi česar je prikazano veliko uporabnih informacij izziv! Zaslon potrebuje 12Vdc kot napajalno napetost. Raspberry Pi seveda potrebuje 5Vdc kot napajalno napetost. Da bi to odpravil, sem od Amazona kupil poceni avtomobilski polnilnik USB. Za približno 6 dolarjev sem našel avtomobilski menjalnik 5Vdc po 2 Amp. Zato ima omarica za kosilo zunanji 12Vdc napajalnik za stenske bradavice. 12Vdc napaja zaslon neposredno. 12Vdc gre tudi avtomobilskemu polnilniku USB, ki napetost zniža na reguliranih 5Vdc. Kot zadnji kramp sem spajkal par žic neposredno med polnilnikom avtomobila in Raspberry Pi - to ni moja najboljša ideja.

Čeprav je vse skupaj delovalo, nisem bil zadovoljen s kakovostjo videa na sestavljenem zaslonu. Majhna pisava na zaslonu je bila bolj mehka, kot bi si želel. Poleg tega, ko se je škatla za kosilo sprva zdela srčkana, se je zdela nekako sirasta.

2. korak: Druga generacija - monitor HDMI + ohišje iz pleksi stekla z laserskim rezanjem

Gen 2 - HDMI monitor + Arkadno ohišje iz pleksi stekla z laserskim rezanjem
Gen 2 - HDMI monitor + Arkadno ohišje iz pleksi stekla z laserskim rezanjem
Gen 2 - HDMI monitor + Arkadno ohišje iz pleksi stekla z laserskim rezanjem
Gen 2 - HDMI monitor + Arkadno ohišje iz pleksi stekla z laserskim rezanjem
Gen 2 - HDMI monitor + Arkadno ohišje iz pleksi stekla z laserskim rezanjem
Gen 2 - HDMI monitor + Arkadno ohišje iz pleksi stekla z laserskim rezanjem

Nazaj na eBay sem našel lep monitor HDMI z odprtim okvirjem za 54 dolarjev z ločljivostjo 800x600. Po definiciji odprt okvir vse, kar potrebuje okvir za vgradnjo. Ker je ljubkosti kosila že dolgo konec, je bil čas za nekaj lasersko izrezanega akrila. Moj lokalni hekerski prostor i3Detroit ima res lep 150 -vatni rezalnik, ki lahko naredi mleto meso 4,5 mm akrila.

Arkadno ohišje sem ohlapno oprl na arkadno omarico iPad. Če bi kdaj naredil model Gen 3, bi kljubovalno vključil odstranljiv / izvlečen pladenj za Pi. Izkazalo se je, da je huda bolečina v vratu, ko poskušaš stvari priključiti in odstraniti iz Pi, saj med Pi in stranskimi stenami ni veliko prostora.

Monitor HDMI potrebuje tudi 12Vdc vir. Torej sem uporabil isti trik, da sem znova uporabil avtomobilski polnilnik USB. Tokrat pa sem razsekal stari kabel USB, tako da spajkanje žic na Pi ni bilo potrebno.

Če koga zanima arkadna zadeva, naj spodaj komentira in naložim datoteke DXF. Ali pa so datoteke na moji spletni strani na naslovu ph-elec.com.

Korak: Nastavitev Pi

Nastavitev Pi
Nastavitev Pi

Nastavitev nove Raspberry Pi s potrebno programsko opremo ni tako težka. Vsa programska oprema je napisana v Pythonu z le enim dodanim modulom Python. Dodatni modul Python se imenuje "pywapi". Tukaj je povezava, kjer lahko prenesete modul. Ta modul olajša pridobivanje vremena v realnem času z Yahooja, Weather.com ali NOAA.

Najprej, tukaj je kontrolni seznam za nastavitev surove Raspberry Pi:

  1. Prenesite najnovejši Raspbian (Debian Wheezy). Razpakirajte, da pridobite datoteko.img.
  2. Zapišite na kartico SD z "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of =/dev/sdb"
  3. Ukaz dd traja približno pet minut. Ko je dokončan, zaženite "sync", da sperite cevi.
  4. Vstavite kartico SD v Pi in znova zaženite. Prepričajte se, da obstaja povezava Ethernet s Pi.
  5. Na strani »Priključene naprave« na usmerjevalniku poiščite naslov IP novega Pi.
  6. Prijavite se v Pi z uporabo "ssh [email protected]. ???" kje ??? je IP številka od zgoraj. Geslo bo "malinovo".
  7. Na Pi uporabite ukaz "raspi-config" za nastavitev privzetih vrednosti.

    1. Vklopite samodejni zagon v grafični vmesnik.
    2. Ime gostitelja nastavite na nekaj podobnega "MyPi".
  8. Namestite VNC na Pi s "sudo apt-get install tightvncserver".

    Zaženite "tightvncserver", ki nastavi geslo

  9. Nazaj na veliko ohišje Linuxa uporabite "Oddaljeno namizje" za ogled namizja grafičnega vmesnika Pi.

    1. Nastavite protokol na "VNC" in IP številko na "192.168.1.???:1". Upoštevajte ": 1" na koncu številke IP.
    2. Pritisnite gumb za povezavo in vnesite geslo VNC.
    3. Bingo, oddaljeno namizje GUI Pi!

      To prihrani vlečenje monitorja, tipkovnice in miške za povezavo z novim Pi

    4. Na namizju zaženite ikono za nastavitev WiFi. Nastavite nov Pi / USB WiFi za povezavo z omrežjem.
    5. Zaprite povezavo VNC - zdaj smo končali z oddaljenimi namizji.
  10. Nazaj v oknu ssh znova zaženite Pi z "sudo reboot". Odklopite ethernetni kabel, ker je WiFi zdaj nastavljen.
  11. Nazaj na domači usmerjevalnik poiščite novo številko IP, ki jo Pi uporablja z WiFi.
  12. Z uporabo ssh se znova prijavite z novo številko IP. Tokrat bo povezava prek WiFi.
  13. Z upraviteljem datotek v Linuxu se povežite s Pi z ukazom »poveži se s strežnikom«.

    Naslov strežnika je "sftp: //192.168.1. ???/home/pi"

  14. Osnovna nastavitev je končana.

Nato je treba pywapi prenesti in namestiti. Tudi to z naslednjimi koraki ni pretežko:

  1. Prenesite najnovejše od tukaj. Izvlecite arhiv v nov imenik.
  2. S programom File Manger kopirajte imenik v domači imenik Pi.
  3. S pomočjo ssh naredite naslednje na Pi:

    1. cd pywapi-0,3,8
    2. sudo python setup.py build
    3. sudo python setup.py install
  4. Končano.

Posodobitev, pozabil sem dve omeniti še dve stvari:

  1. Na Pi zaženite naslednji ukaz:

    1. sudo apt-get install avahi-daemon

      To omogoča povezavo z Pi po imenu. Torej, v glavnem računalniku se lahko povežete kot "ssh [email protected]", namesto da uporabite številke IP. Z več številkami Pi v omrežju jih je enostavno zmesti, razen če jih pokličete po imenu

    2. sudo raspi-config

      1. Poiščite in zaženite četrto možnost, imenovano "Možnosti internacionalizacije", in nastavite časovni pas.
      2. Z nastavljenim časovnim pasom in ntpd (demon omrežnega časovnega protokola), ki se izvaja, bo Pi vedno prikazal pravilen čas v nekaj milisekundah! Moram ljubiti.
  2. V redu, zdaj smo spet končali.

4. korak: izvorna koda

Izvorna koda
Izvorna koda

Vsa izvorna koda za ta mali vremenski prikaz temelji na Pythonu, PyGameu in Pywapiju. Vsa odprtokodna / brezplačna programska oprema.

PyGame se uporablja za vse stvari z grafičnim vmesnikom. Res neverjetne stvari. Z uporabo PyGame se celoten zaslon obnovi enkrat na sekundo. Pri vrhu izvorne kode boste našli razdelek, ki omogoča prilagajanje različnih velikosti zaslona. Obstaja en del za majhen kompozitni video zaslon in drugi del za večji zaslon HDMI. Eno od dveh razdelkov preprosto komentiram glede na velikost zaslona, ki jo potrebujem.

Če želite zagnati izvorno kodo, preprosto razpakirajte prilogo in prekopirajte celoten imenik na Pi z uporabo File Manage. Ko ste kopirali, zaženite kodo z naslednjimi ukazi ssh:

  1. cd Vreme
  2. sudo python weather.py

Ukaz sudo je potreben, da lahko Python nadzoruje / bere zatiče GPIO. Verjetno obstaja kakšen način, kako se izogniti tej omejitvi, vendar se mi izmika.

Ko s ssh -om vse deluje, je čas, da se vreme pri samodejnem zagonu samodejno zažene. To je tudi zelo enostavno narediti.

  1. Z uporabo ssh zaženite "sudo vi /etc/rc.local"
  2. Tik pred zadnjo vrstico z napisom "exit 0" v vrstice dodajte naslednje.

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

To se bo po ponovnem zagonu samodejno zagnalo vremensko aplikacijo na Pi. Če želite pozneje to izklopiti, uporabite datoteko ssh za urejanje datoteke in dodajte znak komentarja "#" pred obe vrstici in znova zaženite.

Upoštevajte, da je moja izvorna koda velik kramp in nisem zelo ponosen na to. Če pa bi čakal, da bo predstavljiv, ga nikoli ne bi predstavil. Torej, vzemite ali pustite, samo ne jokajte, saj imam zelo tanko kožo.

Še nekaj stvari, ki jih je treba upoštevati pri moji kodi. Tam zakopani boste opazili kodo za pogovor z napravo X10. To je bil moj poskus obvladovanja zunanjih luči na naslovu A3. Želel sem preprosto prižgati svetilke v mraku in ugasniti ob zori. Zdi se mi dovolj preprosto in mislil sem, da mi je uspelo. Z uporabo ključa USB-to-RS232 na Pi sem priključil modul CM11A X10. CM11A je stari makro modul X10. CM11A ima tudi vrata RS232, ki omogočajo nadzor nad vodilom X10. Zdi se, da je še vedno nekaj hroščev, ker luči na svetilki ne dobijo sporočila!

Prav tako je treba omeniti, da je na večjem zaslonu lepo odprta vrzel na desni strani zaslona. Moj načrt je dodati nekaj svetilk stanja na tem področju. Igram se z nekaterimi radii IEEE802.15.4 in njihovi izhodi se bodo nekega dne prikazali na tem odprtem mestu.

Za najnovejše in največje posodobitve obiščite mojo spletno stran na naslovu ph-elec.com.

No, sporočite mi v spodnjem razdelku za komentarje vsa vaša vprašanja.

Hvala, Jim.

Oh, in ne pozabi glasovati zame! Hvala še enkrat.

BTW: Na moji spletni strani: www.ph-elec.com je vedno več informacij

5. korak: Posodobitev metrike

V prilogi je nova različica, ki omogoča prikaz metrične ali imperialne vrednosti.

Upam, da to pomaga, Jim

Priporočena: