Sommario:

Contatore YouTube E-Ink degli anni '70: 7 passaggi (con immagini)
Contatore YouTube E-Ink degli anni '70: 7 passaggi (con immagini)

Video: Contatore YouTube E-Ink degli anni '70: 7 passaggi (con immagini)

Video: Contatore YouTube E-Ink degli anni '70: 7 passaggi (con immagini)
Video: Ingoiare il latte del trallalero fa bene? #shorts 2024, Dicembre
Anonim
Image
Image
Contatore YouTube E-Ink degli anni '70
Contatore YouTube E-Ink degli anni '70
Contatore YouTube E-Ink degli anni '70
Contatore YouTube E-Ink degli anni '70

Questo iconico orologio digitale degli anni '70 ora ha una nuova vita mostrando le statistiche di YouTube, grazie a un funky display e-ink Pimoroni "Inky pHAT" e un Raspberry Pi Zero. Utilizza un semplice script Python per interrogare regolarmente l'API di Youtube, aggiornando il display con i dati che recupera, visualizzando le statistiche del sito più recenti. L'interruttore originale di attivazione/disattivazione dell'allarme sul retro commuta la visualizzazione tra abbonati e visualizzazioni per un sito YouTube specifico (in questo caso il mio!).

L'orologio stesso è un modello Digitron, uno dei primi orologi a LED per il mercato consumer, con una custodia solida ed elegante in un robusto corpo in alluminio.

Il video completo del progetto che mostra il codice e la build è su https://www.youtube.com/embed/jKEZ2S3fj38 nel caso non riuscissi a vedere il video incorporato, se vuoi solo vederlo in azione c'è anche un'anteprima più breve.

Forniture

Sveglia Digitron anni '70

Raspberry Pi Zero / Zero W

Pimoroni Inky pHAT

12 cavi jumper da femmina a maschio

Dadi e bulloni

Passaggio 1: indietro nel tempo per l'upcycling

Indietro in tempo per l'upcycling
Indietro in tempo per l'upcycling
Indietro in tempo per l'upcycling
Indietro in tempo per l'upcycling
Indietro in tempo per l'upcycling
Indietro in tempo per l'upcycling

Ho preso questo orologio a una vendita qualche anno fa e fino a poco tempo fa era in uso quotidiano, nascosto sotto l'unità TV e tenendo il tempo alla grande. Di recente, però, siamo entrati nella stanza per trovare il display a LED che lampeggiava follemente, con un ronzio inquietante, ed era ovviamente ora che si ritirasse in officina.

All'inizio ne ero stato attratto dalla sua costruzione solida e dal suo stile: è praticamente un solido pezzo di alluminio e molto pesante. Ho amato così tanto l'estetica che ho deciso di ricostruire l'orologio ormai rotto in un dispositivo IoT sobrio per fornire informazioni passive nel mio ufficio.

Lo smantellamento mi ha dato un grande indizio sulla sua mole: i moderni orologi a LED hanno spesso un adattatore "wall wart" e funzionano a bassa tensione, ma questo mostro prendeva la piena tensione di rete e aveva un grande trasformatore all'interno dell'orologio stesso - che ne spiegava il peso !

A parte i bulloni che tengono in posizione il supporto, il resto dei componenti è stato fissato ai pannelli posteriori o anteriori, che erano fatti di plastica. Ho scartato il trasformatore, il circuito e il vecchio display a LED, e sono rimasto con un guscio solido, pannelli anteriore e posteriore e alcuni interruttori, che ho imballato in una scatola in attesa che arrivasse l'idea giusta.

Passaggio 2: costruzione del canale

Costruzione del canale
Costruzione del canale

Circa un anno fa ho avviato "Old Tech. New Spec." su YouTube - un canale dedicato ai video dei miei progetti con un formato e un design coerenti. Avevo iniziato a divertirmi a realizzare video di progetto quasi quanto i progetti stessi e questo sembrava il logico passo successivo. Non c'era anche carenza di filmati, poiché video regolarmente cose come smontaggi in modo da poter guardare indietro in seguito e vedere come le cose dovrebbero adattarsi di nuovo insieme.

Non ho ancora pubblicato così tanti video, ma imparo qualcosa di nuovo da ognuno. Il video per il recente "PiNG Video Doorbell" è stato il più divertente finora, ma era troppo lungo, quindi ho deciso che il prossimo progetto sarebbe stato un contatore di statistiche YouTube semplice e minimalista, per sedermi sulla mia scrivania e aiutarmi a mantenermi motivato. Ora dovevo solo capire come trasferire i numeri da YouTube sul Pi: quanto poteva essere difficile?

Passaggio 3: cogliere le statistiche

Cogliere le statistiche
Cogliere le statistiche
Cogliere le statistiche
Cogliere le statistiche

Il codice video è su:

Ho iniziato la mia ricerca seguendo una guida nella rivista MagPi, che recuperava le statistiche dei follower da un gruppo di diverse API social (Interfacce di programmazione delle applicazioni), memorizzava i numeri in un database MySQL e li visualizzava su un display a LED. Ha funzionato bene ma sembrava eccessivo per questo progetto, quindi ho cercato una soluzione più semplice, avendo ancora imparato alcune lezioni preziose su come funzionano le API.

Ho scoperto presto il modulo Richieste per Python e, dopo aver esaminato alcuni esempi estremamente utili, mi sono reso conto che potevo facilmente interrogare l'API di YouTube e restituire alcune statistiche di base per il mio canale.

Se vuoi fare qualcosa di simile, il primo passo è accedere a Google Console e creare un nuovo progetto: da lì puoi collegare l'API di YouTube al tuo progetto e recuperare le credenziali di cui hai bisogno (ID canale e chiave API) per estrarre le statistiche usando Python. Ho seguito la guida davvero utile di Google per configurare il progetto e ottenere la chiave API e ho seguito questi passaggi per recuperare l'ID canale.

Il codice Python che ho usato è documentato su Github: è commentato e abbastanza semplice da usare per te stesso purché incolli le tue credenziali. Utilizza solo il modulo Richieste, che è già installato di default su Raspbian, quindi a parte il display non c'è nient'altro da installare, a meno che tu non voglia usare un font specifico. Tuttavia, non sei sicuramente limitato a YouTube, il modulo Richieste è molto flessibile e può aiutarti a recuperare dati da migliaia di fonti, un esempio potrebbe essere un contapassi giornaliero, che si collega a un'API di fitness.

Una volta soddisfatto, ho impostato lo script Python per l'avvio automatico all'avvio modificando il file di avvio automatico:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

…e aggiungendo in fondo la riga seguente:

@python3 /home/pi/YTcounter.py

Ora che sono stato in grado di recuperare i numeri che volevo da YouTube, il passo successivo è stato visualizzarli, in un modo che si adattasse allo stile retrò dell'orologio.

Passaggio 4: l'opzione Inky

L'opzione Inky
L'opzione Inky
L'opzione Inky
L'opzione Inky
L'opzione Inky
L'opzione Inky
L'opzione Inky
L'opzione Inky

Ho preso in considerazione diverse opzioni di visualizzazione per questo progetto, ma ho optato per il Pimoroni Inky pHAT, un piccolo display e-ink a tre colori per il Pi. Ne ho preso uno durante l'inverno dopo aver raccolto un buono nella sfida Yarr Booty dell'anno scorso, ma non ho mai avuto modo di usarlo, quindi questa mi è sembrata l'occasione ideale. Inoltre, cosa più importante, il display era di una bella tonalità di rosso, che si abbinava perfettamente al pannello frontale dell'orologio originale.

Il software per Inky pHAT è stato facilmente installato seguendo le istruzioni di installazione e in pochissimo tempo avrei eseguito uno degli esempi sul mio Test Pi per creare un simpatico badge con il nome. Dopo alcuni ulteriori esperimenti sono stato in grado di visualizzare il testo di base utilizzando un carattere tipografico specifico (corrispondente a quello che utilizzo nel mio marchio YouTube), e da lì è stato semplice visualizzare l'output della richiesta API: i commenti nel codice Github mostrano come questo è codificato passo dopo passo.

L'Inky è progettato per adattarsi alla parte superiore dell'intestazione GPIO a 40 pin del Pi, ma volevo che lo fissasse allo "schermo", quindi ho deciso di collegarlo al Pi tramite cavi jumper maschio-femmina invece - questo ha reso il suo posizionamento più flessibile e ha lasciato alcuni pin GPIO di riserva per collegare un LED e un interruttore (ne parleremo più avanti). Ho seguito lo schema su pinout.xyz, ho notato che erano necessari 8 pin GPIO, ho collegato i cavi, l'ho testato e - niente! Non mi ero reso conto che sebbene fossero necessari solo 8 pin GPIO, anche il pHAT doveva essere collegato a più pin GND. Una volta che questi erano tutti collegati con i ponticelli (un affare complicato) l'Inky ha funzionato ancora una volta come previsto, grande sollievo.

Con il codice funzionante ora ho affrontato la solita sfida: inserire tutte le parti nella custodia.

Passaggio 5: Lego, tritare e incollare

Lego, tagliere e colla
Lego, tagliere e colla
Lego, tagliere e colla
Lego, tagliere e colla
Lego, tagliere e colla
Lego, tagliere e colla

Il video completo è su:

Montare il Pi Zero nel case è stato il primo, e per questo sono ricorso al mio materiale da costruzione preferito, il Lego. È semplicemente perfetto per montare i componenti insieme e, soprattutto, consente un facile smontaggio e montaggio. Dopo aver praticato alcuni fori nelle piastre di base Lego, ne ho fissato uno alla scheda Pi e uno al corpo dell'orologio con i suoi bulloni di supporto originali, in modo che si agganciassero e mantenessero il Pi nella giusta posizione.

La successiva è stata la "faccia": il perspex rosso originale nella parte anteriore dell'orologio era troppo opaco per essere mostrato efficacemente sul display Inky, quindi ho dovuto ritagliare una sezione per farla sbirciare. Questa è stata senza dubbio la parte più difficile della costruzione, poiché il foro doveva essere tagliato in modo molto accurato e se l'avessi rovinato non c'era speranza di una sostituzione, tranne avere un taglio laser su misura (che ho studiato per ogni evenienza!). Con l'aiuto di un calibro a corsoio economico (il mio nuovo strumento preferito) sono stato in grado di misurare e segnare con precisione il contorno del foro, che poi ho ritagliato grossolanamente con un utensile rotante e riordinato con una piccola lima. Questo è stato lento e ci è voluto un'intera serata ma ne è valsa la pena!

L'Inky pHAT è stato quindi incollato a caldo nel modo più preciso possibile sul perspex rosso, pronto per l'assemblaggio.

Passaggio 6: ritocchi finali e assemblaggio

Tocchi finali e montaggio
Tocchi finali e montaggio
Tocchi finali e montaggio
Tocchi finali e montaggio
Tocchi finali e montaggio
Tocchi finali e montaggio
Tocchi finali e montaggio
Tocchi finali e montaggio

Durante la sperimentazione con le risposte dell'API di YouTube ho scoperto che potevo restituire due numeri "interessanti" separati: iscritti e visualizzazioni totali. Con Inky pHAT sarebbe stato possibile visualizzare entrambi contemporaneamente, ma mi è piaciuta molto la pulizia simile a un orologio di un solo numero grande (dimensione del carattere non quantità!). Con alcune modifiche al codice sono stato in grado di collegare l'interruttore originale "Alarm On/Off" dell'orologio al GPIO, in modo che il display potesse essere alternato tra abbonati e visualizzazioni - questo è stato un tocco soddisfacente, soprattutto quando il numero di visualizzazioni cambia molto più spesso del conteggio degli iscritti!

Successivamente ho aggiunto un LED bianco brillante al GPIO, codificandolo in modo che si accenda appena prima dell'invio della richiesta API e si spenga in seguito. Avevo già raschiato tutta la vernice dal retro della plastica rossa traslucida, quindi l'idea era che l'orologio si illuminasse un po' di rosso mentre i numeri venivano aggiornati.

Con tutte le connessioni GPIO fatte in anticipo e il cavo di alimentazione collegato, l'assemblaggio è andato davvero bene, in gran parte grazie al Lego che tiene le cose in posizione. I pannelli anteriore e posteriore erano a stretto contatto con l'attrito, ma alla fine si sono agganciati insieme - spero solo di non doverlo smontare presto. Il momento della verità è stata la prima accensione dopo l'assemblaggio, con i cavi dei ponticelli che serpeggiavano all'interno del case e le connessioni GPIO così strette che non avevo grandi speranze, ma sono stato felice quando il display si è aggiornato dopo quella che sembrava un'ora processo di avvio.

Passaggio 7: cifre motivazionali

Figure motivazionali
Figure motivazionali
Figure motivazionali
Figure motivazionali

Adoro come è venuto fuori questo progetto, è sicuramente uno dei più "puliti" che abbia mai costruito, grazie al bellissimo design in alluminio massiccio dell'orologio originale. È stata anche una grande esperienza di apprendimento, ho imparato molto a lavorare con le API e l'e-ink che so che userò in progetti futuri.

Quello che amo di più è la semplicità e la praticità, ha un solo lavoro, lo fa bene e sta bene mentre lo fa. Non tendevo a tenere d'occhio le statistiche di YouTube prima, ma questo ha portato nel mio ufficio dati online grezzi, presentati in un modo attraente e non invadente. Potrei non costruire mai il pubblico per Old Tech. Nuova specifica a migliaia, ma finché sarà divertente continuerò a realizzare progetti e video per ispirare, si spera, più persone a trasformare i loro vecchi dispositivi in qualcosa di fresco e utile.

I bambini e io siamo affascinati dal vedere cambiare il numero di visualizzazioni, anche se leggermente, ci fa sapere che da qualche parte nel mondo qualcuno ha appena visto un video di progetto e questo ci sprona sicuramente a continuare a creare e condividere.

Se ti è piaciuto questo progetto, dai un'occhiata ai miei altri Instructables per ulteriori vecchie tecnologie e iscriviti al canale YouTube per contenuti video regolari.

Sfida IoT
Sfida IoT
Sfida IoT
Sfida IoT

Primo Premio nella IoT Challenge

Consigliato: