Sadržaj:

Raspberry Pi Internet meteorološka stanica: 5 koraka (sa slikama)
Raspberry Pi Internet meteorološka stanica: 5 koraka (sa slikama)

Video: Raspberry Pi Internet meteorološka stanica: 5 koraka (sa slikama)

Video: Raspberry Pi Internet meteorološka stanica: 5 koraka (sa slikama)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Juli
Anonim
Raspberry Pi Internet meteorološka stanica
Raspberry Pi Internet meteorološka stanica
Raspberry Pi Internet meteorološka stanica
Raspberry Pi Internet meteorološka stanica

*** Ažuriraj ***

Ovaj Instructable je zastario. Vremenske usluge za vremenske podatke, korištene u ovom Uputu, više ne rade. Međutim, postoji alternativni projekt koji u osnovi radi istu stvar (samo bolje - ovaj Instructable je uvijek bio samo hack). Evo veze koju želite slijediti:

https://piweatherrock.technicalissues.us/

Hvala vam puno, idite Gene Liverman na PiWeatherRock -u na preuzimanju plašta na ovom projektu.

Ovaj Instructable će vam pokazati kako izgraditi zaista cool Raspberry Pi internetsku meteorološku stanicu. Zapravo, nazvati ovu gradnju "meteorološkom stanicom" malo je podcrtano. Ova se konstrukcija može lako proširiti da pruži mnogo više od običnih vremenskih prilika. Međutim, to je dobar početak i izgleda jako kul na mom stolu.

Naša porodica (OK, uglavnom ja) uživala je u tome što je porodični iPad na kuhinjskom stolu, kada se ne koristi, tiho pokazivao trenutne vanjske vremenske uslove. Međutim, bol je učitavati i istovarati iPad u i iz kućišta arkadnog postolja. Osim toga, upravo kad odem pogledati vrijeme, otkrivam da je neko uzeo iPad / prikaz vremena. Ono što je potrebno je stalni counter-top ekran koji djeca neće prevući poput iPada.

Korak 1: Prva generacija - vremenska stanica Lunchbox Pi

Prva generacija - vremenska stanica Lunchbox Pi
Prva generacija - vremenska stanica Lunchbox Pi
Prva generacija - vremenska stanica Lunchbox Pi
Prva generacija - vremenska stanica Lunchbox Pi

Moja prva misao je bila da iskoristim mali kompozitni video ekran. Uzeo sam onu sa slike na Ebayu za 22 dolara - jednostavno pretražite na "4.3 -inčni TFT LCD monitor za retrovizor automobila". Zaslon ima prijavljenu rezoluciju od 656 x 416 piksela što prkosno čini prikazivanje mnogo korisnih informacija izazovom! Za napajanje displeju je potrebno 12Vdc. Raspberry Pi, naravno, treba 5Vdc kao napon napajanja. Da bih to riješio, kupio sam jeftin USB punjač za automobile od Amazona. Za oko 6 dolara našao sam izmjenjivač automobila 5Vdc po 2 Amp. Stoga, kutija za ručak ima vanjsko napajanje od zidnih bradavica od 12Vdc. 12Vdc napaja ekran direktno. 12Vdc također ide na USB punjač za automobile koji smanjuje napon na reguliranih 5Vdc. Kao posljednji hack, lemio sam par žica direktno između punjača za automobil i Raspberry Pi - nije moja najbolja ideja.

Iako je sve to nekako funkcioniralo, nisam bio zadovoljan kvalitetom videa na kompozitnom ekranu. Mali font na ekranu bio je mutniji nego što bih želio. Osim toga, iako je kutija za ručak isprva djelovala slatko, kasnije je djelovala pomalo sirasto.

Korak 2: Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa sa laserskim rezanjem

Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa sa laserskim rezanjem
Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa sa laserskim rezanjem
Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa sa laserskim rezanjem
Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa sa laserskim rezanjem
Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa sa laserskim rezanjem
Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa sa laserskim rezanjem

Nazad na eBay -u našao sam HDMI monitor sa otvorenim okvirom, vredan 54 dolara, sa rezolucijom 800x600. Po definiciji, otvoreni okvir u bilo šta treba okvir za ugradnju. Budući da je ljupkost kutije za ručak odavno prošla, došlo je vrijeme za neki laserski izrezan akril. Moj lokalni hakerski prostor i3Detroit ima zaista lijep rezač od 150 vati koji može napraviti mljeveno meso od akrila od 4,5 mm.

Svoje arkadno kućište labavo sam zasnovao na iPad arkadnoj kutiji. Ako ikada napravim Gen 3 dizajn, on bi prkosno uključio uklonjivu / kliznu ladicu za Pi. Ispostavilo se da je to veliki bol u vratu pokušavajući spojiti stvari iz i iz Pi jer nema mnogo prostora između Pi i bočnih zidova.

HDMI monitor također zahtijeva napajanje od 12Vdc. Dakle, upotrijebio sam isti trik pri ponovnom korištenju USB punjača za automobil. Ovaj put sam, međutim, isjekao stari USB kabel pa lemljenje žica na Pi nije bilo potrebno.

Ako nekoga zanima arkadni slučaj, ostavite komentar ispod i ja ću prenijeti DXF datoteke. Ili su datoteke na mojoj web stranici na adresi ph-elec.com.

Korak 3: Pi Setup

Pi Setup
Pi Setup

Postavljanje nove Raspberry Pi s potrebnim softverom nije tako teško. Sav softver je napisan na Pythonu sa samo jednim dodatnim Python modulom. Dodatni Python modul naziva se "pywapi". Evo linka na koji možete preuzeti modul. Ovaj modul olakšava dobijanje vremena u stvarnom vremenu sa Yahoo-a, Weather.com-a ili NOAA-e.

Prije svega, evo liste za provjeru za postavljanje sirove Raspberry Pi:

  1. Preuzmite najnoviji Raspbian (Debian Wheezy). Raspakirajte da biste dobili.img datoteku.
  2. Zapišite na SD karticu s "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img od =/dev/sdb"
  3. Naredba dd traje oko pet minuta. Kada završite, pokrenite "sync" da biste isprali cijevi.
  4. Instalirajte SD karticu u Pi i ponovo pokrenite sistem. Provjerite postoji li Ethernet veza s Pi.
  5. Pomoću stranice "Priključeni uređaji" na usmjerivaču pronađite IP adresu novog Pi.
  6. Prijavite se na Pi koristeći "ssh [email protected]. ???" gde ??? je IP broj odozgo. Lozinka će biti "malina".
  7. Na Pi-u koristite naredbu "raspi-config" za postavljanje zadanih postavki.

    1. Uključite automatsko pokretanje u GUI.
    2. Postavite naziv hosta na nešto poput "MyPi".
  8. Instalirajte VNC na Pi sa "sudo apt-get install tightvncserver".

    Pokrenite "tightvncserver" koji postavlja lozinku

  9. Nazad na veliku kutiju Linuxa, upotrijebite "Udaljena radna površina" za pregled Pi GUI radne površine.

    1. Postavite protokol na "VNC", a IP broj na "192.168.1.???:1". Obratite pažnju na ": 1" na kraju IP broja.
    2. Pritisnite dugme za povezivanje i unesite VNC lozinku.
    3. Bingo, udaljena GUI Pi radna površina!

      Ovo štedi povlačenje monitora, tastature i miša za povezivanje na novi Pi

    4. Na radnoj površini pokrenite ikonu za postavljanje WiFi -a. Postavite novi Pi / USB WiFi za povezivanje s mrežom.
    5. Prekinite VNC vezu - sada smo završili s udaljenim radnim površinama.
  10. Nazad u prozoru ssh, ponovo pokrenite Pi sa "sudo reboot". Odspojite Ethernet kabel jer je WiFi sada postavljen.
  11. Nazad na kućnom usmjerivaču pronađite novi IP broj koji Pi koristi s WiFi -jem.
  12. Pomoću ssh -a ponovo se prijavite pomoću novog IP broja. Ovaj put povezivanje će biti putem WiFi -ja.
  13. Koristeći upravitelj datoteka na Linuxu, povežite se sa Pi pomoću naredbe "poveži se na server".

    Adresa servera je "sftp: //192.168.1. ???/home/pi"

  14. Osnovno podešavanje je dovršeno.

Zatim je potrebno preuzeti i instalirati pywapi. Opet, ovo nije previše teško sa sljedećim koracima:

  1. Preuzmite najnovije odavde. Raspakirajte arhivu u novi direktorij.
  2. Pomoću File Managera kopirajte direktorij u Pi početni direktorij.
  3. Koristeći ssh, učinite sljedeće na Pi:

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

Ažuriraj, zaboravio sam dvije stvari koje spominju dvije:

  1. Na Pi -u pokrenite sljedeću naredbu:

    1. sudo apt-get install avahi-daemon

      Ovo omogućava povezivanje sa Pi po imenu. Dakle, na glavnom računaru možete se povezati kao "ssh [email protected]" umjesto korištenja IP brojeva. S više Pi -ova na mreži lako ih je zbuniti osim ako se ne pozovu imenom

    2. sudo raspi-config

      1. Potražite i pokrenite četvrtu opciju pod nazivom "Internacionalizacijske opcije" i postavite svoju vremensku zonu.
      2. S postavljenom vremenskom zonom i ntpd -om (demon protokola mrežnog protokola) koji radi, Pi će uvijek prikazivati točno vrijeme unutar nekoliko milisekundi! Moram to voljeti.
  2. U redu, sad smo opet gotovi.

Korak 4: Izvorni kod

Izvorni kod
Izvorni kod

Sav izvorni kod za ovaj mali prikaz vremena baziran je na Pythonu, PyGameu i Pywapiju. Sav otvoreni izvorni / besplatni softver.

PyGame se koristi za sve GUI stvari. Zaista nevjerojatne stvari. Koristeći PyGame, cijeli zaslon se obnavlja jednom u sekundi. Pri vrhu izvornog koda pronaći ćete odjeljak koji omogućava podešavanje za različite veličine ekrana. Postoji jedan dio za mali kompozitni video ekran i drugi dio za veći HDMI ekran. Jednostavno komentarišem jedan od dva odeljka na osnovu veličine ekrana koja mi je potrebna.

Da biste pokrenuli izvorni kod, samo raspakirajte privitak i kopirajte cijeli direktorij na Pi koristeći Upravljanje datotekama. Nakon kopiranja pokrenite kôd pomoću sljedećih ssh naredbi:

  1. cd Vrijeme
  2. sudo python weather.py

Sudo naredba je potrebna kako bi Python mogao kontrolirati / čitati GPIO pinove. Vjerovatno postoji neki način zaobilaženja ovog ograničenja, ali mi izmiče.

Kad sve počne raditi pomoću ssh -a, vrijeme je da se vrijeme automatski pokrene pri ponovnom pokretanju. Ovo je takođe zaista lako učiniti.

  1. Koristeći ssh, pokrenite "sudo vi /etc/rc.local"
  2. Neposredno prije posljednjeg retka, koji kaže "izlaz 0", dodajte sljedeće u redove.

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

Ovo će automatski pokrenuti vremensku aplikaciju na Pi nakon ponovnog pokretanja. Ako kasnije želite isključiti ovo, samo upotrijebite ssh za uređivanje datoteke i dodajte znak komentara "#" ispred oba reda i ponovo pokrenite sistem.

Imajte na umu da je moj izvorni kod veliki hack i nisam baš ponosan na to. Međutim, da sam čekao dok se ne prikaže, nikad se ne bi predstavio. Dakle, uzmi ili ostavi samo ne plači jer imam jako tanku kožu.

Još nekoliko stvari koje treba napomenuti u vezi sa mojim kodom. Tamo zakopani primijetit ćete neki kôd za razgovor s X10 uređajem. Ovo je bio moj pokušaj da kontroliram svoja vanjska svjetla na adresi A3. Jednostavno sam htio da se lampe upale u sumrak, a ugasi u zoru. Čini se da je to dovoljno jednostavno i mislio sam da mi je uspjelo. Pomoću USB-to-RS232 ključa na Pi-u spojio sam CM11A X10 modul. CM11A je stari X10 makro modul. CM11A također ima RS232 port koji omogućava kontrolu nad X10 sabirnicom. Čini se da još uvijek postoje neke greške jer svjetla stupova lampe ne shvaćaju poruku!

Takođe treba napomenuti da na većem ekranu postoji lijep otvoreni otvor sa desne strane ekrana. Moj plan je dodati neke statusne lampice u tom području. Sviram s nekim IEEE802.15.4 radijima i njihovi izlazi će se jednog dana pojaviti na tom otvorenom mjestu.

Za najnovija i najveća ažuriranja posjetite moju web stranicu na adresi ph-elec.com.

Pa, javite mi u odjeljku komentara ispod pitanja koja imate.

Hvala, Jim.

Oh, i ne zaboravi glasati za mene! Hvala još jednom.

BTW: Na mojoj web stranici: www.ph-elec.com uvijek postoji više informacija

Korak 5: Ažuriranje metrike

U prilogu je nova verzija koja omogućuje prikaz metričke ili imperijalne vrijednosti.

Nadam se da ovo pomaže, Jim

Preporučuje se: