Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
Acest ceas digital iconic din anii 1970 are acum o viață nouă care afișează statistici YouTube, grație unui ecran funky Pimoroni „Inky pHAT” și a unui Raspberry Pi Zero. Folosește un script Python simplu pentru a interoga în mod regulat API-ul Youtube, reîmprospătând afișajul cu datele pe care le recuperează, afișând cele mai recente statistici ale site-ului. Comutatorul original Alarm On / Off din spate comută afișajul dintre abonați și vizualizări pentru un anumit site YouTube (în acest caz al meu!).
Ceasul în sine este un model Digitron, un ceas cu LED destul de timpuriu pentru piața de consum, solid și elegant încastrat într-un corp robust din aluminiu.
Videoclipul complet al proiectului care prezintă codul și versiunea este la https://www.youtube.com/embed/jKEZ2S3fj38 în cazul în care nu puteți vedea videoclipul încorporat, dacă doriți doar să-l vedeți în acțiune, există și o scurtă privire.
Provizii
Ceas cu alarmă Digitron din anii 1970
Raspberry Pi Zero / Zero W
Pimoroni Inky pHAT
12 cabluri jumper de la feminin la masculin
Piulițe
Pasul 1: înapoi la timp pentru Upcycling
Am ridicat acest ceas la o vânzare cu câțiva ani în urmă și, până de curând, era în uz zilnic, băgat sub televizor și păstrând timpul minunat. De curând, am intrat în cameră pentru a găsi afișajul cu LED-uri care clipea nebunește, cu un sunet deranjant, și era evident că era timpul să se retragă la atelier.
Mai întâi am fost atras de el prin construcția și stilul său solid - este aproape o bucată solidă de aluminiu și foarte grea. Mi-a plăcut atât de mult estetica încât am decis să reconstruiesc ceasul acum rupt într-un dispozitiv IoT subevaluat pentru a oferi informații pasive în biroul meu.
Dezmembrarea mi-a oferit un indiciu important pentru volumul său - ceasurile moderne cu LED-uri vor avea adesea un adaptor de tip "verucă de perete" și vor funcționa la tensiune scăzută, dar acest monstru a luat tensiunea completă a rețelei și a avut un transformator mare în interiorul ceasului în sine - reprezentând greutatea sa !
În afară de șuruburile care țineau standul în poziție, restul componentelor erau fixate fie pe panourile din spate, fie pe cele din față, care erau din plastic. Am aruncat transformatorul, circuitul și afișajul vechi cu LED-uri și am rămas cu o carcasă solidă, panouri frontale și spate și câteva întrerupătoare, pe care le-am încadrat în așteptarea ideii potrivite.
Pasul 2: Construirea canalelor
Acum aproximativ un an am început „Vechea tehnologie. Specificații noi”. pe YouTube - un canal dedicat pentru videoclipurile proiectului meu, cu un format și un design consecvente. Începusem să mă bucur să fac videoclipuri despre proiecte aproape la fel de mult ca și proiectele în sine și acest lucru s-a simțit ca următorul pas logic. De asemenea, nu au lipsit filmările, deoarece în mod obișnuit filmez lucruri cum ar fi demolările, astfel încât să pot privi în urmă mai târziu și să văd cum lucrurile sunt menite să se potrivească.
Nu am lansat încă atât de multe videoclipuri, dar învăț ceva nou de la fiecare. Videoclipul recentului „PiNG Video Doorbell” a fost cel mai distractiv de până acum, dar a fost mult prea lung - așa că am decis că următorul proiect va fi un contor de statistici YouTube simplu și minimalist, pentru a sta pe biroul meu și a mă ajuta să mă mențin motivat. Acum a trebuit doar să-mi dau seama cum să ajung numerele de pe YouTube pe Pi - cât de greu ar putea fi?
Pasul 3: confiscarea statisticilor
Codul video este la:
Mi-am început cercetările urmând un ghid din revista MagPi, care a preluat statistici ale adepților dintr-o grămadă de API-uri sociale diferite (Interfețe de programare a aplicațiilor), a stocat numerele într-o bază de date MySQL, apoi le-a afișat pe un ecran LED. Acest lucru a funcționat bine, dar mi s-a părut excesiv pentru acest proiect, așa că am căutat o soluție mai simplă, după ce am învățat încă câteva lecții valoroase despre modul în care funcționează API-urile.
În curând am descoperit modulul Cereri pentru Python și, după ce am analizat câteva exemple extrem de utile, mi-am dat seama că aș putea interoga cu ușurință API-ul YouTube și să returnez câteva statistici de bază pentru canalul meu.
Dacă doriți să faceți ceva similar, primul pas este să vă conectați la Consola Google și să creați un proiect nou - de acolo puteți conecta API-ul YouTube la proiectul dvs. și puteți recupera acreditările de care aveți nevoie (ID canal și cheie API) pentru a le extrage statisticile folosind Python. Am urmat ghidul foarte util al Google pentru a configura proiectul și a obține cheia API și am urmat acești pași pentru a recupera ID-ul canalului.
Codul Python pe care l-am folosit este documentat pe Github - este comentat și destul de simplu de utilizat pentru dvs. atâta timp cât lipiți propriile acreditări. Folosește doar modulul Solicitări, care este deja instalat implicit pe Raspbian, așa că, în afară de afișaj, nu mai este nimic de instalat, cu excepția cazului în care doriți să utilizați un anumit font. Cu toate acestea, cu siguranță nu vă limitați la YouTube, modulul Cereri este foarte flexibil și vă poate ajuta să preluați date din mii de surse, un exemplu ar fi un contor de pași zilnic, conectarea la un API de fitness.
Odată ce am fost mulțumit de acesta, am setat scriptul Python să înceapă automat la pornire, editând fișierul de pornire automată:
sudo nano / etc / xdg / lxsession / LXDE-pi / autostart
… și adăugând în partea de jos următoarea linie:
@ python3 /home/pi/YTcounter.py
Acum, când am reușit să recuperez numerele dorite de pe YouTube, următorul pas a fost să le afișez - într-un mod care să se potrivească stilului retro al ceasului.
Pasul 4: Opțiunea Inky
Am luat în considerare mai multe opțiuni de afișare diferite pentru acest proiect, dar m-am așezat pe Pimoroni Inky pHAT - un mic afișaj cu cerneală electronică în trei culori pentru Pi. Am luat unul peste iarnă după ce am luat un voucher la provocarea Yarr Booty de anul trecut, dar nu am reușit niciodată să-l folosesc, așa că mi s-a părut oportunitatea ideală. În plus, cel mai important, afișajul era o nuanță minunată de roșu, care se potrivea frumos cu panoul frontal al ceasului original.
Software-ul pentru Inky pHAT a fost instalat cu ușurință urmând instrucțiunile de configurare și, în cel mai scurt timp, aș rula unul dintre exemplele de pe Test Pi pentru a crea o insignă de nume. După câteva experimente, am putut afișa textul de bază folosind un tip de caractere specific (care se potrivește cu cel pe care îl folosesc în brandul meu YouTube) și de acolo a fost simplu să afișez rezultatul cererii API - comentariile din codul Github arată cum aceasta este codificată pas cu pas.
Inky este conceput pentru a se potrivi deasupra antetului GPIO cu 40 de pini al lui Pi, dar am vrut să-l fixeze pe „ecran”, așa că am decis să îl conectez la Pi prin cabluri jumper de la bărbat la femeie - acest lucru a făcut plasarea sa mai flexibil și a lăsat niște pini GPIO de rezervă pentru a conecta un LED și a comuta (mai multe despre cele ulterioare). Am urmat diagrama de pe pinout.xyz, am observat că erau necesari 8 pini GPIO, am conectat cablurile, l-am testat și - nimic! Nu mi-am dat seama că, deși erau necesare doar 8 pini GPIO, pHAT-ul trebuia conectat la mai mulți pini GND. Odată ce toate acestea au fost conectate cu jumperi (o afacere dificilă), Inky a funcționat din nou așa cum a fost planificat, o mare ușurare.
Odată cu funcționarea codului, m-am confruntat acum cu provocarea obișnuită - montarea tuturor pieselor în carcasă.
Pasul 5: Lego, tocare și lipici
Videoclipul complet este la:
Încadrarea Pi Zero în carcasă a fost prima, și pentru aceasta am căzut din nou pe materialul meu de construcție preferat, Lego. Este perfect pentru montarea componentelor împreună și permite în mod crucial demontarea și montarea ușoară. După găurirea unor găuri în plăcile de bază Lego, am fixat una pe placa Pi și una pe corpul ceasului cu șuruburile sale originale, astfel încât acestea să se agațe împreună și să țină Pi în poziția corectă.
Apoi a fost „fața” - perspexul roșu original din partea din față a ceasului era prea opac pentru ca afișajul Inky să poată fi afișat eficient, așa că a trebuit să decupez o secțiune pentru ca acesta să se uite. Aceasta a fost, fără îndoială, cea mai grea parte a construcției, deoarece gaura trebuia tăiată foarte precis și, dacă o înșurubam, nu mai exista nicio speranță de înlocuire, cu excepția unei tăieturi laser personalizate (pe care am cercetat-o pentru orice eventualitate!). Cu ajutorul unui etrier vernier ieftin (noul meu instrument preferat) am reușit să măsoară și să punctez conturul găurii cu precizie, pe care apoi l-am decupat aproximativ cu un instrument rotativ și l-am ordonat cu un mic fișier. Acest lucru a fost lent și a durat o seară întreagă, dar a meritat!
Inky pHAT a fost apoi lipit la cald cât mai bine posibil de perspexul roșu, gata pentru asamblare.
Pasul 6: Atingeri finale și asamblare
Când experimentam cu răspunsurile din API-ul YouTube, am constatat că aș putea returna două numere „interesante” separate - Abonați și Vizualizări totale. Cu Inky pHAT ar fi fost posibil să se afișeze ambele simultan, dar mi-a plăcut foarte mult curățenia asemănătoare ceasului a unui singur număr mare (dimensiunea fontului nu este cantitatea!). Cu câteva modificări la cod, am reușit să conectez comutatorul original „Alarm On / Off” al ceasului la GPIO, astfel încât afișajul să poată fi comutat între abonați și vizualizări - aceasta a fost o atingere satisfăcătoare, în special pe măsură ce numărul vizualizărilor se schimbă mult mai des decât numărul de abonați!
Apoi am adăugat un LED alb strălucitor la GPIO, codificându-l pentru a se aprinde chiar înainte ca cererea API să fie trimisă și apoi să se oprească. Deja am răzuit toată vopseaua din spatele plasticului roșu translucid, așa că ideea era că ceasul ar străluci puțin roșu în timp ce numerele erau reîmprospătate.
Cu toate conexiunile GPIO realizate în prealabil și cablul de alimentare conectat, ansamblul a mers foarte bine, în mare parte datorită faptului că Lego ține lucrurile la locul lor. Panourile din față și din spate au fost potrivite cu fricțiune strânsă, dar s-au lipit la final - sper doar că nu va trebui să le demontez în curând. Momentul adevărului a fost prima pornire după asamblare, cu cablurile jumper care se strecurau în interiorul carcasei și conexiunile GPIO atât de strânse încât nu aveam mari speranțe, dar am fost încântat când ecranul s-a reîmprospătat după ceea ce părea o oră procesul de pornire.
Pasul 7: Cifre motivaționale
Îmi place modul în care s-a dovedit acest proiect, este cu siguranță unul dintre cele mai „curate” pe care le-am construit vreodată, datorită designului frumos din aluminiu solid al ceasului original. A fost și o experiență minunată de învățare, am învățat multe despre lucrul cu API-uri și cerneală electronică pe care știu că le voi folosi în proiecte viitoare.
Ceea ce îmi place cel mai mult este simplitatea și practicitatea, are o singură treabă, o face bine și arată bine în timp ce o face. Nu am avut tendința să urmăresc statisticile YouTube înainte, dar acest lucru a adus date online brute în biroul meu, prezentate într-un mod atractiv și neintruziv. S-ar putea să nu construiesc niciodată publicul pentru Old Tech. Spec. Nouă la mii, dar atâta timp cât este distractiv, voi continua să fac proiecte și videoclipuri pentru a inspira, sperăm, mai mulți oameni să-și recicleze vechile dispozitive în ceva proaspăt și util.
Copiii și cu mine suntem fascinați să vedem cum numărul de vizualizări se schimbă, oricât de ușor ne anunță că, undeva în lume, cineva tocmai a vizionat un videoclip de proiect și asta ne determină cu siguranță să continuăm să creăm și să partajăm.
Dacă ți-a plăcut acest proiect, te rog să verifici celelalte Instrucțiuni ale mele pentru mai multe reciclări tehnologice vechi și abonează-te la canalul YouTube pentru conținut video obișnuit.
Premiul I în Provocarea IoT
Recomandat:
Scooter LED Cylon - Scanner Larson din anii 80: 5 pași (cu imagini)
LED Cylon Scooter - Scanner Larson din anii 80: acest proiect este un upgrade foarte scurs din anii 80 la un scuter din anii 80 - Pun o bandă LED în grila Honda Elite a iubitului meu Smokey pentru a crea un efect de animație a scannerului Larson în timp ce îl învăț cum să circuitul și codul sunt remixate din
Ceas HP Tube Counter Nixie din anii 1960 / Afișaj BG: 3 pași
Afișaj HP Counter Nixie Tube Clock / BG din anii 1960: Acesta este un proiect pentru realizarea unui ceas - și în cazul meu, a unui afișaj al glicemiei - dintr-un contor de frecvență vintage HP 5532A din 1966. În cazul meu, tejgheaua nu a funcționat și a trebuit să fac niște reparații. Aceste fotografii inițiale sunt câteva dintre reparațiile. Acest instructaj
Radio Philips din anii 50 salvat din mormânt: 7 pași (cu imagini)
Radio Philips din anii '50 salvat de la mormânt: după valizele mele de valize, am vrut să continui să folosesc boxe interesante pentru difuzoare. De data aceasta am folosit o carcasă care este de fapt destinată găzduirii difuzoarelor și a tuturor componentelor suplimentare. Am găsit un Philips t din anii '50 deteriorat și nefuncțional
PiDP-11: Replica PDP-11/70: 4 pași din anii 1970
PiDP-11: Replica PDP-11/70 din anii 1970: PDP-11 a fost probabil cel mai influent computer din toate timpurile. Acesta a definit ceea ce credem noi ca fiind normal, a fost prima mașină pentru care ați putea obține Unix, iar Windows își poate urmări rădăcinile către celălalt sistem de operare al PDP-11, RSX-11.În 1975, a
Televiziunea Neon Infinity din anii 1970: 7 pași (cu imagini)
Televiziune Neon Infinity din anii 1970: Acesta este un televizor Ferguson Courier de la începutul anilor 1970 pe care l-am transformat într-o oglindă infinită, cu un neon modern „Deschis”. semn strălucitor înăuntru. Funcția On / Off / Flash este controlată prin rotirea cadranului de reglare al televizorului - asta este ceea ce folosim