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, Novembar
Anonim
Image
Image
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi

Ovaj prijenosni kasetofon sada je ambijentalni IoT prikaz vremena sa stilom ranih 80 -ih, koji prikazuje animaciju "trenutnih uslova", pomicanje temperature i grafikona vjerovatnoće 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 originalne komponente zamijenjene Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) i malim servo uređajem. Podaci o vremenu dobivaju se pomoću Python skripte koja postavlja upit o ultra-preciznom Dark Sky Weather API-ju, prilagođenom mojoj konkretnoj lokaciji.

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

Supplies

Raspberry Pi Zero

Pimoroni jednorog HAT HD

Mali servo

1984 Hitachi SP-1 lični stereo i slušalice

USB WiFi adapter

2 mm navojna šipka

Sugru (crno -sivo)

GeoMag magnet

Korak 1: Skidanje trake

Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown
Tape Teardown

Svekrva mi je u rujnu poklonila ovaj ljupki stari kasetofon i odmah sam se zaljubila u njegov kultni izgled i zdepasta dugmad. Pravo izvlačenje ipak je bio taj veliki prozor s trakom - nakon što sam ga posjedovao oko 15 sekundi, izvadio sam ravnalo i bio sam začuđen otkrivši da je, u 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 kukavičjim satom udari dalje na "to do" listu i odmah sam počeo raditi, 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 spojiti.

Korak 2: Dark Sky Pi

Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi
Dark Sky Pi

Već neko vrijeme koristim Dark Sky na svom telefonu i zaista sam bio impresioniran tač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 isto!

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 API zahtjeva, što je dovoljno za osvježavanje svakih 1,5 minuta - dovoljno često čak i za moj Britanski nivo 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).

Započeo sam prilagođavanjem skripte koju sam koristio u verziji YouTube Subscriber Counter, koja koristi modul Requests u Pythonu za dohvaćanje API podataka. Skripta koju sam koristio nalazi se na GitHub -u, samo trebate dodati svoj Dark Sky API ključ i, naravno, zamijeniti svoje vrijednosti Latitude & Longitude.

Bilo je prilično jednostavno izvaditi podatke o trenutnim vremenskim uvjetima, pa sam odlučio koristiti elemente "Ikona", "Vjerojatnost padavina" i "Temperatura".

Korak 3: Kôd

Kodeks
Kodeks

Ako želite ponovo 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 Dark Sky račun na https://darksky.net/dev i staviti svoj tajni ključ u skriptu gdje je navedeno. Također ćete morati unijeti geografsku širinu i dužinu vremenske lokacije koja vas zanima - to se može pronaći na Google mapama, samo kliknite desnim tasterom miša i odaberite "Šta je ovdje?" i dobit ćete skočni prozor koji prikazuje zemljopisnu širinu/dužinu lokacije.

Nakon preuzimanja API podataka weatherman.py prosljeđuje parametre 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 ga za prikaz vremenske animacije 16x16 - sve su to pohranjene u mapi "ikone" i dio su standardne dokumentacije Unicorn HAT HD. Možete jednostavno urediti-p.webp

phones.py

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

precip.py

Ova skripta prihvaća parametar "vjerovatnoće padavina" iz weatherman.py i prikazuje linije plavom bojom na Unicorn HAT -u koje se odnose na % vjerovatnoće. Ako 100% svih 16 redova svijetli plavo, ako 50% samo 8 redova itd.

temp.py

Još jedno standardno Pimoronijevo pismo, ovo uzima parametar "temp" iz weatherman.py i prikazuje ga s tekstom koji se pomiče. Postavljen je tako da koristi Herkules Truetype font (u fascikli "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 odlična, ali sada sam ih morao prikazati na Unicorn HAT -u. Pogledao sam različite skupove vremenskih ikona na internetu i na pola puta sam ih prilagodio kad sam shvatio da postoji vremenski primjer uključen u Pimoronijevu dokumentaciju - a to je uključivalo i vremenske animacije!

Ovo je uštedjelo ogromnu količinu posla, a ja sam se brzo pokrenuo, s animiranom ikonom za trenutne uvjete, nekim pomicanjem teksta za temperaturu i grafikonom za % padalina (što je uključivalo malo 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 dosadno. S obzirom da je HAT već zauzeo mnoge Pi -ove igle, lemio sam servo kabele na donju stranu ploče, koristeći Pin 17 za kontrolu kretanja servo -a pomoću Pulse Width Modulation.

Napajanje servo pogona iz Pi -a nije bilo idealno, ali bi se ikada koristilo samo za trenutak pomeranja 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 lične dodire, poput šišmiša na Mjesecu i nasmijanog lica na suncu. Dodao sam i prilagođenu "Old Tech New Spec" animaciju kasete koja se može reproducirati pri pokretanju, samo radi zabave.

Korak 5: Pomicanje slušalica

Slušalice Jiggle
Slušalice Jiggle
Slušalice se pomeraju
Slušalice se pomeraju
Slušalice Jiggle
Slušalice Jiggle
Slušalice se pomeraju
Slušalice se pomeraju

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 došle 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 lijepio 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 za postavljanje telefona na gornju stranu jedinice, mogu ih natjerati da se rotiraju naprijed -nazad pomoću servo -a, te to iskoristiti kao dodatno obavještenje.

Prvo sam izbušio utikač od 3,5 mm i demontirao dijamantski prekidač, a zatim sam ih stavio na komad navojne šipke. 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, a također i za pokrivanje 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 -Doh -a, ali lijepi se poput superljepila i čvrsto se stvrdne kao plastika!

S obzirom na nedavno hladno vrijeme, Sugru je trebalo nekoliko dana da se potpuno stvrdne, ali su slušalice i njihovo postolje uskoro bili spremni za konačno sklapanje.

Korak 6: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Pi, HAT i Servo su svi dobro radili 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 tipke Play, Stop, FF & Rew na komad plastičnog cijevi kako bi ostali na pravom mjestu. Šteta je što ovaj put niste ponovno upotrijebili bilo koje dugme, ali zapravo nije bilo ničega za kontrolu!

Koristio 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 crni Sugru da pričvrstim sklop HAT i Pi za 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.

Sastavljanje dvije polovine 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

Quiet Obsession
Quiet Obsession
Quiet Obsession
Quiet Obsession

Druga nagrada na takmičenju za ponovnu upotrebu

Preporučuje se: