Sadržaj:

1984 WeatherMan Pi: 7 koraka (sa slikama)
1984 WeatherMan Pi: 7 koraka (sa slikama)

Video: 1984 WeatherMan Pi: 7 koraka (sa slikama)

Video: 1984 WeatherMan Pi: 7 koraka (sa slikama)
Video: The Giant Wave - The Perfect Storm (3/5) Movie CLIP (2000) HD 2024, Studeni
Anonim
Image
Image
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi

Ovaj prijenosni kazetofon sada je ambijentalni IoT prikaz vremena sa stilom ranih 80 -ih, koji prikazuje animaciju "trenutnih uvjeta", pomicanje grafikona temperature i vjerojatnosti kiše kroz prozor trake. Kad se vremenski uvjeti promijene, slušalice s servo upravljanjem na vrhu pomeraju se naprijed-natrag kao suptilno upozorenje.

Otvarajući funkcionalna vrata na traci možemo vidjeti da su prašnjave izvorne komponente zamijenjene Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) i malim servom. Podaci o vremenu dobivaju se pomoću Python skripte koja postavlja upit o ultra točnom Dark Sky Weather API-ju, prilagođenom mojoj specifičnoj lokaciji.

To je jednostavna, ali lijepa i funkcionalna IoT konstrukcija koja se nalazi na suprotnom stolnom zvučniku od mog brojača na YouTubeu, tiho me obavještavajući o vremenu.

Pribor

Malina Pi Zero

Pimoroni Jednorog ŠEŠIR HD

Mali servo

1984. Osobni stereo i slušalice Hitachi SP-1

USB WiFi adapter

Šipka s navojem od 2 mm

Sugru (crno -sivo)

GeoMag magnet

Korak 1: Skidanje vrpce

Teardown
Teardown
Teardown
Teardown
Teardown
Teardown

Punica mi je u rujnu poklonila ovaj ljupki stari kasetofon i odmah sam se zaljubila u njegov kultni izgled i zdepaste gumbe. Pravo izvlačenje ipak je bio taj veliki prozor na traci - nakon što sam ga posjedovao oko 15 sekundi, izvadio sam ravnalo i bio sam začuđen otkrivši da je, mm, iste veličine kao standardni Raspberry Pi HAT (hardver pričvršćen na vrhu).

Samo to otkriće bilo je dovoljno da moj projekt sa satom s kukavicom udari dalje na popis "to do" i počeo sam raditi odmah, demontažom playera.

Rušenje je prošlo prilično dobro i završio sam s tri različita komada za rad - uspio sam slomiti nekoliko plastičnih dijelova, ali ništa što se nije moglo zalijepiti.

Korak 2: Dark Sky Pi

Tamno nebo Pi
Tamno nebo Pi
Tamno nebo Pi
Tamno nebo Pi
Tamno nebo Pi
Tamno nebo Pi

Već neko vrijeme koristim Dark Sky na svom telefonu i zaista sam bio impresioniran točnošću prognoza, pa sam bio oduševljen kad sam vidio da nude opsežan API koji bih mogao koristiti u ovom projektu. Lijepo je i jednostavno postaviti gore također!

Prvo prijeđite na https://darksky.net/dev i prijavite se za besplatni račun - "probni" račun vam omogućuje da dnevno upišete 1000 zahtjeva API -ja, što je dovoljno za osvježavanje svakih 1,5 minuta - dovoljno često čak i za moj Britanska razina opsesije vremenom.

Nakon što se prijavite dobit ćete "Tajni ključ" - to je ono što vam je potrebno za pristup podacima i koristi se u Python skripti, pa neka vam bude pri ruci (i, znate, tajno).

Počeo sam prilagođavanjem skripte koju sam koristio u verziji brojača pretplatnika na YouTubeu, koja koristi modul Zahtjevi u Pythonu za dohvaćanje API podataka. Skripta koju sam upotrijebio nalazi se na GitHubu, samo trebate dodati svoj Dark Sky API ključ i, naravno, zamijeniti vlastite vrijednosti Latitude & Longitude.

Bilo je prilično jednostavno izvaditi podatke o trenutnim vremenskim uvjetima, pa sam se odlučio poslužiti elementima "Ikona", "Vjerojatnost oborina" i "Temperatura".

Korak 3: Kôd

Kod
Kod

Ako želite ponovno koristiti ili odskočiti kôd koji sam koristio, nalazi se u spremištu WeatherMan na GitHubu - klonirajte ili preuzmite mapu "weather" u mapu "pi" na vašem Raspberry Pi.

Glavne funkcije skripte su sljedeće:

weatherman.py

Ovo je glavna skripta koja izdvaja vremenske podatke iz Dark Sky -a. Morat ćete postaviti račun za Dark Sky na https://darksky.net/dev i staviti svoj tajni ključ u skriptu gdje je naznačeno. Također ćete morati unijeti geografsku širinu i dužinu vremenske lokacije koja vas zanima - to se može pronaći na Google kartama, samo desnom tipkom miša kliknite i odaberite "Što je ovdje?" i dobit ćete skočni prozor koji prikazuje zemljopisnu širinu/dužinu lokacije.

Nakon preuzimanja API podataka weatherman.py prosljeđuje parametre u nekoliko manjih skripti kako bi pokrenuo animacije i pomak slušalica.

Skripta je postavljena za pokretanje pri pokretanju uređivanjem datoteke za pokretanje …

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

… I dodaje:

@python3 /home/pi/weather/weatherman.py &

na kraju datoteke.

icon.py

Ova skripta preuzima parametar "trenutni uvjeti" iz skripte weatherman.py i koristi je za prikaz vremenske animacije 16x16 - sve je to pohranjeno u mapi "ikone" i dio je standardne dokumentacije Unicorn HAT HD.-p.webp

telefone.py

Ako su se vremenski uvjeti promijenili u odnosu na posljednji zahtjev API -ja (ili je to svježe podizanje sustava i ne pada snijeg), tada se ova skripta poziva iz weatherman.py i upućuje servo da se "pomakne" naprijed -natrag kako bi vas upozorio da su uvjeti promijenio.

obor.py

Ova skripta prihvaća parametar "vjerojatnosti oborina" iz weatherman.py i prikazuje plave linije na HIC -u jednoroga koje se odnose na % vjerojatnosti. Ako 100% svih 16 redova svijetli plavo, ako 50% samo 8 redova itd.

temp.py

Još jedna standardna Pimoronijeva skripta, ova uzima parametar "temp" iz weatherman.py i prikazuje ga s tekstom koji se pomiče. Postavljen je tako da koristi Herkules truetype font (u mapi "fontovi"), ali bi mogao koristiti standardni font ako želite. Možete ga čak i poboljšati tako da prikazani tekst mijenja boju ovisno o vrijednosti temperature!

Korak 4: Jednorog HAT & Servo

Jednorog HAT & Servo
Jednorog HAT & Servo
Jednorog HAT & Servo
Jednorog HAT & Servo
Jednorog HAT & Servo
Jednorog HAT & Servo

Mogućnost pribavljanja vremenskih podataka bila je sjajna, ali sada sam ih trebao prikazati na Unicorn HAT -u. Pogledao sam razne skupove vremenskih ikona na internetu i na pola sam ih puta prilagodio kad sam shvatio da postoji vremenski primjer uključen u Pimoronijevu dokumentaciju - a to je uključivalo i vremenske animacije!

To je uštedjelo ogromnu količinu posla, a ja sam se brzo pokrenuo, s animiranom ikonom za trenutačne uvjete, nekim pomicanjem teksta za temperaturu i grafikonom za % oborina (što je uključivalo neke lagane matematike). Skripte sam držao odvojene i koristio sam Subprocess modul Pythona za prosljeđivanje parametara tamo -amo.

Dodavanje servo servera bilo je idealno vozilo za ova upozorenja jer bi stvaralo malo buke i bilo bi upadljivo, a da pritom nije previše neugodno. Budući da je HAT već zauzeo mnoge Pi -ove igle, lemio sam servo kabele na donju stranu ploče, koristeći Pin 17 za upravljanje kretanjem servo -a pomoću Pulse Width Modulation.

Napajanje servo pogona iz Pi -a nije bilo idealno, ali bi se ikada koristilo samo za trenutak, pa preciznost ovdje nije bila velika stvar. Spojen je kako je prikazano na dijagramu, smeđim kabelom na GND, crvenim na 5v i narančastim (upravljački kabel) na GPIO17.

Na kraju sam uredio neke datoteke animacije vremena u GIMP -u kako bih dodao svoje osobne dodire, poput šišmiša na Mjesecu i nasmijanog lica na suncu. Također sam dodao prilagođenu animaciju kazeta s "Old Tech New Spec" koja će se reproducirati pri pokretanju, samo iz zabave.

Korak 5: Jiggle slušalica

Jiggle slušalica
Jiggle slušalica
Jiggle slušalica
Jiggle slušalica
Jiggle slušalica
Jiggle slušalica
Jiggle slušalica
Jiggle slušalica

Ideja WeatherMana bila je da će pasivno sjediti na mom stolnom zvučniku, povremeno prikazivati vremenske prilike, ali htio sam da to učini samo malo više! Slušalice koje su dolazile s njim bile su tost, ali klasične 80 -te, pa sam odlučio učiniti nešto s njima. Nakon što sam skinuo sav kabel i vruće zalijepio polomljeni, ostali su mi tri dijela, utikač od 3,5 mm, gumb u obliku dijamanta i sami telefoni na njihovoj fleksibilnoj metalnoj traci.

Pala mi je na pamet ideja da ako nađem neki način ugradnje telefona na gornju stranu jedinice, mogu ih natjerati da se rotiraju naprijed -nazad pomoću servo -a, te to iskoristiti kao dodatnu obavijest.

Prvo sam izbušio utikač od 3,5 mm i demontirao dijamantnu sklopku, a zatim sam ih stavio na komad šipke s navojem. Zatim sam zalijepio maticu na plastični konektor kako bi šipka mogla sigurno (i ravno) sjediti na servo pogonu. Na drugom kraju štapa dodao sam drugu maticu. Konačno sam upotrijebio sivi Sugru za lijepljenje vrha šipke na traku za slušalice i za prekrivanje matice na dnu sklopa. Ako niste čuli za Sugru, to je ljepilo za oblikovanje koje dolazi u malim vrećicama u boji - oblikuje se poput Play -Doha, ali lijepi se poput superljepljenja i čvrsto se stvrdne poput plastike!

S nedavnim hladnim vremenom, Sugru je trebalo nekoliko dana da se potpuno stvrdne, ali su slušalice i njihovo postolje uskoro bili spremni za konačnu montažu.

Korak 6: Montaža

Skupština
Skupština
Skupština
Skupština
Skupština
Skupština
Skupština
Skupština

Pi, HAT i Servo radili su dobro na klupi pa je sljedeći posao bio uvesti ih u slučaj. Prije nego što sam započeo s velikim komponentama, upotrijebio sam nešto preostalog sivog Sugrua da popravim brojčanik, utičnicu za slušalice i prekidač za "metalnu traku", sređujući kozmetiku. Također sam zalijepio originalne gumbe Play, Stop, FF & Rew na komad plastičnog cijevi kako bi ostali na pravom mjestu. Šteta je što ovaj put niste ponovno upotrijebili bilo koji gumb, ali zapravo nije bilo ničega za kontrolu!

Poslužio sam posljednji sivi Sugru da držim servo u položaju, s osovinom koja je provirila kroz povećanu utičnicu za slušalice. Prešavši na drugu polovicu kućišta, tada sam upotrijebio neki crni Sugru da pričvrstim sklop HAT i Pi na vrata trake, tako da se mogu otvoriti s njima. Zaista sam uživao u posljednjem malom dodiru - pričvršćivanju u GeoMag magnet kako bi vrata bila čvrsto zatvorena.

Spajanje dviju polovica bio je nervozan posao jer sam se bojao da će se Pi & Servo sukobiti jedno s drugim, ali na kraju je ostalo oko milimetra do viška, dosta u mojoj knjizi. Kako bi otkačena otvorena vrata omogućila potpuni pristup unutrašnjosti za buduće servisiranje, samo sam vruće zalijepila dvije polovice zajedno, a nakon brisanja mojih masnih otisaka prstiju postavila sam sklop slušalica na vrh - gotovo!

Korak 7: Tiha opsesija

Tiha opsjednutost
Tiha opsjednutost
Tiha opsjednutost
Tiha opsjednutost

Druga nagrada na natječaju za ponovnu upotrebu

Preporučeni: