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, Studeni
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žuriranje ***

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 podrečeno. Ova se konstrukcija može lako proširiti kako bi osigurala mnogo više od običnih vremenskih uvjeta. Međutim, to je dobar početak i izgleda jako cool na mom stolu.

Naša obitelj (u redu, uglavnom ja) uživala je kad je obiteljski iPad na kuhinjskom stolu, kad se ne koristi, tiho pokazivao trenutne vanjske vremenske uvjete. Međutim, bol je učitavati i istovarati iPad u kućište za arkadne postolje i van njega. Osim toga, upravo kad odem pogledati vrijeme, otkrivam da je netko uzeo iPad / prikaz vremena. Ono što je potrebno je stalni zaslon na vrhu 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 pomisao bila je koristiti mali kompozitni video zaslon. Pokupio sam onu sa slike na Ebayu za 22 dolara - jednostavno pretražite na "4.3 -inčni TFT LCD monitor za vožnju unatrag automobila". Zaslon ima prijavljenu rezoluciju 656 x 416 piksela što prkosno čini prikaz mnogih korisnih informacija izazovom! Zaslon za napajanje zahtijeva 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 zaslon izravno. 12Vdc također ide na USB auto punjač koji smanjuje napon na reguliranih 5Vdc. Kao posljednji hack, lemio sam par žica izravno između punjača za automobil i Raspberry Pi - nije moja najbolja ideja.

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

Korak 2: Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa laserski izrezana

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

Natrag na eBayu pronašao sam lijepi HDMI monitor otvorenog okvira u vrijednosti od 54 dolara, rezolucije 800x600. Po definiciji, otvoreni okvir u bilo što 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 jako lijep rezač od 150 W koji može napraviti mljeveno meso od akrila od 4,5 mm.

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

HDMI monitor također zahtijeva napajanje od 12Vdc. Dakle, upotrijebio sam isti trik ponovnog korištenja 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: Postavljanje Pi

Pi Setup
Pi Setup

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

Prije svega, evo popisa 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" za ispiranje cijevi.
  4. Instalirajte SD karticu u Pi i ponovno 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 u Pi pomoću "ssh [email protected]. ???" gdje ??? je IP broj odozgo. Lozinka će biti "malina".
  7. Na Pi-u upotrijebite 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 s "sudo apt-get install tightvncserver".

    Pokrenite "tightvncserver" koji postavlja lozinku

  9. Vratite se 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 gumb za povezivanje i unesite VNC lozinku.
    3. Bingo, udaljena GUI Pi radna površina!

      Ovo štedi povlačenje monitora, tipkovnice i miša za povezivanje s novim 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 gotovi s udaljenim radnim površinama.
  10. Natrag u prozor ssh, ponovno pokrenite Pi sa "sudo reboot". Odspojite Ethernet kabel jer je WiFi sada postavljen.
  11. Natrag na kućnom usmjerivaču pronađite novi IP broj koji Pi koristi s WiFi -jem.
  12. Pomoću ssh -a ponovno se prijavite pomoću novog IP broja. Ovaj put povezivanje će biti putem WiFi -ja.
  13. Pomoću upravitelja datoteka na Linuxu povežite se s Pi pomoću naredbe "poveži se s poslužiteljem".

    Adresa poslužitelja je "sftp: //192.168.1. ???/home/pi"

  14. Osnovno postavljanje 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. Pomoću ssh -a 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 spomenuti još dvije stvari:

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

    1. sudo apt-get install avahi-daemon

      To omogućuje povezivanje s Pi po imenu. Dakle, na glavno računalo možete se povezati kao "ssh [email protected]" umjesto korištenja IP brojeva. S više Pi 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 mogućnosti" i postavite svoju vremensku zonu.
      2. S postavljenom vremenskom zonom i ntpd (demon protokola mrežnog vremenskog 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 temelji se na Pythonu, PyGameu i Pywapiju. Sav otvoreni izvorni / besplatni softver.

PyGame se koristi za sve GUI stvari. Zaista nevjerojatna stvar. Pomoću programa PyGame cijeli zaslon se obnavlja jednom u sekundi. Pri vrhu izvornog koda pronaći ćete odjeljak koji omogućuje podešavanje različitih veličina zaslona. Postoji jedan odjeljak za mali kompozitni video zaslon i drugi dio za veći HDMI zaslon. Jednostavno komentiram jedan od dva odjeljka ovisno o veličini zaslona koja mi je potrebna.

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

  1. cd Vrijeme
  2. sudo python weather.py

Naredba sudo potrebna je kako bi Python mogao kontrolirati / čitati GPIO pinove. Vjerojatno postoji neki način zaobilaženja ovog ograničenja, ali ono mi izmiče.

Kad sve počne raditi s ssh -om, vrijeme je da se vrijeme automatski pokrene pri ponovnom pokretanju. Ovo je također jako lako učiniti.

  1. Pomoću ssh pokrenite "sudo vi /etc/rc.local"
  2. Neposredno prije zadnjeg retka koji kaže "izlaz 0", dodajte sljedeće u retke.

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

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

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 obratiti pozornost na moj kôd. Tamo zakopani primijetit ćete kôd za razgovor s X10 uređajem. Ovo je bio moj pokušaj da kontroliram svoja vanjska svjetla na polu A3. Jednostavno sam htio da se lampice upale u sumrak, a ugasi u zoru. Čini se dovoljno lakim 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 priključak koji omogućuje kontrolu nad sabirnicom X10. Čini se da još ima nekih grešaka jer svjetla stupova svjetiljke ne shvaćaju poruku!

Također treba napomenuti da na većem zaslonu postoji lijepa otvorena praznina uz desnu stranu zaslona. Moj plan je dodati neke lampice statusa u tom području. Sviram s nekim radijima IEEE802.15.4 i njihovi će se izlazi 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 za komentare 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 privitku je nova verzija koja omogućuje prikaz metričke ili imperijalne vrijednosti.

Nadam se da ovo pomaže, Jim

Preporučeni: