Πίνακας περιεχομένων:

E-Ink 1970 Counter YouTube Counter: 7 βήματα (με εικόνες)
E-Ink 1970 Counter YouTube Counter: 7 βήματα (με εικόνες)

Βίντεο: E-Ink 1970 Counter YouTube Counter: 7 βήματα (με εικόνες)

Βίντεο: E-Ink 1970 Counter YouTube Counter: 7 βήματα (με εικόνες)
Βίντεο: Ξύλο μεταξύ κάμεραμαν του ΣΚΑΙ και πολίτη 2024, Νοέμβριος
Anonim
Image
Image
Μετρητής E-Ink YouTube της δεκαετίας του 1970
Μετρητής E-Ink YouTube της δεκαετίας του 1970
Μετρητής E-Ink YouTube της δεκαετίας του 1970
Μετρητής E-Ink YouTube της δεκαετίας του 1970

Αυτό το εμβληματικό ψηφιακό ρολόι της δεκαετίας του 1970 έχει τώρα μια νέα ζωή που εμφανίζει στατιστικά στοιχεία του YouTube, χάρη στη φανταστική οθόνη ηλεκτρονικού μελανιού Pimoroni "Inky pHAT" και στο Raspberry Pi Zero. Χρησιμοποιεί ένα απλό σενάριο Python για να ερωτά το API του Youtube σε τακτική βάση, ανανεώνοντας την οθόνη με τα δεδομένα που ανακτά, εμφανίζοντας τα πιο πρόσφατα στατιστικά στοιχεία ιστότοπου. Ο αρχικός διακόπτης ενεργοποίησης/απενεργοποίησης συναγερμού στο πίσω μέρος αλλάζει την οθόνη μεταξύ Συνδρομητών και Προβολών για έναν συγκεκριμένο ιστότοπο YouTube (στην περίπτωση αυτή ο δικός μου!).

Το ίδιο το ρολόι είναι ένα μοντέλο Digitron, αρκετά πρώιμο ρολόι LED για την καταναλωτική αγορά, με στιβαρό και στιλάτο περίβλημα σε στιβαρό σώμα αλουμινίου.

Το πλήρες βίντεο του έργου που δείχνει τον κώδικα και τη δημιουργία βρίσκεται στη διεύθυνση https://www.youtube.com/embed/jKEZ2S3fj38 σε περίπτωση που δεν μπορείτε να δείτε το ενσωματωμένο βίντεο, αν θέλετε απλώς να το δείτε σε δράση, υπάρχει επίσης μια πιο σύντομη ματιά.

Προμήθειες

Ξυπνητήρι Digitron της δεκαετίας του 1970

Raspberry Pi Zero / Zero W

Pimoroni Inky pHAT

12 Καλώδια από Jumper έως Male Jumper

Παξιμάδια & μπουλόνια

Βήμα 1: Επιστροφή στο χρόνο για ανακύκλωση

Επιστροφή στο χρόνο για ανακύκλωση
Επιστροφή στο χρόνο για ανακύκλωση
Επιστροφή στο χρόνο για ανακύκλωση
Επιστροφή στο χρόνο για ανακύκλωση
Επιστροφή στο χρόνο για ανακύκλωση
Επιστροφή στο χρόνο για ανακύκλωση

Πήρα αυτό το ρολόι σε μια πώληση πριν από μερικά χρόνια και μέχρι πρόσφατα ήταν σε καθημερινή χρήση, τοποθετημένο κάτω από τη μονάδα τηλεόρασης και διατηρώντας υπέροχο χρόνο. Πρόσφατα, όμως, μπήκαμε στο δωμάτιο και βρήκαμε την οθόνη LED να αναβοσβήνει τρελά, με έναν ενοχλητικό βουητό ήχο, και προφανώς ήταν καιρός να αποσυρθεί στο εργαστήριο.

Πρώτα με τράβηξε η στιβαρή κατασκευή και το στυλ του - είναι σχεδόν ένα συμπαγές κομμάτι αλουμινίου και πολύ βαρύ. Μου άρεσε τόσο πολύ η αισθητική, αποφάσισα να ξαναχτίσω το σπασμένο ρολόι σε μια υποτιμημένη συσκευή IoT για να παρέχω παθητικές πληροφορίες στο γραφείο μου.

Η αποσυναρμολόγηση μου έδωσε μια μεγάλη ιδέα για το μεγάλο όγκο του - τα σύγχρονα ρολόγια LED θα έχουν συχνά έναν προσαρμογέα "κονδυλώματος τοίχου" και θα λειτουργούν σε χαμηλή τάση, αλλά αυτό το τέρας πήρε πλήρη τάση ρεύματος και είχε έναν μεγάλο μετασχηματιστή μέσα στο ίδιο το ρολόι - εξηγώντας το βάρος του !

Εκτός από τα μπουλόνια που συγκρατούν τη βάση, τα υπόλοιπα εξαρτήματα στερεώθηκαν είτε στο πίσω είτε στο μπροστινό πλαίσιο, τα οποία ήταν κατασκευασμένα από πλαστικό. Πέταξα τον μετασχηματιστή, το κύκλωμα και την παλιά οθόνη LED, και έμεινα με ένα συμπαγές κέλυφος, μπροστινό και πίσω πάνελ και μερικούς διακόπτες, τους οποίους έβαλα στη συσκευασία περιμένοντας να έρθει η σωστή ιδέα.

Βήμα 2: Δημιουργία καναλιών

Κτίριο καναλιών
Κτίριο καναλιών

Πριν από περίπου ένα χρόνο ξεκίνησα το "Old Tech. New Spec." στο YouTube - ένα ειδικό κανάλι για τα βίντεο του έργου μου με συνεπή μορφή και σχεδιασμό. Είχα αρχίσει να απολαμβάνω να φτιάχνω βίντεο έργων σχεδόν όσο τα ίδια τα έργα και αυτό ήταν το λογικό επόμενο βήμα. Επίσης, δεν υπήρχε έλλειψη σε πλάνα, καθώς βιντεοσκοπώ τακτικά πράγματα όπως τα δάκρυα, ώστε να μπορώ να κοιτάξω πίσω αργότερα και να δω πώς τα πράγματα πρέπει να ταιριάζουν μεταξύ τους.

Δεν έχω κυκλοφορήσει ακόμα τόσα βίντεο, αλλά μαθαίνω κάτι νέο από το καθένα. Το βίντεο για το πρόσφατο "PiNG Video Doorbell" ήταν το πιο διασκεδαστικό μέχρι τώρα, αλλά ήταν πολύ μεγάλο - έτσι αποφάσισα ότι το επόμενο έργο θα ήταν ένας απλός και μινιμαλιστικός μετρητής στατιστικών του YouTube, για να καθίσει στο γραφείο μου και να με κρατήσει κίνητρο. Τώρα έπρεπε απλώς να καταλάβω πώς να μεταφέρω τους αριθμούς από το YouTube στο Pi - πόσο δύσκολο θα μπορούσε να είναι;

Βήμα 3: Κατάσχεση των στατιστικών

Κατάσχεση των Στατιστικών
Κατάσχεση των Στατιστικών
Κατάσχεση των Στατιστικών
Κατάσχεση των Στατιστικών

Ο κωδικός βίντεο βρίσκεται στη διεύθυνση:

Ξεκίνησα την έρευνά μου ακολουθώντας έναν οδηγό στο περιοδικό MagPi, ο οποίος ανέκτησε στατιστικά ακόλουθων από μια δέσμη διαφορετικών κοινωνικών API (διεπαφές προγραμματισμού εφαρμογών), αποθήκευσε τους αριθμούς σε μια βάση δεδομένων MySQL και στη συνέχεια τους εμφάνισε σε μια οθόνη LED. Αυτό λειτούργησε καλά, αλλά μου φάνηκε υπερβολικό για αυτό το έργο, οπότε έψαξα για μια πιο απλή λύση, έχοντας μάθει ακόμα μερικά πολύτιμα μαθήματα για το πώς λειτουργούν τα API.

Σύντομα ανακάλυψα τη μονάδα Αιτημάτων για την Python και αφού έψαξα μερικά εξαιρετικά χρήσιμα παραδείγματα κατάλαβα ότι θα μπορούσα εύκολα να ρωτήσω το API του YouTube και να επιστρέψω κάποια βασικά στατιστικά στοιχεία για το κανάλι μου.

Αν θέλετε να κάνετε κάτι παρόμοιο, το πρώτο βήμα είναι να συνδεθείτε στο Google Console και να δημιουργήσετε ένα νέο έργο - από εκεί μπορείτε να συνδέσετε το API YouTube με το έργο σας και να ανακτήσετε τα διαπιστευτήρια που χρειάζεστε (αναγνωριστικό καναλιού και κλειδί API) για να αποσυρθείτε τα στατιστικά χρησιμοποιώντας Python. Ακολούθησα τον πραγματικά χρήσιμο οδηγό της Google για τη ρύθμιση του έργου και τη λήψη του κλειδιού API και ακολούθησα αυτά τα βήματα για να ανακτήσω το αναγνωριστικό καναλιού.

Ο κώδικας Python που χρησιμοποίησα τεκμηριώνεται στο Github - είναι σχολιασμένος και αρκετά απλός για χρήση για τον εαυτό σας, αρκεί να επικολλήσετε τα δικά σας διαπιστευτήρια. Χρησιμοποιεί μόνο τη μονάδα Αιτημάτων, η οποία είναι ήδη εγκατεστημένη από προεπιλογή στο Raspbian, οπότε εκτός από την οθόνη δεν υπάρχει τίποτα άλλο για εγκατάσταση, εκτός εάν θέλετε να χρησιμοποιήσετε μια συγκεκριμένη γραμματοσειρά. Σίγουρα δεν περιορίζεστε μόνο στο YouTube, η ενότητα Αιτημάτων είναι πολύ ευέλικτη και μπορεί να σας βοηθήσει να ανακτήσετε δεδομένα από χιλιάδες πηγές, ένα παράδειγμα θα ήταν ένας καθημερινός μετρητής βημάτων, που συνδέεται με ένα API φυσικής κατάστασης.

Μόλις ήμουν ευχαριστημένος, έθεσα το σενάριο Python να ξεκινά αυτόματα κατά την εκκίνηση, επεξεργάζοντας το αρχείο αυτόματης εκκίνησης:

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

… Και προσθέτοντας την παρακάτω γραμμή στο κάτω μέρος:

@python3 /home/pi/YTcounter.py

Τώρα που μπόρεσα να ανακτήσω τους αριθμούς που ήθελα από το YouTube, το επόμενο βήμα ήταν να τους εμφανίσω - με τρόπο που να ταιριάζει στο ρετρό στυλ του ρολογιού.

Βήμα 4: Η επιλογή μελάνης

Η επιλογή μελάνης
Η επιλογή μελάνης
Η επιλογή μελάνης
Η επιλογή μελάνης
Η επιλογή μελάνης
Η επιλογή μελάνης
Η επιλογή μελάνης
Η επιλογή μελάνης

Σκέφτηκα αρκετές διαφορετικές επιλογές εμφάνισης για αυτό το έργο, αλλά έκανα χρήση στο Pimoroni Inky pHAT-μια μικρή οθόνη τριών χρωμάτων e-ink για το Pi. Πήρα ένα το χειμώνα αφού έβγαλα ένα κουπόνι στην περσινή πρόκληση Yarr Booty, αλλά ποτέ δεν το χρησιμοποίησα, οπότε αυτή φάνηκε ως η ιδανική ευκαιρία. Επιπλέον, το πιο σημαντικό, η οθόνη ήταν μια υπέροχη απόχρωση του κόκκινου, που ταιριάζει όμορφα με το μπροστινό πάνελ του αρχικού ρολογιού.

Το λογισμικό για το Inky pHAT εγκαταστάθηκε εύκολα ακολουθώντας τις οδηγίες εγκατάστασης και σε λίγο δεν έβαλα ένα από τα παραδείγματα στο Test Pi μου για να δημιουργήσω ένα υπέροχο σήμα ονόματος. Μετά από περισσότερους πειραματισμούς μπόρεσα να εμφανίσω βασικό κείμενο χρησιμοποιώντας μια συγκεκριμένη γραμματοσειρά (που ταιριάζει με αυτό που χρησιμοποιώ στο σήμα μου στο YouTube) και από εκεί ήταν απλή η εμφάνιση της εξόδου του αιτήματος API - τα σχόλια στον κώδικα Github δείχνουν πώς αυτό κωδικοποιείται βήμα προς βήμα.

Το Inky έχει σχεδιαστεί για να ταιριάζει πάνω στην κεφαλίδα GPIO των 40 ακίδων του Pi, αλλά ήθελα να το διορθώσω στην "οθόνη" και έτσι αποφάσισα να το συνδέσω στο Pi μέσω καλωδίων από άνδρες σε γυναίκες. πιο ευέλικτο και άφησε μερικές καρφίτσες GPIO εφεδρικές για σύνδεση LED και διακόπτη (περισσότερα σε αυτές αργότερα). Ακολούθησα το διάγραμμα στο pinout.xyz, σημείωσα ότι απαιτούνταν 8 ακίδες GPIO, έβαλα τα καλώδια, το δοκίμασα και - τίποτα! Δεν είχα συνειδητοποιήσει ότι αν και απαιτούνταν μόνο 8 καρφίτσες GPIO, το pHAT έπρεπε επίσης να συνδεθεί με πολλαπλούς ακροδέκτες GND. Μόλις όλα αυτά συνδέονταν με άλτες (μια ακατάστατη επιχείρηση), το Inky για άλλη μια φορά λειτούργησε όπως είχε προγραμματιστεί, μεγάλη ανακούφιση.

Με τον κώδικα να λειτουργεί τώρα αντιμετώπισα τη συνήθη πρόκληση - τοποθέτηση όλων των εξαρτημάτων στη θήκη.

Βήμα 5: Lego, Chopping and Glue

Lego, Chopping and Glue
Lego, Chopping and Glue
Lego, Chopping and Glue
Lego, Chopping and Glue
Lego, Chopping and Glue
Lego, Chopping and Glue

Το βίντεο πλήρους κατασκευής βρίσκεται στη διεύθυνση:

Η τοποθέτηση του Pi Zero στη θήκη ήταν πρώτη και γι 'αυτό έπεσα πίσω στο αγαπημένο μου υλικό κατασκευής, το Lego. Είναι απλά τέλειο για την τοποθέτηση εξαρτημάτων μεταξύ τους και επιτρέπει την εύκολη αποσυναρμολόγηση καθώς και τη συναρμολόγηση. Αφού τρύπησα μερικές τρύπες στις πλάκες βάσης Lego, στερέωσα μία στην πλακέτα Pi και μία στο σώμα του ρολογιού με τα αρχικά μπουλόνια της βάσης, έτσι ώστε να στερεώνονται μαζί και να κρατούν το Pi στη σωστή θέση.

Επόμενο ήταν το "πρόσωπο" - το αρχικό κόκκινο πτερύγιο στο μπροστινό μέρος του ρολογιού ήταν πολύ αδιαφανές για να εμφανιστεί αποτελεσματικά η οθόνη μελανιού, οπότε έπρεπε να κόψω ένα τμήμα για να περάσει. Αυτό ήταν αναμφίβολα το πιο δύσκολο μέρος της κατασκευής, καθώς η τρύπα έπρεπε να κοπεί με μεγάλη ακρίβεια και αν την έβλαψα δεν υπήρχε ελπίδα αντικατάστασης, εκτός από την παραγγελία μιας κοπής λέιζερ (την οποία ερεύνησα για κάθε περίπτωση!) Το Με τη βοήθεια ενός φτηνού δαγκάνα vernier (το νέο μου αγαπημένο εργαλείο) μπόρεσα να μετρήσω και να βαθμολογήσω με ακρίβεια το περίγραμμα της τρύπας, το οποίο έκοψα στη συνέχεια με ένα περιστροφικό εργαλείο και τακτοποίησα με ένα μικρό αρχείο. Αυτό πήγε αργά και κράτησε ένα ολόκληρο βράδυ, αλλά άξιζε τον κόπο!

Το μελάνι pHAT στη συνέχεια κόλλησε όσο το δυνατόν πιο τακτοποιημένα στο κόκκινο χτένισμα, έτοιμο για συναρμολόγηση.

Βήμα 6: Τελικές πινελιές και συναρμολόγηση

Τελικές πινελιές και συναρμολόγηση
Τελικές πινελιές και συναρμολόγηση
Τελικές πινελιές και συναρμολόγηση
Τελικές πινελιές και συναρμολόγηση
Τελικές πινελιές και συναρμολόγηση
Τελικές πινελιές και συναρμολόγηση
Τελικές πινελιές και συναρμολόγηση
Τελικές πινελιές και συναρμολόγηση

Όταν πειραματιζόμουν με τις απαντήσεις από το API του YouTube, βρήκα ότι μπορούσα να επιστρέψω δύο ξεχωριστούς «ενδιαφέροντες» αριθμούς - Συνδρομητές και Συνολικές προβολές. Με το μελάνι pHAT θα ήταν δυνατό να εμφανιστούν και τα δύο ταυτόχρονα, αλλά μου άρεσε πολύ η καθαριότητα που μοιάζει με το ρολόι ενός μόνο μεγάλου αριθμού (μέγεθος γραμματοσειράς και όχι ποσό!). Με μερικές προσαρμογές στον κώδικα μπόρεσα να συνδέσω τον αρχικό διακόπτη "Ενεργοποίηση/Απενεργοποίηση συναγερμού" του ρολογιού στο GPIO, έτσι ώστε η οθόνη να μπορεί να εναλλάσσεται μεταξύ Συνδρομητών και Προβολών - αυτό ήταν ένα ικανοποιητικό άγγιγμα, ειδικά καθώς αλλάζει ο αριθμός των Προβολών πολύ πιο συχνά από τον αριθμό των Συνδρομητών!

Στη συνέχεια πρόσθεσα ένα φωτεινό λευκό LED στο GPIO, κωδικοποιώντας το να ανάψει λίγο πριν αποσταλεί το αίτημα API και μετά να απενεργοποιηθεί. Είχα ήδη καθαρίσει όλο το χρώμα από το πίσω μέρος του διαφανούς κόκκινου πλαστικού, οπότε η ιδέα ήταν ότι το ρολόι θα λάμπει λίγο κόκκινο ενώ οι αριθμοί ανανεώνονταν.

Με όλες τις συνδέσεις GPIO που έγιναν εκ των προτέρων και το καλώδιο τροφοδοσίας που συνδέθηκε η συναρμολόγηση πήγε πολύ καλά, σε μεγάλο βαθμό χάρη στο Lego που κρατά τα πράγματα στη θέση τους. Το μπροστινό και το πίσω πάνελ ήταν σφιχτά προσαρμοσμένα στην τριβή, αλλά κόλλησαν στο τέλος - απλώς ελπίζω ότι δεν θα χρειαστεί να το διαλύσω σύντομα. Η στιγμή της αλήθειας ήταν η πρώτη ενεργοποίηση μετά τη συναρμολόγηση, με τα καλώδια του βραχυκυκλωτήρα να στριφογυρίζουν μέσα στη θήκη και τις συνδέσεις GPIO τόσο σφιχτά που δεν είχα μεγάλες ελπίδες, αλλά ήμουν ενθουσιασμένος όταν η οθόνη ανανεώθηκε μετά από αυτό που φαινόταν μια ώρα. διαδικασία εκκίνησης.

Βήμα 7: Κινητήρια στοιχεία

Κινητήρια πρόσωπα
Κινητήρια πρόσωπα
Κινητήρια πρόσωπα
Κινητήρια πρόσωπα

Λατρεύω πώς εξελίχθηκε αυτό το έργο, είναι σίγουρα ένα από τα "καθαρότερα" που έχω κατασκευάσει ποτέ, χάρη στον όμορφο σχεδιασμό από συμπαγές αλουμίνιο του αρχικού ρολογιού. Tooταν επίσης μια μεγάλη εμπειρία μάθησης, έχω μάθει πολλά για τη δουλειά με API και e-ink που ξέρω ότι θα χρησιμοποιήσω σε μελλοντικά έργα.

Αυτό που αγαπώ περισσότερο είναι η απλότητα και η πρακτικότητα, έχει μία δουλειά, το κάνει καλά και φαίνεται καλό ενώ το κάνει. Δεν είχα την τάση να παρακολουθώ τα στατιστικά του YouTube στο παρελθόν, αλλά αυτό έφερε ακατέργαστα διαδικτυακά δεδομένα στο γραφείο μου, που παρουσιάστηκαν με έναν ελκυστικό και μη παρεμβατικό τρόπο. Μπορεί να μην δημιουργήσω ποτέ το κοινό για την Old Tech. Νέα Προδιαγραφή. χιλιάδες, αλλά όσο είναι διασκεδαστικό θα συνεχίσω να φτιάχνω έργα και βίντεο που ελπίζω να εμπνεύσω περισσότερους ανθρώπους να αναβαθμίσουν τις παλιές τους συσκευές σε κάτι φρέσκο και χρήσιμο.

Τα παιδιά και εγώ είμαστε γοητευμένοι να βλέπουμε να αλλάζει ο αριθμός των προβολών, όσο ελαφρώς και αν είναι, μας ενημερώνει ότι κάπου στον κόσμο κάποιος μόλις είδε ένα βίντεο έργου και αυτό σίγουρα μας ωθεί να συνεχίσουμε να δημιουργούμε και να μοιραζόμαστε.

Αν σας άρεσε αυτό το έργο, ανατρέξτε στα άλλα Εγχειρίδια μου για αναβάθμιση παλαιότερης τεχνολογίας και εγγραφείτε στο κανάλι YouTube για κανονικό περιεχόμενο βίντεο.

IoT Challenge
IoT Challenge
IoT Challenge
IoT Challenge

Πρώτο Βραβείο στο IoT Challenge

Συνιστάται: