Sadržaj:
- Korak 1: Prva generacija - vremenska stanica Lunchbox Pi
- Korak 2: Gen 2 - HDMI monitor + Arkadna futrola od pleksiglasa laserski izrezana
- Korak 3: Postavljanje Pi
- Korak 4: Izvorni kod
- Korak 5: Ažuriranje metrike
Video: Raspberry Pi Internet meteorološka stanica: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
*** 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
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
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
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:
- Preuzmite najnoviji Raspbian (Debian Wheezy). Raspakirajte da biste dobili.img datoteku.
- Zapišite na SD karticu s "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img od =/dev/sdb"
- Naredba dd traje oko pet minuta. Kada završite, pokrenite "sync" za ispiranje cijevi.
- Instalirajte SD karticu u Pi i ponovno pokrenite sistem. Provjerite postoji li Ethernet veza s Pi.
- Pomoću stranice "Priključeni uređaji" na usmjerivaču pronađite IP adresu novog Pi.
- Prijavite se u Pi pomoću "ssh [email protected]. ???" gdje ??? je IP broj odozgo. Lozinka će biti "malina".
-
Na Pi-u upotrijebite naredbu "raspi-config" za postavljanje zadanih postavki.
- Uključite automatsko pokretanje u GUI.
- Postavite naziv hosta na nešto poput "MyPi".
-
Instalirajte VNC na Pi s "sudo apt-get install tightvncserver".
Pokrenite "tightvncserver" koji postavlja lozinku
-
Vratite se na veliku kutiju Linuxa, upotrijebite "Udaljena radna površina" za pregled Pi GUI radne površine.
- Postavite protokol na "VNC", a IP broj na "192.168.1.???:1". Obratite pažnju na ": 1" na kraju IP broja.
- Pritisnite gumb za povezivanje i unesite VNC lozinku.
-
Bingo, udaljena GUI Pi radna površina!
Ovo štedi povlačenje monitora, tipkovnice i miša za povezivanje s novim Pi
- Na radnoj površini pokrenite ikonu za postavljanje WiFi -a. Postavite novi Pi / USB WiFi za povezivanje s mrežom.
- Prekinite VNC vezu - sada smo gotovi s udaljenim radnim površinama.
- Natrag u prozor ssh, ponovno pokrenite Pi sa "sudo reboot". Odspojite Ethernet kabel jer je WiFi sada postavljen.
- Natrag na kućnom usmjerivaču pronađite novi IP broj koji Pi koristi s WiFi -jem.
- Pomoću ssh -a ponovno se prijavite pomoću novog IP broja. Ovaj put povezivanje će biti putem WiFi -ja.
-
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"
- Osnovno postavljanje je dovršeno.
Zatim je potrebno preuzeti i instalirati pywapi. Opet, ovo nije previše teško sa sljedećim koracima:
- Preuzmite najnovije odavde. Raspakirajte arhivu u novi direktorij.
- Pomoću File Managera kopirajte direktorij u Pi početni direktorij.
-
Pomoću ssh -a učinite sljedeće na Pi:
- cd pywapi-0.3.8
- sudo python setup.py build
- sudo python setup.py install
- Gotovo.
Ažuriraj, zaboravio sam dvije spomenuti još dvije stvari:
-
Na Pi -u pokrenite sljedeću naredbu:
-
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
-
sudo raspi-config
- Potražite i pokrenite četvrtu opciju pod nazivom "Internacionalizacijske mogućnosti" i postavite svoju vremensku zonu.
- 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.
-
- U redu, sad smo opet gotovi.
Korak 4: 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:
- cd Vrijeme
- 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.
- Pomoću ssh pokrenite "sudo vi /etc/rc.local"
-
Neposredno prije zadnjeg retka koji kaže "izlaz 0", dodajte sljedeće u retke.
- cd/home/pi/Weather
- 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:
NaTaLia meteorološka stanica: Arduino solarna meteorološka postaja učinila je pravi put: 8 koraka (sa slikama)
Vremenska postaja NaTaLia: Arduino meteorološka stanica na solarni pogon učinila je to na pravi način: Nakon godinu dana uspješnog rada na 2 različite lokacije, dijelim svoje planove projekta meteoroloških stanica na solarni pogon i objašnjavam kako se razvila u sustav koji zaista može opstati dugo vremena razdoblja iz solarne energije. Ako pratite
DIY meteorološka stanica i senzorska stanica WiFi: 7 koraka (sa slikama)
DIY meteorološka stanica i WiFi senzorska stanica: U ovom projektu ću vam pokazati kako stvoriti meteorološku stanicu zajedno sa stanicom sa WiFi senzorom. Senzorska stanica mjeri lokalne podatke o temperaturi i vlažnosti i šalje ih putem WiFi -a meteorološkoj postaji. Meteorološka stanica tada prikazuje t
Potpuna meteorološka stanica Raspberry Pi: 14 koraka (sa slikama)
Kompletna meteorološka stanica Raspberry Pi: Pozdrav svima, ovo mi je prvi instruktor! U ovom vodiču vodit ću vas kako napraviti meteorološku stanicu Raspberry Pi s vlastitom bazom podataka i web lokacijom. Napravio sam ovu meteorološku postaju u kontekstu školskog zadatka, inspiraciju sam dobio na Insu
Meteorološka stanica Acurite 5 u 1 pomoću Raspberry Pi i Weewx -a (ostale su vremenske stanice kompatibilne): 5 koraka (sa slikama)
Meteorološka postaja Acurite 5 u 1 koristeći Raspberry Pi i Weewx (ostale meteorološke stanice su kompatibilne): Kad sam kupio meteorološku stanicu Acurite 5 u 1, želio sam moći provjeriti kakvo je vrijeme u mojoj kući dok me nema. Kad sam došao kući i postavio ga, shvatio sam da moram ili povezati zaslon s računalom ili kupiti njihovo pametno središte
Internet stvari: LoRa meteorološka stanica: 7 koraka (sa slikama)
Internet stvari: LoRa meteorološka stanica: Ovo je primjer lijepog projekta LoRa. Meteorološka stanica sadrži senzor temperature, osjetnik tlaka zraka i osjetnik vlažnosti. Podaci se čitaju i šalju u Cayenne Mydevices i Weather Underground koristeći LoRa i The Things Network. Provjerite