Taula de continguts:

WeatherMan Pi de 1984: 7 passos (amb imatges)
WeatherMan Pi de 1984: 7 passos (amb imatges)

Vídeo: WeatherMan Pi de 1984: 7 passos (amb imatges)

Vídeo: WeatherMan Pi de 1984: 7 passos (amb imatges)
Vídeo: Hank Williams Jr. - Mr. Weatherman - 1982 2024, Desembre
Anonim
Image
Image
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi
1984 WeatherMan Pi

Aquest reproductor de cassets portàtil ara és una pantalla meteorològica IoT ambiental amb estil de principis dels anys 80, que mostra una animació de "condicions actuals", temperatura de desplaçament i gràfic de probabilitat de pluja per la finestra de la cinta. Quan les condicions meteorològiques canvien, els auriculars servo-controlats situats a la part superior es mouen d’anada i tornada com a alerta subtil.

Obrint la porta funcional de la cinta, podem veure que els components originals i polsegosos s’han substituït per un Raspberry Pi Zero W, un Pimoroni Unicorn Hat HD (LED Matrix) i un petit servo. Les dades meteorològiques s’obtenen mitjançant un script Python que consulta l’API de Dark Sky Weather ultra precisa, adaptada a la meva ubicació específica.

És una construcció d’IoT simple, però d’aspecte preciós i funcional, que es troba a l’altaveu de l’escriptori oposat al meu taulell de YouTube, mantenint-me tranquil·lament al dia del temps.

Subministraments

Raspberry Pi Zero

Pimoroni Unicorn HAT HD

Servo petit

Auriculars i estèreo personals Hitachi SP-1 de 1984

Adaptador WiFi USB

Vareta roscada de 2 mm

Sugru (negre i gris)

Imant GeoMag

Pas 1: desglossament de cintes

Teardown de cinta
Teardown de cinta
Teardown de cinta
Teardown de cinta
Teardown de cinta
Teardown de cinta

La meva sogra em va regalar aquest preciós i vell reproductor de cassets al setembre i em vaig enamorar instantàniament del seu aspecte icònic i els seus botons gruixuts. El veritable atractiu, però, era aquella gran finestra de cinta: després de posseir-la uns 15 segons, tenia una regla fora i em va sorprendre veure que tenia, fins als mm, la mateixa mida que un Raspberry Pi HAT estàndard (Hardware Attached on Top).

Només aquell descobriment va ser suficient per xocar amb el meu projecte de rellotge de cucut més avall de la llista de tasques i vaig començar a treballar immediatament desmuntant el reproductor.

L’enderrocament va anar força bé i vaig acabar amb tres peces diferents per treballar: vaig aconseguir trencar un parell de peces de plàstic, però res que no es pogués tornar a enganxar.

Pas 2: Dark Sky Pi

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

Fa temps que utilitzo Dark Sky al telèfon i m’ha impressionat molt la precisió de les previsions, així que em va encantar veure que ofereixen una API completa que podria utilitzar en aquest projecte. amunt també!

En primer lloc, aneu a https://darksky.net/dev i registreu-vos per obtenir un compte gratuït: un compte de "prova" us permet fer 1.000 sol·licituds d'API al dia, que són suficients per actualitzar-se cada 1,5 minuts, amb prou freqüència fins i tot per a la meva Nivell britànic d’obsessió meteorològica.

Un cop registrat, obtindreu una "Clau secreta": això és el que necessiteu per accedir a les dades i s'utilitza a l'script de Python, així que teniu-ho a mà (i, ja ho sabeu, secret).

Vaig començar adaptant un script que vaig fer servir a la compilació del comptador de subscriptors de YouTube, que utilitza el mòdul Sol·licituds de Python per recuperar dades de l'API. L’escriptura que he fet servir és a GitHub, només haureu d’afegir la vostra clau d’API Dark Sky i, per descomptat, substituir els vostres propis valors de latitud i longitud.

Va ser bastant senzill obtenir dades sobre les condicions meteorològiques actuals i vaig decidir fer ús dels elements "Icona", "Probabilitat de precipitació" i "Temperatura".

Pas 3: el codi

El codi
El codi

Si voleu tornar a utilitzar o treure el codi que he utilitzat, es troba al dipòsit WeatherMan de GitHub - cloneu o baixeu la carpeta "weather" a la carpeta "pi" del vostre Raspberry Pi.

Les principals funcions de script són les següents:

weatherman.py

Aquest és el guió principal que extreu les dades meteorològiques de Dark Sky. Haureu de configurar un compte de Dark Sky a https://darksky.net/dev i posar la vostra clau secreta a l'script on s'indiqui. També haureu d’introduir la latitud i la longitud de la ubicació meteorològica que us interessa: es pot trobar a Google Maps, només cal que feu clic amb el botó dret i seleccioneu "Què hi ha aquí?" i obtindreu una finestra emergent que mostra el lat / llarg de la ubicació.

Després de recuperar les dades de l'API, weatherman.py passa paràmetres a diversos scripts més petits per iniciar les animacions i els auriculars.

L'escriptura està configurada per executar-se en iniciar editant el fitxer d'inici …

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

… i afegint:

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

al final del fitxer.

icon.py

Aquest script pren un paràmetre "condicions actuals" de l'script weatherman.py i l'utilitza per mostrar una animació meteorològica de 16x16: tots s'emmagatzemen a la carpeta "icones" i formen part de la documentació estàndard Unicorn HAT HD. Podeu editar els fitxers d'animació-p.webp

phones.py

Si les condicions meteorològiques han canviat respecte a la darrera sol·licitud de l'API (o és un arrencada nova i no neva), aquest script es diu de weatherman.py i indica al servo que "vagi" endavant i enrere per avisar-vos que les condicions tenen canviat.

precip.py

Aquest script accepta un paràmetre de "probabilitat de precipitació" de weatherman.py i mostra línies en blau a l'Unicorn HAT relacionades amb el% probabilty. Si el 100% de les 16 files brillaran de color blau, si el 50% només de 8 files, etc.

temp.py

Un altre script estàndard de Pimoroni, aquest pren un paràmetre "temp" de weatherman.py i el mostra amb text de desplaçament. Està configurat per utilitzar el tipus de lletra de tipus autèntic Herkules (a la carpeta "tipus de lletra"), però podeu utilitzar un tipus de lletra estàndard si ho preferiu. Fins i tot podeu millorar-lo perquè el text mostrat canviï de color en funció del valor de la temperatura.

Pas 4: Unicorn HAT i Servo

Unicorn HAT i Servo
Unicorn HAT i Servo
Unicorn HAT i Servo
Unicorn HAT i Servo
Unicorn HAT i Servo
Unicorn HAT i Servo

Poder fer-se amb les dades meteorològiques era fantàstic, però ara necessitava mostrar-los al Unicorn HAT. Vaig mirar diversos conjunts d’icones meteorològiques a Internet i els vaig adaptar a mitges quan em vaig adonar que hi havia un exemple meteorològic inclòs amb la documentació de Pimoroni, i això incloïa animacions meteorològiques.

Això va estalviar una gran quantitat de treball i vaig estar en marxa i funcionant en un tres i no res, amb una icona animada per a les condicions actuals, un text de desplaçament per a la temperatura i un gràfic per al percentatge de precipitació (que implicava algunes matemàtiques lleugeres). He mantingut els scripts separats i he utilitzat el mòdul Subprocess de Python per passar paràmetres cap aquí i cap enrere.

Afegir el servo era el vehicle ideal per a aquestes alertes, ja que faria una mica de soroll i seria atractiu sense ser massa molest. Amb el HAT que ja ocupava molts dels pins del Pi, heu soldat els cables de servo a la part inferior de la placa, utilitzant el Pin 17 per controlar el moviment del servo mitjançant la modulació d’amplada de pols.

L'alimentació del servo des del Pi no era l'ideal, però només s'utilitzaria sempre per a una jugada momentània, de manera que la precisió no era un gran problema aquí. Es va connectar com es mostra al diagrama, amb un cable marró a GND, vermell a 5v i taronja (el cable de control) a GPIO17.

Per últim, he editat alguns dels fitxers d’animació meteorològica a GIMP per afegir-hi els meus propis tocs personals, com ara ratpenats a la lluna i una cara somrient al sol. També he afegit una animació de roda de casset "Old Tech New Spec" personalitzada per reproduir-la a l'inici, només per diversió.

Pas 5: Jiggle dels auriculars

Jiggle per auriculars
Jiggle per auriculars
Jiggle d'auriculars
Jiggle d'auriculars
Jiggle per auriculars
Jiggle per auriculars
Jiggle d'auriculars
Jiggle d'auriculars

La idea del WeatherMan era que s’assegués passivament a l’altaveu del meu escriptori, mostrant de tant en tant el temps, però volia que fes una mica més. Els auriculars que s’acompanyaven eren torrades, però clàssics dels 80, així que vaig decidir fer alguna cosa amb ells. Després de treure tots els cables i enganxar en calent el trencat, em van quedar tres parts, l’endoll de 3,5 mm, el botó en forma de diamant i els mateixos telèfons de la seva banda de metall flexible.

La idea em va cridar l’atenció que si pogués trobar alguna manera de muntar els telèfons a la part superior de la unitat, podria fer-los girar endavant i enrere amb un servo i utilitzar-lo com a notificació addicional.

En primer lloc, vaig treure l’endoll de 3,5 mm i vaig desmuntar l’interruptor de diamant, i després els vaig lliscar sobre un tros de vareta roscada. A continuació, vaig enganxar una femella a un connector de plàstic, de manera que la vareta pogués seure de manera segura (i recta) damunt del servo. A l’altre extrem de la vareta hi vaig afegir una altra femella. Finalment, he utilitzat Sugru gris per unir la part superior de la vareta a la banda dels auriculars i també per tapar la femella a la part inferior del conjunt. Si no heu sentit a parlar de Sugru, és una cola modelable que es presenta en bosses petites de colors: s’emmotlla com Play-Doh, però s’enganxa com la superglua i queda dura com el plàstic.

Amb el fred recent, Sugru va trigar uns quants dies a endurir-se completament, però els auriculars i el seu suport aviat van estar a punt per al muntatge final.

Pas 6: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

El Pi, l’HAT i el Servo funcionaven bé a la banqueta, de manera que la següent feina va ser introduir-los en el cas. Abans de començar els components grans, he utilitzat alguns Sugru gris que sobraven per fixar el dial de volum, la presa per a auriculars i l'interruptor "cinta metàl·lica", classificant els cosmètics. També vaig enganxar els botons originals Play, Stop, FF i Rew a un tros de conducte de plàstic perquè quedessin al lloc adequat. Va ser una pena no tornar a utilitzar cap dels botons aquesta vegada, però realment no hi havia res que controlessin.

Vaig utilitzar el darrer Sugru gris per mantenir el servo en posició, amb el seu eix ficant-se per la presa amplificada dels auriculars. Passant a l’altra meitat de la caixa, vaig fer servir un Sugru negre per fixar el conjunt HAT i Pi a la porta de la cinta, de manera que s’obrissin amb ella. Em va agradar molt el petit toc final: fixar-lo en un imant GeoMag perquè la porta es mantingués ben tancada.

Ajuntar les dues meitats era un assumpte nerviós, ja que temia que el Pi & Servo xocessin l’un contra l’altre, però al final quedava al voltant d’un mil·límetre de sobres, al meu llibre. Com que la porta oberta i divertida donaria un accés complet a l'interior per a futurs serveis, acabo d'enganxar les dues meitats i, després d'haver esborrat les meves empremtes digitals greixoses, he muntat el conjunt dels auriculars a la part superior.

Pas 7: obsessió tranquil·la

Obsessió tranquil·la
Obsessió tranquil·la
Obsessió tranquil·la
Obsessió tranquil·la

Accèssit al concurs de reutilització

Recomanat: