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

Cassette Pi IoT Scroller: 7 βήματα (με εικόνες)
Cassette Pi IoT Scroller: 7 βήματα (με εικόνες)

Βίντεο: Cassette Pi IoT Scroller: 7 βήματα (με εικόνες)

Βίντεο: Cassette Pi IoT Scroller: 7 βήματα (με εικόνες)
Βίντεο: Leap Motion SDK 2024, Ιούλιος
Anonim
Image
Image
Cassette Pi IoT Scroller
Cassette Pi IoT Scroller
Cassette Pi IoT Scroller
Cassette Pi IoT Scroller

Το Cassette Pi είναι ένα αυτόνομο scroller ειδοποιήσεων σε πραγματικό χρόνο, όλα τοποθετημένα τακτοποιημένα μέσα σε μια διαφανή κασέτα. Ένα Raspberry Pi Zero βρίσκεται ανάμεσα στους δύο τροχούς ταινίας, ανακτώντας κάθε είδους ειδοποιήσεις στο Internet of Things από την υπέροχη υπηρεσία IFTTT (If This, then That), που παραδόθηκε σχεδόν αμέσως στο Pi μέσω μιας ροής Adafruit. IO και ενός σεναρίου Python. Ολόκληρη η κασέτα δονείται για να σας ειδοποιήσει για την εισερχόμενη ειδοποίηση και το κείμενο μετακινείται με σαφήνεια σε μια οθόνη LED Pimoroni 11x7.

Όλα τροφοδοτούνται από μια μπαταρία LiPo 150mAh, που συνδέεται με το Pi μέσω ενός LiPo Shim - επίσης μέσα στην κασέτα υπάρχει ένα Adafruit Micro Lipo, οπότε όταν η μπαταρία εξαντληθεί μπορεί να συνδεθεί απευθείας σε μια πηγή τροφοδοσίας Micro USB για να πιει λίγο χυμό.

Το πιο διασκεδαστικό κομμάτι είναι ότι χάρη σε κάποιο κόψιμο του Pi, η κασέτα μπορεί να χωρέσει ακόμα μέσα σε οποιοδήποτε vintage κασετόφωνο, μετατρέποντας αυτό το παλιό στολίδι σε μια λειτουργική και αριστοκρατική συσκευή Internet of Things.

Το Cassette Pi είναι ιδανικό για χρήση και ως σήμα συνδιάσκεψης, που κρέμεται από ένα κορδόνι και μετακινείται το όνομά σας ή ένα προσαρμοσμένο μήνυμα.

Σε περίπτωση που δεν μπορείτε να δείτε το ενσωματωμένο βίντεο, μπορείτε να το βρείτε στη διεύθυνση https://www.youtube.com/embed/kgY40e9mi8w- αξίζει μια ματιά για να δείτε αυτόν τον μικρό κύλινδρο σε δράση!

Προμήθειες

Κασέτα

Raspberry Pi Zero W

Pimoroni LiPo Shim

Pimoroni 11x7 LED breakout

Adafruit Micro LiPo

Μπαταρία LiPo 150mAh

1x διακόπτης 6 ακροδεκτών DPDT

Υπομονή

Βήμα 1: Έμπνευση και προγραμματισμός

Έμπνευση & Προγραμματισμός
Έμπνευση & Προγραμματισμός
Έμπνευση & Προγραμματισμός
Έμπνευση & Προγραμματισμός
Έμπνευση & Προγραμματισμός
Έμπνευση & Προγραμματισμός
Έμπνευση & Προγραμματισμός
Έμπνευση & Προγραμματισμός

Εμπνεύστηκα να φτιάξω το Cassette Pi από την τάση "Clear Tech" των δεκαετιών 80 και 90, όταν οι συσκευές άρχισαν να κυκλοφορούν σε διαφανείς εκδόσεις, με όλα τα εξαρτήματα να εμφανίζονται. Με γοήτευσε επίσης να δω αν ήταν δυνατόν να χωρέσει ένα ολόκληρο αυτόνομο έργο Pi μέσα σε μια κασέτα, κάνοντας μια απτή και χρήσιμη συσκευή που θα ταιριάζει ακόμα μέσα σε παλιές μηχανές ταινίας.

Το σημείο εκκίνησης ήταν το σύνολο των εξαρτημάτων για την ισχύ, χρησιμοποιώντας μια μπαταρία LiPo, LiPo Shim και Micro Lipo, συνδεδεμένα μέσω ενός διακόπτη DPDT (Double Pole Double Throw) - χρησιμοποίησα μια παρόμοια ρύθμιση στο έργο Flirt Pi Radio και είναι αποδείχθηκε ένας αξιόπιστος συνδυασμός. Ο διακόπτης εναλλάσσεται μεταξύ δύο καταστάσεων, συνδέοντας εναλλάξ τη μικροσκοπική μπαταρία είτε στο Pi είτε στο φορτιστή Micro USB, ιδανικό για ένα τόσο μικρό έργο.

Ακολούθησε η οθόνη - χρησιμοποίησα μια οθόνη LED Pimoroni 11x7 επειδή είναι τόσο λεπτή και ελαφριά, καθιστώντας την ιδανική για αυτήν την κατασκευή. Είναι επίσης βολικά το ίδιο μέγεθος με μια κασέτα "παράθυρο", η οποία με τράβηξε πραγματικά σε αυτό. Τέλος, πήρα μισή ντουζίνα μικροσκοπικές μονάδες δόνησης 3v από το eBay, για να προσθέσω κάποια απτικά σχόλια. Η συγκέντρωση όλων των μερών ήταν απλή, τώρα το μόνο που έπρεπε να κάνω ήταν να τα χωρέσω μέσα στην ταινία!

Βήμα 2: Συγκόλληση

Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση
Συγκόλληση

Ξεκίνησα τοποθετώντας τα εξαρτήματα ισχύος μέσα σε μια κασέτα αποσυναρμολόγησης, μετρώντας και δρομολογώντας τα καλώδια μεταξύ τους έτσι ώστε να έχουν το σωστό μήκος χωρίς να μπλοκάρουν τους τροχούς της κασέτας ή να συσσωρεύονται πολύ πυκνά. Το εσωτερικό μιας κασέτας είναι μόνο περίπου 4-5mm οπότε αυτό χρειάστηκε πολλή δοκιμή και λάθος!

Οι πλακέτες Micro LiPo και LiPo συνοδεύονταν από 2 ακίδες JST, αλλά ήταν πολύ χοντρές για να χωρέσουν στο εσωτερικό τους και έπρεπε να τοποθετηθούν στο μισό ύψος τους. Μουν σε θέση να τα συνδέσω απευθείας μεταξύ τους.

Στη συνέχεια κόλλησα προσεκτικά στο ίδιο το Pi, συνδέοντάς το με το LiPo Shim και προσθέτοντας καλώδια για την οθόνη. Τέλος κόλλησα στη μικρή μονάδα δονητών στο GPIO.

Βήμα 3: Pi Nibbling

Πι Νίμπλινγκ
Πι Νίμπλινγκ
Πι Νίμπλινγκ
Πι Νίμπλινγκ

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

Lookάχνοντας για διαδικτυακές λύσεις, συνάντησα μερικές φανταστικές εικόνες ακτίνων Χ του Pi Zero από τον χρήστη του flickr UltraPurple (Giles Read) - η στενή επιθεώρηση της εικόνας πρότεινε ότι θα μπορούσα ενδεχομένως να ξεφύγω με το να τσιμπήσω μέρος του σκάφους, κάνοντας αρκετό χώρο για ενοχλητικές αιχμές και ακόμα αφήνοντας το Pi λειτουργικά άθικτο. Αγωνίστηκα που το έκανα αυτό, καθώς πραγματικά δεν ήθελα να καταστρέψω το Pi, αλλά πήρα μια βαθιά ανάσα, ένα τρυπάνι και ένα μικρό αρχείο και ξεκίνησα να δουλεύω. Iμουν σε θέση να κόψω τις δύο κάτω γωνίες του σκάφους πολύ εύκολα και ανακουφίστηκα πολύ όταν το Pi ξεκίνησε μετά.

Βήμα 4: Κοπή ταινίας

Περικοπή ταινίας
Περικοπή ταινίας
Περικοπή ταινίας
Περικοπή ταινίας

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

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

Στη συνέχεια κράτησα τις μεμονωμένες πλακέτες κυκλώματος στη θέση τους, σημειώνοντας με ένα λεπτό στυλό CD όπου θα πήγαινε κάθε κολλημένη ένωση. Η συγκόλληση έβγαλε μόνο το πίσω μέρος της σανίδας περίπου 1 mm, αλλά ακόμη και αυτό ήταν αρκετό για να κάνει το συγκρότημα πολύ παχύ, οπότε κάθε συγκολλημένο καλώδιο έπρεπε να έχει μια τρύπα ακριβώς για να το φιλοξενήσει. Αυτό ήταν εξαιρετικά ακατάστατο αλλά είχε ένα απροσδόκητο μπόνους - με τα πάντα είναι τόσο σφιχτά τα συγκολλημένα μέρη στις οπές τους κράτησαν τα εξαρτήματα στη θέση τους, πράγμα που σημαίνει ότι δεν χρειάστηκε να κολληθούν ή να βιδωθούν.

Βήμα 5: Ο Κώδικας

Ο κώδικας
Ο κώδικας

Το σενάριο Cassette Pi ανακτά το κείμενο ειδοποίησης από μια ροή του Adafruit.io, ελέγχοντας το κάθε λίγα δευτερόλεπτα για νέο περιεχόμενο. Αυτή η ροή συμπληρώνεται από την υπηρεσία IFTTT (IF This, then That), η οποία συλλέγει δεδομένα από πολλές διαδικτυακές υπηρεσίες.

Η χρήση μιας ροής Adafruit.io για ανάκτηση δεδομένων είναι τέλεια για αυτού του είδους την εφαρμογή - αν δεν την έχετε δοκιμάσει ακόμα, μπορείτε να δημιουργήσετε έναν δωρεάν λογαριασμό στη διεύθυνση https://io.adafruit.com/ - θα λάβετε ένα κλειδί και Το όνομα χρήστη ως μέρος αυτής της διαδικασίας, και τα δύο χρησιμοποιούνται στο σενάριο Cassette Pi, το οποίο προέρχεται από τα πολλά Παραδείγματα Adafruit Python. Αυτό το σενάριο και πολλά από τα παραδείγματα χρειάζονται να έχετε ρυθμίσει εκ των προτέρων μια ροή Adafruit.io και έχουν έναν εξαιρετικό οδηγό για τη διαδικασία.

Μόλις ρυθμιστεί η ροή σας, μπορείτε να εγκαταστήσετε τις ενότητες adafruit.io στο Raspberry Pi σας πληκτρολογώντας απλά…

pip3 εγκαταστήστε το adafruit-io

..σε παράθυρο τερματικού. Με αυτές τις ενότητες εγκατεστημένες, μπορείτε τώρα να χρησιμοποιήσετε την Python για να ανακτήσετε εύκολα δεδομένα από μια ροή, καθώς και να στείλετε δεδομένα σε αυτήν από το Pi σας, για παράδειγμα για να συμπληρώσετε έναν πίνακα ελέγχου του Adafruit.io.

Με την εκκίνηση και την εκτέλεση, θα θέλετε να το συνδέσετε στο IFTTT, ώστε να μπορείτε να του μεταφέρετε δεδομένα από άλλες διαδικτυακές υπηρεσίες. Συνδεθείτε στο IFTTT (η εγγραφή είναι δωρεάν) και αναζητήστε το Adafruit στο μενού Υπηρεσίες. Ακολουθήστε τα βήματα για να συνδέσετε τον λογαριασμό σας. Τώρα μπορείτε να δημιουργήσετε Applets για να συλλέξετε δεδομένα από διαδικτυακές υπηρεσίες και να τα μεταφέρετε στο Pi σας!

Όλες οι μεμονωμένες συνδέσεις δεδομένων για αυτό το έργο έχουν διαμορφωθεί στον ιστότοπο IFTTT, χρησιμοποιώντας τις ακόλουθες υπηρεσίες:

  • Συσκευή Android - για ειδοποιήσεις μπαταρίας και ειδοποιήσεις από συγκεκριμένες εφαρμογές, όπως όταν η εφαρμογή Amazon λέει ότι ένα δέμα είναι κοντά.
  • WebHooks - για εισερχόμενες ειδοποιήσεις από άλλες συσκευές IoT, όπως κίνηση που ανιχνεύεται από τις κάμερες MotionEye ή αριθμούς συνδρομητών YouTube που τροφοδοτούνται από τον μετρητή E -Ink YouTube.
  • Twitter - για εμφάνιση tweets από συγκεκριμένους λογαριασμούς, όπως @Raspberry_Pi, @GuardianNews και @FactSoup.
  • RSS Feeds - για να με ειδοποιεί όταν είναι διαθέσιμα νέα επεισόδια podcast.
  • Weather Underground - ιδανικό για μεταβαλλόμενες καιρικές συνθήκες, θερμοκρασίες και προειδοποιήσεις πάγου.
  • Βοηθός Google - χρήσιμο για υπαγόρευση φωνητικών μηνυμάτων για μετατροπή σε κείμενο και κύλιση από την κασέτα.

Τα παραπάνω είναι μόνο ένα μικρό δείγμα των υπηρεσιών που μπορούν να προστεθούν στο IFTTT ως το τμήμα "IF This" του συνδέσμου, με όλα αυτά να διοχετεύουν δεδομένα στην πλευρά "Then That", η οποία συνδέεται με τη ροή Adafruit.io Το Το καλύτερο μέρος αυτού είναι ότι το κείμενο μπορεί να προσαρμοστεί, έτσι για παράδειγμα όταν η υπηρεσία Weather Underground λέει ότι η τοπική ταχύτητα του ανέμου μου είναι πάνω από 40 μίλια / ώρα, το κείμενο που έχει περάσει στο Adafruit και έχει κυληθεί είναι "Hey, είναι λίγο φουσκωτό εκεί έξω".

Το σενάριο που χρησιμοποίησα είναι διαθέσιμο στο GitHub και θα μπορούσε εύκολα να προσαρμοστεί ώστε να λειτουργεί με διαφορετικές οθόνες LED / LCD.

Βήμα 6: Συναρμολόγηση

Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση

Η τελευταία συναρμολόγηση του έργου πήγε πολύ καλά - μέχρι που προσπάθησα να ενώσω τα δύο μισά της κασέτας. Παρόλο που όλα τα εξαρτήματα ήταν καλά κομμένα, υπήρχαν πάρα πολλά καλώδια που ανταγωνίζονταν για τα ίδια λίγα mm χώρου και δεν ήθελα να διακινδυνεύσω να τα στριμώξω πολύ. Δεν είχα άλλη επιλογή στο τέλος, εκτός από τη συγκόλληση της πλακέτας Micro LiPo, ξανακολλώντας την στον διακόπτη με μακρύτερα καλώδια που θα μπορούσαν να απομακρυνθούν από τα άλλα. Σε αυτό το σημείο είχα κάνει τόσο κόψιμο, αποκοπή και αρχειοθέτηση που αμφιβάλλω σοβαρά αν θα λειτουργήσει ποτέ. Έπρεπε ακόμη και να κόψω προσεκτικά 1 mm από το περίβλημα του διακόπτη και άλλα 2 mm από μέταλλο στη θύρα Micro USB του Pi για να τα χωρέσω.

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

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

Βήμα 7: Ολοκληρώθηκε

Πεπερασμένος
Πεπερασμένος
Πεπερασμένος
Πεπερασμένος
Πεπερασμένος
Πεπερασμένος
Πεπερασμένος
Πεπερασμένος

Μερικές φορές τα έργα μπορεί να μοιάζουν λίγο σαν "δουλειά", αλλά αυτό ήταν απλά διασκεδαστικό σε όλη τη διαδρομή, ποτέ δεν μου άρεσε να κάνω κάτι τόσο πολύ και είμαι τόσο ευχαριστημένος με το τελικό αποτέλεσμα. Κάτι για τις πραγματικά μικροσκοπικές μετρήσεις επέστρεψε πραγματικά το σκάφος μου, μαζί με την ολοένα και τρέχουσα ερώτηση για το αν ήταν δυνατόν να χωρέσουν τα πάντα.

Οι κασέτες και το Raspberry Pi είναι δύο από τα αγαπημένα μου πράγματα στον κόσμο, οπότε δεν αποτελεί έκπληξη ότι αγαπώ τόσο πολύ αυτό το έργο. Θυμάμαι έντονα το πρώτο μου μάθημα πληροφορικής στο δημοτικό σχολείο, με τον δάσκαλο να φορτώνει ένα πρόγραμμα από μια κασέτα στο μικρόφωνο του BBC. Το παιδί δίπλα μου και εγώ αστειεύτηκα εκείνη τη στιγμή ότι ίσως αν φορτώνατε κατά λάθος μια ηχητική κασέτα να βλέπατε τους τραγουδιστές να εμφανίζονται στην οθόνη - ακόμα μπορώ να μας βλέπω να γελάμε έντονα τώρα με το πόσο γελοία ήταν αυτή η ιδέα. Κάπως έτσι όχι πολλά χρόνια αργότερα μπορείτε πλέον να τοποθετήσετε έναν ολόκληρο υπολογιστή μέσα σε μία από αυτές τις κασέτες, με απεριόριστα μεγαλύτερη ικανότητα.

Ακόμα όσο κι αν μου αρέσει αυτό το έργο, το εσωτερικό μου τρολ λέει "Δεν είναι κακό, φαίνεται ωραίο, αλλά θα ήταν πολύ πιο δροσερό αν έπαιζε μουσική" - ας πούμε ότι δεν έχω τελειώσει ακόμα με το χακάρισμα κασετών.

Ευχαριστώ για την ανάγνωση!

Τα άλλα μου έργα Old Tech, New Spec βρίσκονται στο Instructables στη διεύθυνση

Περισσότερες λεπτομέρειες και μια φόρμα επικοινωνίας βρίσκονται στον ιστότοπό μας στη διεύθυνση https://bit.ly/OldTechNewSpec. και είμαστε στο Twitter @OldTechNewSpec.

Διαγωνισμός Raspberry Pi 2020
Διαγωνισμός Raspberry Pi 2020
Διαγωνισμός Raspberry Pi 2020
Διαγωνισμός Raspberry Pi 2020

Δευτέρα στο Raspberry Pi Contest 2020

Συνιστάται: