Turinys:

Raspberry Pi interneto orų stotis: 5 žingsniai (su nuotraukomis)
Raspberry Pi interneto orų stotis: 5 žingsniai (su nuotraukomis)

Video: Raspberry Pi interneto orų stotis: 5 žingsniai (su nuotraukomis)

Video: Raspberry Pi interneto orų stotis: 5 žingsniai (su nuotraukomis)
Video: High Density 2022 2024, Lapkritis
Anonim
Raspberry Pi interneto orų stotis
Raspberry Pi interneto orų stotis
Raspberry Pi interneto orų stotis
Raspberry Pi interneto orų stotis

*** Atnaujinimas ***

Ši instrukcija pasenusi. Šioje instrukcijoje naudojamos orų duomenų orų tarnybos nebeveikia. Tačiau yra alternatyvus projektas, kuris iš esmės daro tą patį (tik geriau - šis „Instructable“visada buvo tik įsilaužimas). Taigi čia yra nuoroda, kurią norite sekti:

https://piweatherrock.technicalissues.us/

Labai ačiū Genui Livermanui „PiWeatherRock“už šio projekto apsiaustą.

Ši instrukcija parodys, kaip sukurti tikrai šaunią Raspberry Pi internetinę oro stotį. Tiesą sakant, pavadinti šį pastatą „orų stotimi“yra šiek tiek per mažai. Ši konstrukcija gali būti lengvai išplėsta, kad suteiktų daug daugiau nei tik oras. Tačiau tai gera pradžia ir ant mano stalo atrodo tikrai šauniai.

Mūsų šeimai (gerai, dažniausiai man) patiko, kai šeimos iPad buvo pastatytas ant virtuvės stalo, kai jis nenaudojamas ir tyliai rodo esamas lauko oro sąlygas. Tačiau pakrauti ir iškrauti „iPad“į arkados lopšio dėklą ir iš jo yra skaudu. Be to, tik kai einu pasižiūrėti orų, atrandu, kad kažkas paėmė iPad / orų ekraną. Reikalingas nuolatinis ekranas ant stalviršio, kuriuo vaikai nesiruošia braukti kaip „iPad“.

1 žingsnis: 1 -oji karta - „Lunchbox Pi“orų stotis

Gen 1 - „Lunchbox Pi“orų stotis
Gen 1 - „Lunchbox Pi“orų stotis
Gen 1 - „Lunchbox Pi“orų stotis
Gen 1 - „Lunchbox Pi“orų stotis

Pirma mintis buvo naudoti nedidelį sudėtinį vaizdo ekraną. Aš pasiėmiau tą, kuris yra paveikslėlyje „Ebay“už 22 USD - tiesiog ieškokite „4,3 colio TFT LCD automobilio galinio vaizdo stebėjimo automobilio monitorius“. Ekrano skiriamoji geba yra 656 x 416 pikselių, todėl daug naudingos informacijos rodymas yra iššūkis! Ekrano maitinimo įtampa reikalauja 12 V DC. „Raspberry Pi“, žinoma, reikia 5 Vdc maitinimo įtampos. Norėdami tai išspręsti, aš nusipirkau pigų USB įkroviklį iš „Amazon“. Už maždaug 6 USD radau 5Vdc 2 Amp automobilių keitiklį. Todėl pietų dėžutė turi išorinį 12Vdc sieninį karpų maitinimo šaltinį. 12Vdc maitina ekraną tiesiogiai. 12Vdc taip pat eina į USB automobilinį įkroviklį, kuris sumažina įtampą iki reguliuojamo 5Vdc. Kaip paskutinis įsilaužimas, aš lituodavau porą laidų tiesiai tarp automobilio įkroviklio ir „Raspberry Pi“- tai nėra geriausia mano idėja.

Nors viskas kažkaip dirbo, aš tikrai nebuvau patenkintas vaizdo kokybe sudėtiniame ekrane. Mažas šriftas ekrane buvo neaiškesnis, nei norėčiau. Be to, nors pietų dėžutė iš pradžių atrodė miela, vėliau atrodė gana sūri.

2 žingsnis: 2 kartas - HDMI monitorius + lazeriu supjaustytas plexiglass arkadinis dėklas

2 kartos - HDMI monitorius + lazeriu supjaustytas organinio stiklo arkadinis dėklas
2 kartos - HDMI monitorius + lazeriu supjaustytas organinio stiklo arkadinis dėklas
2 kartos - HDMI monitorius + lazeriu supjaustytas organinio stiklo arkadinis dėklas
2 kartos - HDMI monitorius + lazeriu supjaustytas organinio stiklo arkadinis dėklas
2 kartos - HDMI monitorius + lazeriu supjaustytas organinio stiklo arkadinis dėklas
2 kartos - HDMI monitorius + lazeriu supjaustytas organinio stiklo arkadinis dėklas

Grįžęs į „eBay“radau gražiai atrodantį 54 USD kainuojantį HDMI atviro kadro monitorių, kurio skiriamoji geba yra 800x600. Pagal apibrėžimą, bet kokiam rėmui montuoti reikia rėmo. Kadangi pietų dėžutės dailumas buvo seniai pasibaigęs, atėjo laikas lazeriu pjaustytam akrilui. Mano vietinis įsilaužėlių kosmosas „i3Detroit“turi tikrai gražų 150 vatų pjaustytuvą, iš kurio galima pagaminti maltą 4,5 mm akrilo mėsą.

Aš laisvai grindžiau savo arkados korpusą „iPad“arkados dėžute. Jei kada nors kurčiau „Gen 3“dizainą, į jį būtų įtrauktas nuimamas / išstumiamas dėklas „Pi“. Pasirodo, tai yra didžiulis kaklo skausmas bandant prijungti ir išjungti Pi, nes tarp Pi ir šoninių sienų nėra daug vietos.

HDMI monitoriui taip pat reikalingas 12Vdc maitinimas. Taigi, aš panaudojau tą patį triuką - vėl naudoju USB automobilinį įkroviklį. Tačiau šį kartą aš susmulkinau seną USB kabelį, todėl „Pi“lituoti laidai nebuvo reikalingi.

Jei ką nors domina arkados atvejis, parašykite komentarą žemiau ir įkelsiu DXF failus. Arba failai yra mano svetainėje ph-elec.com.

3 žingsnis: „Pi“sąranka

Pi sąranka
Pi sąranka

Nustatyti naują „Raspberry Pi“su reikalinga programine įranga nėra taip sunku. Visa programinė įranga parašyta „Python“su tik vienu pridėtu „Python“moduliu. Papildomas „Python“modulis vadinamas „pywapi“. Čia yra nuoroda, iš kurios galite atsisiųsti modulį. Šis modulis leidžia lengvai gauti orą realiuoju laiku iš „Yahoo“, Weather.com arba NOAA.

Pirmiausia, čia yra kontrolinis sąrašas, kaip nustatyti neapdorotą „Raspberry Pi“:

  1. Atsisiųskite naujausią „Raspbian“(„Debian Wheezy“). Išpakuokite, kad gautumėte.img failą.
  2. Įrašykite SD kortelę su „dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of//dev/sdb“
  3. Komanda dd trunka apie penkias minutes. Baigę paleiskite „sync“, kad praplautumėte vamzdžius.
  4. Įdėkite SD kortelę į „Pi“ir paleiskite iš naujo. Įsitikinkite, kad prie „Pi“yra eterneto ryšys.
  5. Naudodami maršrutizatoriaus puslapį „Pridedami įrenginiai“, raskite naujojo „Pi“IP adresą.
  6. Prisijunkite prie „Pi“naudodami „ssh [email protected]. ???“kur ??? yra IP numeris iš viršaus. Slaptažodis bus „avietinis“.
  7. „Pi“naudokite komandą „raspi-config“, kad nustatytumėte numatytuosius nustatymus.

    1. Įjunkite automatinį įkrovimą į GUI.
    2. Nustatykite pagrindinio kompiuterio pavadinimą kaip „MyPi“.
  8. Įdiekite VNC „Pi“naudodami „sudo apt-get install tightvncserver“.

    Paleiskite „tightvncserver“, kuris nustato slaptažodį

  9. Grįžę į didelę „Linux“dėžutę, naudokite „Nuotolinį darbalaukį“, kad peržiūrėtumėte „Pi GUI“darbalaukį.

    1. Nustatykite protokolą į „VNC“ir IP numerį į „192.168.1.???:1“. Atkreipkite dėmesį į „: 1“IP numerio pabaigoje.
    2. Paspauskite prisijungimo mygtuką ir pateikite VNC slaptažodį.
    3. Bingo, nuotolinis GUI Pi darbalaukis!

      Tai leidžia sutaupyti monitorių, klaviatūrą ir pelę, kad galėtumėte prisijungti prie naujojo „Pi“

    4. Darbalaukyje paleiskite „WiFi“sąrankos piktogramą. Nustatykite naują „Pi / USB WiFi“, kad prisijungtumėte prie tinklo.
    5. Uždarykite VNC ryšį - dabar baigėme naudoti nuotolinius stalinius kompiuterius.
  10. Grįžę į ssh langą, iš naujo paleiskite „Pi“naudodami „sudo reboot“. Atjunkite eterneto kabelį, nes dabar yra nustatytas „WiFi“.
  11. Grįžę į namų maršrutizatorių, suraskite naują IP numerį, kurį Pi naudoja su „WiFi“.
  12. Naudodamiesi ssh, vėl prisijunkite naudodami naują IP numerį. Šį kartą ryšys bus per „WiFi“.
  13. Naudodami failų tvarkyklę „Linux“, prisijunkite prie „Pi“naudodami komandą „prisijungti prie serverio“.

    Serverio adresas yra „sftp: //192.168.1. ???/home/pi“

  14. Baigta pagrindinė sąranka.

Tada reikia atsisiųsti ir įdiegti „pywapi“. Vėlgi, tai nėra per sunku atlikus šiuos veiksmus:

  1. Atsisiųskite naujausią iš čia. Ištraukite archyvą į naują katalogą.
  2. Naudodami „File Manger“nukopijuokite katalogą į „Pi“namų katalogą.
  3. Naudodami ssh, atlikite šiuos veiksmus Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py įdiegti
  4. Padaryta.

Atnaujinau, pamiršau du paminėti du kitus dalykus:

  1. „Pi“paleiskite šią komandą:

    1. sudo apt-get įdiegti avahi-daemon

      Tai leidžia prisijungti prie „Pi“pavadinimu. Taigi, pagrindiniame kompiuteryje galite prisijungti kaip „ssh [email protected]“, o ne naudoti IP numerius. Kai tinkle yra keli „Pi“, juos lengva supainioti, nebent jie būtų šaukiami vardu

    2. sudo raspi-config

      1. Suraskite ir paleiskite ketvirtąją parinktį „Tarptautiškumo parinktys“ir nustatykite laiko juostą.
      2. Nustačius laiko juostą ir veikiant ntpd (tinklo laiko protokolo demonas), Pi visada rodys teisingą laiką per kelias milisekundes! Reikia mylėti.
  2. Gerai, dabar mes vėl baigėme.

4 žingsnis: šaltinio kodas

Pirminis kodas
Pirminis kodas

Visas šio mažo oro ekrano šaltinio kodas yra pagrįstas „Python“, „PyGame“ir „Pywapi“. Visa atvirojo kodo / nemokama programinė įranga.

„PyGame“naudojama visoms GUI funkcijoms atlikti. Tikrai nuostabūs dalykai. Naudojant „PyGame“, visas ekranas atstatomas kartą per sekundę. Netoli mano šaltinio kodo viršaus rasite skyrių, kuriame galima keisti skirtingų dydžių ekranus. Yra vienas skyrius mažam sudėtiniam vaizdo ekranui ir antras skyrius didesniam HDMI ekranui. Aš tiesiog pakomentuoju vieną iš dviejų skyrių pagal man reikalingą ekrano dydį.

Norėdami, kad mano šaltinio kodas veiktų, tiesiog išpakuokite priedą ir nukopijuokite visą katalogą į „Pi“naudodami failų tvarkymą. Nukopijavę paleiskite kodą naudodami šias ssh komandas:

  1. cd Orai
  2. sudo python weather.py

Sudo komanda reikalinga, kad „Python“galėtų valdyti / skaityti GPIO kaiščius. Tikriausiai yra keletas būdų, kaip apeiti šį apribojimą, tačiau jis manęs vengia.

Kai viskas pradės veikti naudojant ssh, laikas paleisti orą automatiškai paleisti iš naujo. Tai taip pat tikrai lengva padaryti.

  1. Naudodami ssh, paleiskite „sudo vi /etc/rc.local“
  2. Prieš paskutinę eilutę, kurioje sakoma „išeiti 0“, prie eilučių pridėkite:

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

Tai automatiškai paleis „Pi“orų programą po perkrovimo. Jei vėliau norite tai išjungti, tiesiog naudokite ssh, kad redaguotumėte failą, ir pridėkite komentaro simbolį „#“prieš abi eilutes ir paleiskite iš naujo.

Atminkite, kad mano šaltinio kodas yra didelis įsilaužimas ir aš juo labai nesididžiuoju. Tačiau jei laukčiau, kol jis pasirodys, jis niekada nebus pristatytas. Taigi, imk arba palik, tik neverk, nes turiu labai ploną odą.

Keletas kitų dalykų, kuriuos reikia atkreipti dėmesį į mano kodą. Ten palaidotas pastebėsite kodą kalbėtis su X10 įrenginiu. Tai buvo mano bandymas valdyti savo išorinius polinius žibintus, kurie yra A3 adresu. Aš tiesiog norėjau, kad lempos būtų įjungtos sutemus ir išjungtos auštant. Atrodo pakankamai lengva ir maniau, kad tai veikia. Naudodamas USB-RS232 raktą prie „Pi“, aš prijungiau CM11A X10 modulį. CM11A yra senas X10 makro modulis. CM11A taip pat turi RS232 prievadą, kuris leidžia valdyti X10 magistralę. Panašu, kad vis dar yra klaidų, nes lempos polių lemputės negauna pranešimo!

Taip pat atkreipkite dėmesį, kad didesniame ekrane yra gražus atviras tarpas dešinėje ekrano pusėje. Mano planas yra pridėti keletą būsenos lempučių toje srityje. Aš žaidžiu su kai kuriais IEEE802.15.4 radijo imtuvais, o jų išėjimai vieną dieną bus rodomi toje atviroje vietoje.

Norėdami gauti naujausius ir didžiausius atnaujinimus, apsilankykite mano svetainėje ph-elec.com.

Na, praneškite man komentarų skiltyje žemiau, jei turite klausimų.

Ačiū, Jim.

O, nepamirškite balsuoti už mane! Ačiū dar kartą.

BTW: Mano svetainėje visada yra daugiau informacijos: www.ph-elec.com

5 veiksmas: metrikos atnaujinimas

Pridedama nauja versija, leidžianti rodyti metrines arba imperines.

Tikiuosi tai padės, Džimas

Rekomenduojamas: