Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
Ten kultowy zegar cyfrowy z lat 70. zyskał nowe życie, wyświetlając statystyki YouTube, dzięki efektownemu wyświetlaczowi e-ink Pimoroni „Inky pHAT” i Raspberry Pi Zero. Używa prostego skryptu Pythona do regularnego wysyłania zapytań do interfejsu API YouTube, odświeżania wyświetlacza pobieranymi danymi, wyświetlając najnowsze statystyki witryny. Oryginalny przełącznik włączania/wyłączania alarmu z tyłu przełącza wyświetlanie między subskrybentami a widokami dla określonej witryny YouTube (w tym przypadku mojej!).
Sam zegar to model Digitron, dość wczesny zegar LED na rynek konsumencki, solidnie i stylowo zabudowany w solidnej aluminiowej obudowie.
Pełne wideo projektu przedstawiające kod i kompilację znajduje się pod adresem https://www.youtube.com/embed/jKEZ2S3fj38. Jeśli nie możesz zobaczyć osadzonego wideo, jeśli chcesz zobaczyć go w akcji, jest też krótsza zapowiedź.
Kieszonkowe dzieci
Budzik Digitron z lat 70.
Raspberry Pi Zero / Zero W
Pimoroni Atramentowe pHAT
12 kabli połączeniowych żeńsko-męskich
Nakrętki i śruby
Krok 1: Powrót na czas upcyklingu
Kupiłem ten zegar na wyprzedaży kilka lat temu i do niedawna był używany codziennie, schowany pod szafką telewizyjną i świetnie się bawił. Ostatnio jednak weszliśmy do pokoju i zauważyliśmy, że wyświetlacz LED miga szaleńczo, z niepokojącym brzęczącym dźwiękiem i oczywiście nadszedł czas, aby wycofać się do warsztatu.
Po raz pierwszy przyciągnęła mnie solidna konstrukcja i styl – to w zasadzie solidna bryła aluminium i bardzo ciężka. Tak bardzo spodobała mi się estetyka, że postanowiłem przebudować zepsuty zegar w skromne urządzenie IoT, aby dostarczać pasywne informacje w moim biurze.
Demontaż dał mi dużą wskazówkę co do jego wielkości - nowoczesne zegary LED często mają adapter "ściany" i działają na niskim napięciu, ale ten potwór pobierał pełne napięcie sieciowe i miał duży transformator w samym zegarze - biorąc pod uwagę jego wagę !
Oprócz śrub mocujących podstawkę, pozostałe elementy zostały przymocowane do tylnych lub przednich paneli, które zostały wykonane z tworzywa sztucznego. Wyrzuciłem transformator, obwód i stary wyświetlacz LED i zostałem z solidną obudową, przednimi i tylnymi panelami oraz kilkoma przełącznikami, które spakowałem, czekając na właściwy pomysł.
Krok 2: Budowanie kanału
Mniej więcej rok temu założyłem "Old Tech. New Spec". na YouTube - dedykowany kanał dla moich filmów projektowych o spójnym formacie i designie. Zacząłem lubić tworzyć filmy projektowe prawie tak samo jak same projekty i wydawało mi się to logicznym następnym krokiem. Nie brakowało również materiału filmowego, ponieważ rutynowo nagrywam takie rzeczy, jak rozbiórki, aby móc później spojrzeć wstecz i zobaczyć, jak rzeczy mają się z powrotem do siebie dopasować.
Nie opublikowałem jeszcze tylu filmów, ale z każdego z nich uczę się czegoś nowego. Teledysk do ostatniego "PiNG Video Doorbell" był jak dotąd najzabawniejszy, ale był zdecydowanie za długi - więc zdecydowałem, że następnym projektem będzie prosty i minimalistyczny licznik statystyk YouTube, który usiądzie na moim biurku i pomoże mi utrzymać motywację. Teraz musiałem tylko wymyślić, jak przenieść liczby z YouTube na Pi – czy to może być trudne?
Krok 3: Przejmowanie statystyk
Kod wideo znajduje się pod adresem:
Rozpocząłem swoje badania, podążając za przewodnikiem w magazynie MagPi, który pobierał statystyki obserwujących z wielu różnych interfejsów API społecznościowych (interfejsów programowania aplikacji), zapisywał liczby w bazie danych MySQL, a następnie wyświetlał je na wyświetlaczu LED. Działało to dobrze, ale wydawało się, że to przesada w tym projekcie, więc szukałem prostszego rozwiązania, wciąż wyciągając kilka cennych lekcji na temat działania interfejsów API.
Wkrótce odkryłem moduł Requests dla Pythona i po przejrzeniu kilku niezwykle pomocnych przykładów zdałem sobie sprawę, że mogę łatwo zapytać o API YouTube i zwrócić podstawowe statystyki dla mojego kanału.
Jeśli chcesz zrobić coś podobnego, pierwszym krokiem jest zalogowanie się do Konsoli Google i utworzenie nowego projektu - stamtąd możesz połączyć API YouTube ze swoim projektem i pobrać dane, których potrzebujesz (identyfikator kanału i klucz API), aby wyciągnąć statystyki za pomocą Pythona. Postępowałem zgodnie z naprawdę przydatnym przewodnikiem Google, aby skonfigurować projekt i uzyskać klucz API, a następnie wykonałem te kroki, aby pobrać identyfikator kanału.
Kod Pythona, którego użyłem, jest udokumentowany na Github - jest skomentowany i całkiem prosty w użyciu dla siebie, o ile wkleisz własne dane uwierzytelniające. Używa tylko modułu Requests, który jest już domyślnie zainstalowany na Raspbian, więc oprócz wyświetlacza nie ma nic więcej do zainstalowania, chyba że chcesz użyć określonej czcionki. Jednak zdecydowanie nie ograniczasz się do YouTube, moduł Żądania jest bardzo elastyczny i może pomóc Ci pobrać dane z tysięcy źródeł, jednym z przykładów może być dzienny licznik kroków, łączący się z API fitness.
Kiedy już byłem z tego zadowolony, ustawiłem skrypt Pythona tak, aby uruchamiał się automatycznie przy starcie, edytując plik autostartu:
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
…i dodając na dole następujący wiersz:
@python3 /home/pi/YTcounter.py
Teraz, gdy udało mi się pobrać numery, które chciałem z YouTube, następnym krokiem było ich wyświetlenie – w sposób, który pasowałby do stylu retro zegara.
Krok 4: Opcja atramentu
Rozważałem kilka różnych opcji wyświetlania dla tego projektu, ale zdecydowałem się na Pimoroni Inky pHAT - mały trójkolorowy wyświetlacz e-ink dla Pi. Kupiłem jeden w zimie po zdobyciu kuponu w zeszłorocznym wyzwaniu Yarr Booty, ale nigdy nie udało mi się z niego skorzystać, więc wydawało mi się, że jest to idealna okazja. Plus, co najważniejsze, wyświetlacz miał piękny odcień czerwieni, ładnie pasujący do przedniego panelu oryginalnego zegara.
Oprogramowanie do Inky pHAT można było łatwo zainstalować postępując zgodnie z instrukcjami instalacji i błyskawicznie uruchomiłem jeden z przykładów na moim Test Pi, aby zrobić fajną plakietkę z imieniem. Po kilku dalszych eksperymentach udało mi się wyświetlić podstawowy tekst za pomocą określonego kroju pisma (pasującego do tego, którego używam w moim brandingu YouTube), a od tego momentu było już proste wyświetlenie wyniku żądania API - komentarze w kodzie Github pokazują, jak jest to kodowane krok po kroku.
Inky został zaprojektowany tak, aby pasował do 40-stykowego nagłówka GPIO Pi, ale chciałem, aby przymocował go do „ekranu”, więc zdecydowałem się podłączyć go do Pi za pomocą kabli połączeniowych męski-żeński – to sprawiło, że został umieszczony bardziej elastyczny i pozostawił trochę wolnych pinów GPIO do podłączenia diody LED i przełącznika (o tych później). Śledziłem schemat na pinout.xyz, zauważyłem, że potrzeba 8 pinów GPIO, podłączyłem kable, przetestowałem i - nic! Nie zdawałem sobie sprawy, że chociaż wymagane jest tylko 8 pinów GPIO, pHAT musi być również podłączony do wielu pinów GND. Kiedy wszystko to było związane ze skoczkami (skrzypliwy biznes), Inky znów działał zgodnie z planem, wielka ulga.
Z kodem działającym, stanąłem przed zwykłym wyzwaniem - dopasowaniem wszystkich części do obudowy.
Krok 5: Lego, siekanie i klej
Pełna wersja wideo znajduje się pod adresem:
Wpasowanie Pi Zero do obudowy było pierwsze, a do tego sięgnąłem po mój ulubiony materiał konstrukcyjny, Lego. Idealnie nadaje się do łączenia ze sobą elementów, a co najważniejsze umożliwia łatwy demontaż i montaż. Po wywierceniu kilku otworów w płytach bazowych Lego przymocowałem jeden do płyty Pi, a drugi do korpusu zegara za pomocą oryginalnych śrub stojaka, aby się zatrzasnęły i utrzymywały Pi we właściwej pozycji.
Następna była „twarz” – oryginalna czerwona pleksiglas z przodu zegara była zbyt nieprzezroczysta, aby wyświetlacz Inky mógł się skutecznie pokazać, więc musiałem wyciąć fragment, aby można było przez niego zajrzeć. To była bez wątpienia najtrudniejsza część budowy, ponieważ otwór musiał być wycięty bardzo dokładnie i gdybym go schrzanił, nie było nadziei na wymianę, poza wycięciem lasera na zamówienie (który zbadałem na wszelki wypadek!). Za pomocą taniej suwmiarki noniuszowej (moje nowe ulubione narzędzie) udało mi się precyzyjnie zmierzyć i wypunktować obrys otworu, który następnie z grubsza wyciąłem za pomocą narzędzia obrotowego i uporządkowałem małym pilnikiem. To było powolne i zajęło cały wieczór, ale było warto!
Inky pHAT został następnie przyklejony na gorąco tak starannie, jak to możliwe do czerwonego pleksiglasu, gotowy do montażu.
Krok 6: Ostatnie poprawki i montaż
Eksperymentując z odpowiedziami z API YouTube, odkryłem, że mogę zwrócić dwie oddzielne „interesujące” liczby - Subskrybenci i Całkowita liczba wyświetleń. Dzięki Inky pHAT byłoby możliwe wyświetlanie obu naraz, ale naprawdę podobała mi się czystość przypominająca zegar w jednym dużym numerze (rozmiar czcionki, a nie ilość!). Dzięki kilku poprawkom w kodzie udało mi się podłączyć oryginalny przełącznik „Alarm On/Off” zegara do GPIO, aby można było przełączać wyświetlanie między subskrybentami a widokami – był to satysfakcjonujący akcent, zwłaszcza gdy zmienia się liczba wyświetleń znacznie częściej niż liczba Abonentów!
Następnie dodałem jasną białą diodę LED do GPIO, kodując ją tak, aby zapalała się tuż przed wysłaniem żądania API i wyłączała się później. Zeskrobałem już całą farbę z tyłu przezroczystego czerwonego plastiku, więc pomysł polegał na tym, że zegar będzie trochę świecił na czerwono podczas odświeżania liczb.
Ze wszystkimi wcześniej wykonanymi połączeniami GPIO i podłączonym kablem zasilającym, montaż przebiegł naprawdę dobrze, głównie dzięki Lego utrzymującemu rzeczy na miejscu. Przednie i tylne panele były ciasno dopasowane, ale ostatecznie spięte - mam tylko nadzieję, że nie będę musiał ich rozbierać w najbliższym czasie. Momentem prawdy było pierwsze włączenie po montażu, z przewodami połączeniowymi wijącymi się wewnątrz obudowy i złączami GPIO tak mocno ściśniętymi, że nie miałem wielkich nadziei, ale byłem zachwycony, gdy wyświetlacz odświeżył się po, jak się wydawało, godzinie proces uruchamiania.
Krok 7: Motywujące liczby
Uwielbiam to, jak wyszedł ten projekt, z pewnością jest jednym z najczystszych, jakie kiedykolwiek zbudowałem, dzięki pięknej, litowo-aluminiowej konstrukcji oryginalnego zegara. To też było wspaniałe doświadczenie edukacyjne, nauczyłem się wiele na temat pracy z API i e-ink, które, jak wiem, będę wykorzystywał w przyszłych projektach.
Najbardziej podoba mi się prostota i praktyczność, ma jedną pracę, robi to dobrze i dobrze się przy tym wygląda. Wcześniej nie zwracałem uwagi na statystyki YouTube, ale dzięki temu do mojego biura trafiły surowe dane online, przedstawione w atrakcyjny i nienachalny sposób. Może nigdy nie zbuduję publiczności dla Old Tech. Nowa specyfikacja do tysięcy, ale tak długo, jak będzie to zabawne, będę tworzyć projekty i filmy, które, miejmy nadzieję, zainspirują więcej ludzi do przerobienia swoich starych urządzeń na coś świeżego i użytecznego.
Dzieci i ja jesteśmy zafascynowani zmianą liczby wyświetleń, jednak nieznacznie informuje nas, że gdzieś na świecie ktoś właśnie obejrzał wideo projektu, co zdecydowanie zachęca nas do dalszego tworzenia i udostępniania.
Jeśli podobał Ci się ten projekt, zapoznaj się z moimi innymi Instructables, aby uzyskać więcej starych technologii upcyklingowych, i zasubskrybuj kanał YouTube, aby uzyskać regularne treści wideo.
Pierwsza nagroda w IoT Challenge
Zalecana:
Licznik subskrybentów YouTube za pomocą wyświetlacza E-Paper i Raspberry Pi Zero W: 5 kroków (ze zdjęciami)
Licznik subskrybentów YouTube za pomocą wyświetlacza e-papierowego i Raspberry Pi Zero W: W tej instrukcji pokażę, jak zbudować własny licznik subskrybentów YouTube za pomocą wyświetlacza e-papierowego i Raspberry Pi Zero W, aby sprawdzić interfejs API YouTube i zaktualizuj wyświetlacz. Wyświetlacze e-papierowe świetnie nadają się do tego typu projektów, ponieważ mają
DIY BIG LED Matrix Licznik subskrybentów Youtube: 13 kroków (ze zdjęciami)
DIY BIG LED Matrix Licznik subskrybentów Youtube: Czy pracowałeś z gotową standardową matrycą LED 8x8 jako wyświetlaczami do przewijania tekstu lub wyświetlania subskrybenta kanału YouTube. Dużym łatwo dostępnym rozmiarem jest dioda LED o średnicy 5mm. Jeśli jednak szukasz znacznie większej gotowej diody LED
Licznik subskrybentów YouTube za pomocą płyty ESP8266: 9 kroków (ze zdjęciami)
Licznik subskrybentów YouTube na płytce ESP8266: Drodzy przyjaciele witamy w kolejnym projekcie ESP8266 Dzisiaj zbudujemy licznik subskrybentów YouTube DIY z dużym wyświetlaczem LCD i obudową wydrukowaną w 3D. Zacznijmy!W tym samouczku zrobimy to: Subskrybent YouTube DIY
Licznik subskrybentów YouTube z ESP8266 IoT: 5 kroków (ze zdjęciami)
Licznik subskrybentów YouTube z ESP8266 IoT: Tutaj przedstawiłem wam mój pierwszy projekt Internetu rzeczy (IoT). Jestem nowym youtuberem i świetnie mi się wydaje, że moi subskrybenci liczą się w ramkach na biurku lub ścianie. Z tego powodu uczyniłem ten niesamowity projekt łatwym i użytecznym dla Ciebie
Ticker Kryptowaluty / Licznik subskrybentów YouTube w czasie rzeczywistym: 6 kroków (ze zdjęciami)
Wskaźnik kryptowaluty / Licznik subskrybentów YouTube w czasie rzeczywistym: Kompaktowy wyświetlacz LED, który działa jako wskaźnik kryptowaluty i podwaja się jako licznik subskrybentów YouTube w czasie rzeczywistym. W tym projekcie używamy Raspberry Pi Zero W, niektórych części drukowanych 3D i kilku wyświetlaczy max7219 stworzyć su