Inhoudsopgave:

E-Ink YouTube-teller uit de jaren 70: 7 stappen (met afbeeldingen)
E-Ink YouTube-teller uit de jaren 70: 7 stappen (met afbeeldingen)

Video: E-Ink YouTube-teller uit de jaren 70: 7 stappen (met afbeeldingen)

Video: E-Ink YouTube-teller uit de jaren 70: 7 stappen (met afbeeldingen)
Video: Wacht tot je Ziet hoe de Mooiste Tweeling ter Wereld er NU Uitziet! 2024, Juli-
Anonim
Image
Image
E-Ink YouTube-teller uit de jaren 70
E-Ink YouTube-teller uit de jaren 70
E-Ink YouTube-teller uit de jaren 70
E-Ink YouTube-teller uit de jaren 70

Deze iconische digitale klok uit de jaren 70 heeft nu een nieuw leven met YouTube-statistieken, dankzij een funky Pimoroni "Inky pHAT" e-ink-display en een Raspberry Pi Zero. Het gebruikt een eenvoudig Python-script om regelmatig de YouTube-API te doorzoeken, het scherm te vernieuwen met de gegevens die het ophaalt en de allernieuwste sitestatistieken weer te geven. De originele Alarm Aan/Uit-schakelaar aan de achterkant schakelt de weergave tussen abonnees en weergaven voor een specifieke YouTube-site (in dit geval de mijne!).

De klok zelf is een Digitron-model, een vrij vroege LED-klok voor de consumentenmarkt, stevig en stijlvol gehuld in een stevige aluminium behuizing.

De volledige projectvideo met de code en build is op https://www.youtube.com/embed/jKEZ2S3fj38 voor het geval je de ingesloten video niet kunt zien, als je hem gewoon in actie wilt zien, is er ook een kortere sneak peek.

Benodigdheden

Digitron-wekker uit de jaren 70

Raspberry Pi Zero / Zero W

Pimoroni Inky pHAT

12 vrouwelijke naar mannelijke startkabels

Moeren bouten

Stap 1: Terug in de tijd voor upcycling

Terug in de tijd voor upcycling
Terug in de tijd voor upcycling
Terug in de tijd voor upcycling
Terug in de tijd voor upcycling
Terug in de tijd voor upcycling
Terug in de tijd voor upcycling

Ik heb deze klok een paar jaar geleden bij een uitverkoop opgehaald en tot voor kort werd hij dagelijks gebruikt, onder het tv-meubel weggestopt en goed op tijd gehouden. Onlangs kwamen we echter de kamer binnen en merkten dat het LED-display waanzinnig flitste, met een verontrustend zoemend geluid, en het was duidelijk tijd om zich terug te trekken naar de werkplaats.

Ik was er eerst door aangetrokken door zijn solide constructie en stijl - het is zo'n beetje een stevige klomp aluminium en erg zwaar. Ik hield zo veel van de esthetiek dat ik besloot om de nu kapotte klok om te bouwen tot een ingetogen IoT-apparaat om passieve informatie in mijn kantoor te verstrekken.

De ontmanteling gaf me een grote aanwijzing voor de omvang ervan - moderne LED-klokken hebben vaak een "muurwrat" -adapter en werken op lage spanning, maar dit monster nam de volledige netspanning en had een grote transformator in de klok zelf - goed voor zijn gewicht !

Afgezien van de bouten die de standaard op zijn plaats houden, werden de rest van de componenten bevestigd aan de achter- of voorpanelen, die van plastic waren. Ik gooide de transformator, het circuit en het oude LED-display weg en bleef achter met een solide schaal, voor- en achterpanelen en enkele schakelaars, die ik in dozen deed wachtend op het juiste idee.

Stap 2: Kanaalopbouw

Kanaal bouwen
Kanaal bouwen

Ongeveer een jaar geleden ben ik begonnen met "Old Tech. New Spec." op YouTube - een speciaal kanaal voor mijn projectvideo's met een consistent formaat en ontwerp. Ik begon het maken van projectvideo's bijna net zo leuk te vinden als de projecten zelf en dit voelde als de logische volgende stap. Er was ook geen gebrek aan beeldmateriaal, omdat ik routinematig dingen zoals demontage film, zodat ik later kan terugkijken en kan zien hoe dingen weer in elkaar moeten passen.

Ik heb nog niet zoveel video's uitgebracht, maar leer van elke video iets nieuws. De video voor de recente "PiNG Video Doorbell" was de leukste tot nu toe, maar was veel te lang - dus besloot ik dat het volgende project een eenvoudige en minimalistische YouTube-statistiekenteller zou zijn, die op mijn bureau zou zitten en me zou helpen gemotiveerd te blijven. Nu moest ik gewoon uitzoeken hoe ik de nummers van YouTube op de Pi kon krijgen - hoe moeilijk kan het zijn?

Stap 3: De statistieken in beslag nemen

De statistieken in beslag nemen
De statistieken in beslag nemen
De statistieken in beslag nemen
De statistieken in beslag nemen

Codevideo is te vinden op:

Ik begon mijn onderzoek door een gids in het MagPi-magazine te volgen, die volgstatistieken ophaalde van een aantal verschillende sociale API's (Application Programming Interfaces), de nummers opsloeg in een MySQL-database en ze vervolgens op een LED-display weergaf. Dit werkte goed, maar leek overdreven voor dit project, dus ik zocht naar een eenvoudigere oplossing, omdat ik nog steeds een aantal waardevolle lessen had geleerd over hoe API's werken.

Ik ontdekte al snel de Requests-module voor Python en na het bekijken van enkele uiterst nuttige voorbeelden realiseerde ik me dat ik gemakkelijk de YouTube-API kon opvragen en enkele basisstatistieken voor mijn kanaal kon retourneren.

Als je iets soortgelijks wilt doen, is de eerste stap om in te loggen op de Google Console en een nieuw project te maken - van daaruit kun je de YouTube API aan je project koppelen en de inloggegevens ophalen die je nodig hebt (kanaal-ID en API-sleutel) om uit te trekken de statistieken met behulp van Python. Ik volgde de echt nuttige gids van Google om het project op te zetten en de API-sleutel te krijgen, en volgde deze stappen om de kanaal-ID op te halen.

De Python-code die ik heb gebruikt, is gedocumenteerd op Github - het is becommentarieerd en vrij eenvoudig om voor jezelf te gebruiken, zolang je je eigen inloggegevens plakt. Het gebruikt alleen de Requests-module, die al standaard op Raspbian is geïnstalleerd, dus afgezien van de weergave hoeft er niets anders te worden geïnstalleerd, tenzij je een specifiek lettertype wilt gebruiken. Je bent echter zeker niet beperkt tot YouTube, de Requests-module is zeer flexibel en kan je helpen gegevens uit duizenden bronnen op te halen, een voorbeeld is een dagelijkse stappenteller die verbinding maakt met een fitness-API.

Toen ik er eenmaal blij mee was, stelde ik het Python-script in om automatisch te starten bij het opstarten door het autostart-bestand te bewerken:

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

… en onderaan de volgende regel toevoegen:

@python3 /home/pi/YTcounter.py

Nu ik de nummers die ik wilde van YouTube kon ophalen, was de volgende stap om ze weer te geven - op een manier die bij de retro-stijl van de klok zou passen.

Stap 4: De Inky-optie

De inktzwarte optie
De inktzwarte optie
De inktzwarte optie
De inktzwarte optie
De inktzwarte optie
De inktzwarte optie
De inktzwarte optie
De inktzwarte optie

Ik overwoog verschillende weergave-opties voor dit project, maar koos voor de Pimoroni Inky pHAT - een klein driekleuren e-ink-display voor de Pi. Ik heb er in de winter een gekocht nadat ik een voucher had gewonnen in de Yarr Booty-uitdaging van vorig jaar, maar het kwam er nooit van om het te gebruiken, dus dit leek de ideale kans. En het belangrijkste was dat het display een mooie rode tint had, mooi passend bij het voorpaneel van de originele klok.

De software voor de Inky pHAT was eenvoudig te installeren volgens de installatie-instructies en in een mum van tijd had ik een van de voorbeelden op mijn Test Pi uitgevoerd om een coole naambadge te maken. Na wat meer experimenteren was ik in staat om basistekst weer te geven met een specifiek lettertype (dat overeenkomt met het lettertype dat ik gebruik in mijn YouTube-branding), en vanaf daar was het eenvoudig om de uitvoer van het API-verzoek weer te geven - de opmerkingen in de Github-code laten zien hoe dit wordt stap voor stap gecodeerd.

De Inky is ontworpen om bovenop de 40-pins GPIO-header van de Pi te passen, maar ik wilde dat hij hem op het "scherm" zou bevestigen, dus besloot ik hem in plaats daarvan op de Pi aan te sluiten via man-naar-vrouw startkabels - dit maakte zijn plaatsing flexibeler en liet wat GPIO-pinnen over om een LED aan te sluiten en te schakelen (daarover later meer). Ik volgde het diagram op pinout.xyz, merkte op dat 8 GPIO-pinnen nodig waren, stopte de kabels in, testte het en - niets! Ik had me niet gerealiseerd dat hoewel er slechts 8 GPIO-pinnen nodig waren, de pHAT ook op meerdere GND-pinnen moest worden aangesloten. Toen deze allemaal verbonden waren met jumpers (een onhandige bezigheid) werkte de Inky weer zoals gepland, grote opluchting.

Nu de code werkte, stond ik nu voor de gebruikelijke uitdaging - alle onderdelen in de behuizing passen.

Stap 5: Lego, hakken en lijmen

Lego, hakken en lijmen
Lego, hakken en lijmen
Lego, hakken en lijmen
Lego, hakken en lijmen
Lego, hakken en lijmen
Lego, hakken en lijmen

De volledige video is te vinden op:

De Pi Zero in de koffer passen was eerst en daarvoor viel ik terug op mijn favoriete bouwmateriaal, Lego. Het is gewoon perfect om componenten aan elkaar te passen en zorgt voor een gemakkelijke demontage en montage. Nadat ik wat gaten in de Lego-bodemplaten had geboord, bevestigde ik er een aan het Pi-bord en een aan het klokhuis met de originele standaardbouten, zodat ze aan elkaar zouden klikken en de Pi precies in de juiste positie zouden houden.

Het volgende was het "gezicht" - het originele rode perspex aan de voorkant van de klok was te ondoorzichtig om het Inky-display effectief te laten zien, dus ik moest een gedeelte uitknippen om er doorheen te kijken. Dit was ongetwijfeld het moeilijkste deel van de constructie, omdat het gat heel nauwkeurig moest worden gesneden en als ik het verknalde, was er geen hoop op vervanging, behalve een op maat gemaakte lasersnede (die ik onderzocht voor het geval dat!). Met behulp van een goedkope schuifmaat (mijn nieuwe favoriete gereedschap) kon ik de omtrek van het gat nauwkeurig meten en inkerven, die ik vervolgens grofweg uitsneed met een roterend gereedschap en opgeruimd met een klein bestand. Dit ging traag en duurde een hele avond, maar was het waard!

De Inky pHAT werd vervolgens zo netjes mogelijk warmgelijmd op het rode perspex, klaar voor montage.

Stap 6: laatste hand en montage

Laatste hand en montage
Laatste hand en montage
Laatste hand en montage
Laatste hand en montage
Laatste hand en montage
Laatste hand en montage
Laatste hand en montage
Laatste hand en montage

Toen ik experimenteerde met de reacties van de YouTube-API, ontdekte ik dat ik twee afzonderlijke "interessante" nummers kon retourneren: abonnees en totaal aantal weergaven. Met de Inky pHAT zou het mogelijk zijn geweest om beide tegelijk weer te geven, maar ik hield echt van de klokachtige netheid van slechts een enkel groot (lettertype niet bedrag!) getal. Met wat aanpassingen aan de code kon ik de originele "Alarm Aan/Uit" -schakelaar van de klok aansluiten op de GPIO, zodat het display kon worden geschakeld tussen abonnees en weergaven - dit was een bevredigende aanraking, vooral omdat het aantal weergaven verandert veel vaker dan het aantal abonnees!

Vervolgens voegde ik een helderwitte LED toe aan de GPIO, codeerde deze om op te lichten net voordat het API-verzoek werd verzonden en daarna uit te schakelen. Ik had al de verf van de achterkant van het doorschijnende rode plastic geschraapt, dus het idee was dat de klok een beetje rood zou gloeien terwijl de cijfers werden ververst.

Met alle GPIO-verbindingen van tevoren gemaakt en de stroomkabel aangesloten, ging de montage heel goed, grotendeels dankzij de Lego die de dingen op hun plaats hield. De voor- en achterpanelen waren nauwsluitend, maar uiteindelijk aan elkaar geklikt - ik hoop alleen dat ik het niet snel hoef te demonteren. Het moment van de waarheid was de eerste keer inschakelen na de montage, met de startkabels die in de behuizing rondslingerden en de GPIO-verbindingen zo strak geperst dat ik geen goede hoop had, maar was opgetogen toen het scherm werd vernieuwd na wat een uur lang leek te duren opstart proces.

Stap 7: motiverende figuren

Motiverende Cijfers
Motiverende Cijfers
Motiverende Cijfers
Motiverende Cijfers

Ik vind het geweldig hoe dit project is verlopen, het is zeker een van de "schoonste" die ik ooit heb gebouwd, dankzij het prachtige massief aluminium ontwerp van de originele klok. Het was ook een geweldige leerervaring, ik heb veel geleerd over het werken met API's en e-ink waarvan ik weet dat ik het in toekomstige projecten zal gebruiken.

Waar ik het meest van hou, is de eenvoud en bruikbaarheid, het heeft één taak, doet het goed en ziet er goed uit tijdens het doen. Ik had voorheen niet de neiging om de YouTube-statistieken in de gaten te houden, maar dit heeft ruwe online data naar mijn kantoor gebracht, gepresenteerd op een aantrekkelijke en niet-opdringerige manier. Ik bouw misschien nooit het publiek voor Old Tech. Nieuwe specificaties tot duizenden, maar zolang het leuk is, blijf ik projecten en video's maken om hopelijk meer mensen te inspireren hun oude apparaten op te waarderen tot iets nieuws en nuttigs.

De kinderen en ik zijn gefascineerd om het aantal weergaven te zien veranderen, hoe klein ook, het laat ons weten dat ergens in de wereld iemand zojuist een projectvideo heeft bekeken, en dat spoort ons zeker aan om te blijven creëren en delen.

Als je dit project leuk vond, bekijk dan mijn andere Instructables voor meer oude technische upcycling en abonneer je op het YouTube-kanaal voor reguliere video-inhoud.

IoT-uitdaging
IoT-uitdaging
IoT-uitdaging
IoT-uitdaging

Eerste prijs in de IoT Challenge

Aanbevolen: