Πίνακας περιεχομένων:
- Βήμα 1: Πώς να φτιάξετε την θήκη για το GrimmsBox
- Βήμα 2: Πώς να συγκεντρώσετε τα κουμπιά για το GrimmsBox
- Βήμα 3: Ρύθμιση του Λογισμικού
- Βήμα 4: Εισαγωγή στο YAML:
- Βήμα 5: Οδηγίες χρήσης
Βίντεο: GrimmsBox: Δημιουργήστε τη δική σας συσκευή αφήγησης ιστοριών: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Αυτό το διδακτικό θα σας δείξει πώς να φτιάξετε το δικό σας πλαίσιο αφήγησης. Μη διστάσετε να επιλέξετε τη δική σας περιπέτεια.
Το λεγόμενο "GrimmsBox" ήταν ένα έργο μαθητών από το Hochschule der Medien Stuttgart, Γερμανία. Χρησιμοποιούμε έναν κοινό εκτυπωτή αποδείξεων για να εκτυπώσουμε το πρώτο μέρος μιας ιστορίας. Στο τέλος του μέρους πρέπει να ληφθεί μια απόφαση. Χρησιμοποιώντας κουμπιά μπορείτε να επιλέξετε πώς θα συνεχιστεί η ιστορία. Χρησιμοποιούμε Raspberry Pi για την εκτέλεση του λογισμικού.
Δύο από τα κουτιά θα χρησιμοποιηθούν πολύ σύντομα. Η δημόσια βιβλιοθήκη στο Μάνχαϊμ διοργανώνει εργαστήρια με παιδιά. Τα παιδιά μπορούν να δημιουργήσουν τις δικές τους ιστορίες και να βιώσουν τις ιστορίες τους με τη βοήθεια του GrimmsBox. Ο κύριος στόχος τέτοιων εργαστηρίων είναι η προώθηση της ικανότητας ανάγνωσης και γραφής. Τα πλαίσια αφήγησης θα μεταφέρονται επίσης σε εκδηλώσεις, έτσι ώστε τα παιδιά από τις τάξεις 3 έως 6 να μυούνται σε μια καθηλωτική εμπειρία ανάγνωσης.
Βήμα 1: Πώς να φτιάξετε την θήκη για το GrimmsBox
Απαιτούμενα υλικά:
- 1x πλάκα κόντρα πλακέ 6 mm (1200x600x6mm)
- Πλάκα κόντρα πλακέ 1x 4 mm (1200x600x4mm)
- ξυλόκολλα
- απαιτούμενες συσκευές: κόφτης λέιζερ, υπολογιστής
Τα αρχεία που χρησιμοποιούνται από το GrimmsBox είναι διαθέσιμα ως δωρεάν λήψη. Τα αρχεία είναι αρχεία svg και dxf των επιμέρους στοιχείων του GrimmsBox. Αυτό είναι αφενός η υποδομή όπου το Raspberry Pi βρίσκει τη θέση του, στη συνέχεια το βιβλίο με έναν μεντεσέ κάμψης και μια αυτοσχεδιασμένη βάση για βιβλία.
Η πλάκα κόντρα πλακέ 6mm χρησιμοποιείται για την υποδομή και τη βάση του βιβλίου. Το βιβλίο κόπηκε από πλάκα κόντρα πλακέ 4 χιλιοστών. Το παχύτερο πιάτο θα ήταν πολύ παχύ για να φτιάξει το βιβλίο. Ο μεντεσέ κάμψης λειτουργεί μόνο με πάνελ κόντρα πλακέ 3-4mm. Διαφορετικά, θα έσπαγε.
Τα αρχεία dxf είναι η σωστή επιλογή για όσους δεν θέλουν να αλλάξουν τίποτα πια. Αυτά είναι έτοιμα για χρήση στον κόφτη λέιζερ.
Αλλά για εκείνους που εξακολουθούν να θέλουν να δώσουν στο κουτί τη δική τους πινελιά, μπορούν να χρησιμοποιήσουν αρχεία SVG στο πλαίσιο. Αυτά μπορούν να αλλάξουν κατά βούληση. Για να γίνει αυτό, το αρχείο πρέπει να ανοίξει σε ένα πρόγραμμα (π.χ. Inkscape). Με αυτά τα προγράμματα μπορείτε να επεξεργαστείτε τα μεμονωμένα στοιχεία. Εάν έχετε αλλάξει κάτι (π.χ. το μέγεθος των οπών για τα κουμπιά ή το pull-around) πρέπει να αποθηκεύσετε το αρχείο SVG ως αρχείο dxf.
Το αρχείο dxf πρέπει να ανοίξει στον κόφτη λέιζερ. Μόλις εμφανιστεί το αρχείο στον υπολογιστή, πρέπει να επιλεγεί ποιες γραμμές πρόκειται να κοπούν και ποιες να χαραχτούν. Τα γράμματα στο πλάι του κουτιού ήταν χαραγμένα στο κουτί του Γκριμ και τα γράμματα στο βιβλίο ήταν αδύνατα κομμένα. Ανάλογα με το τι σας αρέσει περισσότερο, μπορείτε να χρησιμοποιήσετε το ένα ή το άλλο. Φυσικά όλες οι εξωτερικές γραμμές πρέπει να κοπούν. Ωστόσο, η χρήση του κόφτη λέιζερ μπορεί να εξαρτάται από το μοντέλο του κόφτη λέιζερ και μπορεί να είναι διαφορετική.
Βήμα 2: Πώς να συγκεντρώσετε τα κουμπιά για το GrimmsBox
Απαιτούμενα υλικά:
- 6 κανονικά ανοιχτά στιγμιαία κουμπιά, π.χ. κουμπιά για arcade gaming
- 8 καλώδια άλματος με τουλάχιστον ένα θηλυκό άκρο, τα δικά μας είχαν μήκος περίπου 40 εκατοστά
- κάποια πλεξούδα
- θερμοσυρρικνωμένος σωλήνας το κιβώτιο που χρησιμοποιήθηκε για το έργο σας, στην περίπτωσή μας το επάνω κάλυμμα κομμένο με λέιζερ και τα δύο πλαϊνά καλύμματα που περιλαμβάνουν τα επιπλέον κουμπιά
- συγκόλληση και κολλητήρι
- πολύμετρο
- κόφτης καλωδίων
- απογυμνωτής σύρματος
- αναπτήρα ή πιστόλι θερμού αέρα
- Στον κωδικό μας χρησιμοποιήσαμε εσωτερικές αντιστάσεις, οπότε πρέπει να κάνουμε μόνο δύο πράγματα: πρώτον, συνδέστε ένα θηλυκό καλώδιο βραχυκυκλωτήρα σε κάθε κουμπί που θα οδηγήσει στην αντίστοιχη καρφίτσα GPIO και δεύτερον, συνδέστε τα κουμπιά μεταξύ τους, τα οποία στη συνέχεια θα οδηγηθούν στη γείωση μέσω άλλου θηλυκού καλωδίου άλτη. Συνδέσαμε το κουμπί τερματισμού λειτουργίας και το κουμπί επανεκκίνησης του προγράμματος και χρησιμοποιήσαμε έναν πείρο γείωσης για αυτά. Τα τέσσερα κουμπιά που θα χρησιμοποιηθούν από τον κινητήρα περιπέτειας που επιλέξατε ήταν επίσης συνδεδεμένα μεταξύ τους και μοιράστηκαν ένα πείρο γείωσης.
- Εάν τα κουμπιά σας έχουν περισσότερες από δύο ακίδες, χρησιμοποιήστε ένα πολύμετρο για να διαπιστώσετε ποια είναι κατάλληλα για τη σύνδεση του πείρου GPIO και της γείωσης. Με τη λειτουργία ήχου, θα πρέπει να ακούτε έναν ήχο μόνο εάν αγγίξετε δύο ακίδες και το κουμπί πιέζεται αυτήν τη στιγμή. Μπορείτε να κάνετε ένα τεστ συνέχειας, έναν οδηγό πώς να το κάνετε αυτό είναι διαθέσιμο στο ifixit:
- Πάρτε ένα κουμπί και τοποθετήστε το στο τμήμα του κουτιού. Πάρτε ένα από τα καλώδια άλματος και κόψτε το ένα άκρο, το οποίο θα σας αφήσει με ένα καλώδιο βραχυκυκλωτήρα με ένα θηλυκό άκρο. Χρησιμοποιήστε τον απογυμνωτή σύρματος για να κόψετε περίπου 5 χιλιοστά της απομόνωσης. Περιστρέψτε τα χαλαρά καλώδια για λίγο, ώστε να μην κολλήσει κανένα καλώδιο. Χρησιμοποιήστε λίγο κασσίτερο για να κάνετε μια ωραία επίστρωση για τα καλώδια. Εάν είστε νέοι στη συγκόλληση, υπάρχει ένα υπέροχο, σύντομο κόμικ που σας διδάσκει πώς να κολλάτε. Λέγεται Η συγκόλληση είναι εύκολη και το PDF είναι διαθέσιμο σε πολλές γλώσσες στη διεύθυνση https://mightyohm.com/blog/2011/04/soldering-is-e… Μετρήστε και κόψτε τη σωλήνωση θερμοσυρρίκνωσης, την οποία θα χρησιμοποιήσετε για να απομονώσετε μέρος όπου το κουμπί και το καλώδιο βραχυκυκλώματος θα κολληθούν μαζί. Τραβήξτε τη σωλήνωση συρρίκνωσης θερμότητας πάνω από το καλώδιο βραχυκυκλωτήρα. Συγκολλήστε το καλώδιο άλματος σε μία από τις ακίδες του κουμπιού.
- Επαναλάβετε το τελευταίο βήμα για όλα τα κουμπιά. Βεβαιωθείτε πάντα ότι τραβάτε τη σωλήνωση που συρρικνώνεται με τη θερμότητα πάνω από το καλώδιο βραχυκυκλώματος πριν από τη συγκόλληση, καθώς ενδέχεται να μην ταιριάζει στο βύσμα.
- Τώρα θα συνδέσετε το κουμπί τερματισμού λειτουργίας και το κουμπί επανεκκίνησης. Χρησιμοποιήσαμε εμαγιέ σύρμα χαλκού, αλλά όπως αποδείχτηκε κάπως περίεργα, θα πρότεινα τη χρήση κανονικής πλεξούδας. Κόψτε μερικά εκατοστά πλεξούδα. Όπως προηγουμένως, αποσυναρμολογήστε το χρησιμοποιώντας τον απογυμνωτή σύρματος, αλλά αυτή τη φορά και στα δύο άκρα. Στη συνέχεια, κολλήστε το ένα άκρο στην καρφίτσα είτε του κουμπιού τερματισμού λειτουργίας είτε της επανεκκίνησης. Και πάλι, κόψτε λίγο από τη σωλήνωση που συρρικνώνεται με τη θερμότητα και τραβήξτε την πάνω από την πλεξούδα.
- Στη συνέχεια, θα συνδέσετε την πλεξούδα στην ελεύθερη καρφίτσα του άλλου κουμπιού. Αλλά θα συνδέσετε επίσης ένα άλλο καλώδιο άλτη εδώ, το οποίο θα οδηγήσει στη γείωση. Προετοιμάστε το καλώδιο βραχυκυκλωτήρα όπως κάνατε με τα άλλα, συμπεριλαμβανομένου του σωλήνα συρρίκνωσης θερμότητας. Τώρα λυγίστε την πλεξούδα για να τη συγκολλήσετε στην ελεύθερη καρφίτσα που προέρχεται από το κουμπί που βλέπει προς το ελεύθερο άκρο. Στη συνέχεια, κολλήστε το καλώδιο βραχυκυκλωτήρα και στον πείρο. Η συγκόλληση της πλεξούδας που προέρχεται από τη μία πλευρά και του καλωδίου από την άλλη πλευρά διασφαλίζει ότι μπορείτε να τραβήξετε τη σωλήνωση συρρίκνωσης θερμότητας πάνω από το συγκολλημένο τμήμα.
- Συνδέστε τα τέσσερα κουμπιά που χρησιμοποιούνται για τη μηχανή του παιχνιδιού χτίζοντας μικρές γέφυρες. Πάντα φροντίστε να τραβάτε τη σωλήνωση που συρρικνώνεται με τη θερμότητα πάνω από την πλεξούδα πριν από τη συγκόλληση. (Και βεβαιωθείτε επίσης ότι τα κουμπιά σας βρίσκονται στη σωστή θέση πριν τα συνδέσετε μεταξύ τους). Κατά τη σύνδεση του τελευταίου κουμπιού θα πρέπει και πάλι, όπως και με τα άλλα δύο κουμπιά, να συνδέσετε την πλεξούδα από κάτω και να συνδέσετε επίσης ένα καλώδιο βραχυκυκλωτήρα.
-
Χρησιμοποιώντας τη λειτουργία ήχου του πολύμετρου μπορείτε να ελέγξετε αν όλα είναι καλά συνδεδεμένα. Τέλος, θα πρέπει να ελέγξετε εάν όλες οι σωληνώσεις συρρίκνωσης θερμότητας βρίσκονται στο σωστό σημείο. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε έναν αναπτήρα ή ένα πιστόλι θερμού αέρα για να το συρρικνώσετε. Τώρα τελειώσατε με τη συναρμολόγηση των κουμπιών!
Βήμα 3: Ρύθμιση του Λογισμικού
Θα χρειαστείτε:
- ένα Raspberry Pi με εγκατεστημένο το Raspbian (θα πρέπει να μπορείτε να χρησιμοποιείτε και άλλες διανομές, αλλά πρέπει να προσαρμόσετε κάποιες εντολές)-χρησιμοποιήσαμε ένα πακέτο που αποτελείται από ένα Raspberry Pi 3 Model B+ με προεγκατεστημένη κάρτα SD, τροφοδοτικό και σε περίπτωση, θα πρέπει να λειτουργούν και άλλα μοντέλα
- εκτυπωτής απόδειξης - λάβετε υπόψη ότι πρέπει να συνδέσετε τον εκτυπωτή στο Raspberry Pi, οπότε η σύνδεση μέσω USB μπορεί να είναι η ευκολότερη
- τα κουμπιά σου
-
Συνδέστε το Raspberry Pi σε οθόνη, ποντίκι και πληκτρολόγιο. Θα χρειαστεί επίσης να το συνδέσετε με τον εκτυπωτή και τα κουμπιά τελικά. Τα κουμπιά πρέπει να συνδεθούν σε συγκεκριμένες ακίδες GPIO. Εάν θέλετε να χρησιμοποιήσετε διαφορετικές καρφίτσες από αυτές που κάναμε, μπορείτε να το αλλάξετε στον κώδικα. Προς το παρόν, αυτή η λίστα θα σας πει ποιο κουμπί πρέπει να συνδεθεί σε ποια καρφίτσα. Θα χρησιμοποιήσω την αρίθμηση BCM που χρησιμοποιείται επίσης στον κώδικα. Υπάρχει ένα γράφημα στη διεύθυνση https://www.raspberrypi.org/documentation/usage/g… που σας δείχνει ποια καρφίτσα έχει ποιον αριθμό.
• κουμπί τερματισμού λειτουργίας - 17 • κουμπί επανεκκίνησης - 27 • πρώτο κουμπί που χρησιμοποιείται για επιλογές στην ιστορία/περιπέτεια - 5 • δεύτερο κουμπί - 6 • τρίτο κουμπί - 13 • τέταρτο κουμπί - 19 • τα δύο καλώδια βραχυκυκλωτή που συνδέονται με τις καρφίτσες που ενώνουν όλα τα κουμπιά πρέπει να μπουν στη γείωση - στο γράφημα που επισημαίνεται με μαύρες κουκίδες
Ξεκινήστε το Raspberry Pi συνδέοντας το τροφοδοτικό. Συνδέστε το Raspberry Pi στο διαδίκτυο χρησιμοποιώντας καλώδιο LAN ή ασύρματο δίκτυο.
- Το πρώτο πράγμα που πρέπει να κάνετε κατά την εγκατάσταση του απαραίτητου λογισμικού στο raspberry pi είναι να ενημερώσετε το λογισμικό που είναι ήδη εγκατεστημένο. Θα το κάνουμε αυτό χρησιμοποιώντας το τερματικό. Εάν αυτή είναι η πρώτη φορά που χρησιμοποιείτε τερματικό, η τεκμηρίωση του Raspberry Pi (https://www.raspberrypi.org/documentation/usage/terminal/) σας βοηθά να μετακινηθείτε και να γνωρίσετε το περιβάλλον. Ανοίξτε ένα τερματικό και πληκτρολογήστε sudo apt update και πατήστε enter. Αυτό θα ενημερώσει τη λίστα με τα διαθέσιμα πακέτα και εκδόσεις. Μετά από αυτό, πληκτρολογήστε αναβάθμιση sudo apt. Αυτό θα εγκαταστήσει στην πραγματικότητα νεότερες εκδόσεις των ήδη εγκατεστημένων πακέτων.
- Το επόμενο βήμα είναι η εγκατάσταση του προγράμματος οδήγησης εκτυπωτή. Η διαχείριση του εκτυπωτή στο Linux μπορεί να γίνει χρησιμοποιώντας CUPS. Mightσως χρειαστεί να το εγκαταστήσετε πρώτα στο Raspberry Pi. Σε ένα τερματικό, πληκτρολογήστε sudo apt install cup. Το επόμενο βήμα είναι να αποκτήσετε προγράμματα οδήγησης εκτυπωτή. Maybeσως είστε τυχεροί και περιλαμβάνεται στα επίσημα αποθετήρια. Σε ένα τερματικό, χρησιμοποιήστε την κατάλληλη αναζήτηση [όνομα εκτυπωτή ή όνομα κατασκευαστή] για να το αναζητήσετε. Οι περισσότεροι εκτυπωτές πιθανότατα δεν θα συμπεριληφθούν στα αποθετήρια, οπότε πρέπει να τα προμηθευτείτε από αλλού. Μπορεί να υπάρχει ένα CD που να είναι κλειστό στον εκτυπωτή. Στην ιστοσελίδα του κατασκευαστή, τα πιο πρόσφατα προγράμματα οδήγησης θα πρέπει να είναι διαθέσιμα για λήψη. Ορισμένοι κατασκευαστές διαθέτουν διαφορετικούς ιστότοπους για διαφορετικές περιοχές του κόσμου και δυστυχώς, δεν περιλαμβάνουν όλοι τις ίδιες πληροφορίες. Εάν έχετε εκτυπωτή Star, το starasia.com φαίνεται να είναι ο ιστότοπος με τα νεότερα προγράμματα οδήγησης για λήψη. Βεβαιωθείτε ότι κάνετε λήψη εκτυπωτών για Linux. Χρησιμοποιήσαμε τα προγράμματα οδήγησης CUPS και όχι τα προγράμματα οδήγησης JavaPOS.
- Στη συνέχεια, πρέπει να εγκαταστήσετε τα προγράμματα οδήγησης. Ακολουθήστε τις οδηγίες του κατασκευαστή. Μπορεί να υπάρχει διαθέσιμο ένα εγχειρίδιο λογισμικού για Linux, το οποίο μπορεί να είναι χρήσιμο. Ακολουθήστε τις οδηγίες για το Debian ή το Ubuntu - υπάρχουν πολλές διαφορετικές διανομές Linux και δεν είναι όλες ίδιες, οπότε ελέγξτε πρώτα, εάν έχετε τις σωστές οδηγίες στο χέρι. Στο εγχειρίδιό μας, οι οδηγίες ξεκίνησαν χωρίς να αναφέρεται ότι είναι για συστήματα που βασίζονται στο Red Hat και μόνο στην επόμενη σελίδα μάθαμε ότι οι οδηγίες για συστήματα που βασίζονται σε Debian είναι διαφορετικές. Το εγχειρίδιο λογισμικού θα πρέπει επίσης να αναφέρει ποια πακέτα πρέπει να εγκατασταθούν, για παράδειγμα έπρεπε να εγκαταστήσουμε το "libcups2-dev". Πιθανότατα θα χρειαστεί να κάνετε sudo κάποιες εντολές. Για να γλιτώσετε από την επανάληψη του λάθους μας: εάν πρέπει να μεταγλωττίσετε τα προγράμματα οδήγησης από τον πηγαίο κώδικα χρησιμοποιώντας το make - make install πρέπει να είναι sudoed. Απλώς από το μήνυμα σφάλματος δεν μπορούσαμε να καταλάβουμε τι πήγε στραβά.
- Εάν δεν περιλαμβάνεται στο εγχειρίδιο εγκατάστασης, πρέπει να ρυθμίσετε τον εκτυπωτή σε CUPS. Για να το κάνετε αυτό, μεταβείτε στο localhost: 631 σε ένα πρόγραμμα περιήγησης. Κάντε κλικ στο "Διαχείριση" και στη συνέχεια "Προσθήκη εκτυπωτή" για να ρυθμίσετε τον εκτυπωτή. Υπάρχει επίσης ένα τμήμα βοήθειας. Πρέπει να επαληθεύσετε την ταυτότητά σας ως χρήστης, ανατρέξτε στη διεύθυνση https://help.ubuntu.com/lts/serverguide/cups.html… (ενότητα "Διασύνδεση Ιστού") για λεπτομέρειες Επιλέξτε το κατάλληλο μέγεθος ppd και χαρτιού. Θα πρέπει επίσης να τον κάνετε τον προεπιλεγμένο εκτυπωτή, καθώς το λογισμικό θα εκτυπώνει στον προεπιλεγμένο εκτυπωτή. Για να το κάνετε αυτό, μεταβείτε στη σελίδα του εκτυπωτή και από το μενού "Διαχείριση" επιλέξτε "Ορισμός ως προεπιλεγμένου διακομιστή". Από το μενού "Συντήρηση" μπορείτε να επιλέξετε "Εκτύπωση δοκιμαστικής σελίδας" για έναν πρώτο έλεγχο αν όλα έχουν ρυθμιστεί σωστά.
- Ένα άλλο πακέτο που θα χρειαστείτε είναι το python3-yaml, καθώς οι ιστορίες αποθηκεύονται σε αρχεία yaml και το πακέτο χρειάζεται ώστε ο κώδικας python να μπορεί να τα ερμηνεύσει. Χρησιμοποιήστε το sudo apt install python3-yaml για να το εγκαταστήσετε.
- Τώρα θα ξεκινήσουμε επιτέλους με την εγκατάσταση του λογισμικού που εκτυπώνει πραγματικά τις ιστορίες και ακούει για εισαγωγή στις καρφίτσες GPIO που είναι συνδεδεμένες με τα κουμπιά. Ανοίξτε ένα τερματικό και μεταβείτε στον αρχικό κατάλογο εάν δεν είστε ήδη σε αυτόν (αυτό μπορεί να επιτευχθεί πληκτρολογώντας cd (για αλλαγή καταλόγου)). Καθώς ο κωδικός μας βρίσκεται στο GitHub, μπορείτε να τον αντιγράψετε στο Raspberry Pi σας χρησιμοποιώντας git clone https://github.com/fio-na/GrimmsKiste-1.git Αυτό θα δημιουργήσει ένα τοπικό αποθετήριο στο Raspberry Pi του κώδικά μας. Εάν λάβετε ένα μήνυμα σφάλματος επειδή το git δεν είναι εγκατεστημένο, μπορείτε να το εγκαταστήσετε πληκτρολογώντας sudo apt install git.
- Ο κώδικας περιέχει ορισμένα στοιχεία που μπορεί να χρειαστεί να αλλάξετε. Πρώτα απ 'όλα, οι ιστορίες αποθηκεύονται σε αρχεία yaml που βρίσκονται επίσης στο αποθετήριο git. Εάν η διαδρομή προς το φάκελό σας δεν είναι "/home/pi/GrimmsKiste-1", θα χρειαστεί να αλλάξετε αυτές τις διαδρομές για να χρησιμοποιήσετε τις ιστορίες. Δεύτερον, εκτυπώνουμε χρησιμοποιώντας υποεπεξεργασία και παραδίδουμε τερματικές εντολές. Αυτό περιλαμβάνει ορισμένες επιλογές που χρησιμοποιούνται από το πρόγραμμα οδήγησης εκτυπωτή, το οποίο μας επιτρέπει να καθορίσουμε εάν το χαρτί θα κοπεί μετά την εκτύπωση ή όχι. Αυτά πιθανότατα δεν θα λειτουργήσουν για εσάς (εκτός εάν χρησιμοποιείτε επίσης έναν εκτυπωτή Star TSP). Θα παρατηρήσετε επίσης ότι θα εκτυπωθούν ορισμένες γραμμές που περιλαμβάνουν μόνο μία κουκκίδα. Το χρειαζόμασταν αυτό, γιατί διαφορετικά μέρη της ιστορίας δεν ήταν αναγνώσιμα επειδή το χαρτί ήταν ακόμα κολλημένο στον εκτυπωτή. Και τέλος στη συνάρτηση format_text χρησιμοποιούμε το textwrap για να πάρουμε κομμάτια κειμένου που δεν υπερβαίνουν τους 28 χαρακτήρες, γιατί αυτό είναι το πόσες ταιριάζουν σε μια γραμμή στο χαρτί μας 80 mm. Προσαρμόστε αυτά τα πράγματα για να ταιριάζουν στη ρύθμισή σας.
- Ορισμένα αρχεία πρέπει να γίνουν εκτελέσιμα. Για να το κάνετε αυτό, μεταβείτε στο φάκελο με τον κωδικό που μόλις κατεβάσατε. Αυτό πρέπει να είναι cd ~/GrimmsKiste-1 εάν ακολουθήσατε. Στο Linux τα δικαιώματα αρχείου τα χειρίζεται το chmod. Το chmod a+x Engin.py και το chmod a+x shutdown-pi-and-restart-program.py καθιστά αυτά τα δύο αρχεία εκτελέσιμα για όλους τους χρήστες.
- Τώρα μπορούμε να ελέγξουμε αν ο κινητήρας μπορεί να λειτουργεί και να λειτουργεί σωστά και αν ο εκτυπωτής και τα κουμπιά έχουν ρυθμιστεί σωστά. Πληκτρολογήστε./Engin.py για να το κάνετε αυτό.
- Εάν όλα λειτουργούν καλά, το επόμενο βήμα είναι να δημιουργήσετε δύο υπηρεσίες συστήματος. Για περισσότερες πληροφορίες, η σελίδα wiki του archlinux (https://wiki.archlinux.org/index.php/Systemd) μπορεί να βοηθήσει ή η σελίδα του systemd.service (https://www.freedesktop.org/software/systemd/ man/systemd.service.html). Η πρώτη υπηρεσία συστήματος θα ελέγχει κάθε δύο δευτερόλεπτα, εάν το Engin.py τρέχει αυτήν τη στιγμή και αν δεν είναι, θα το ξεκινήσει. Επομένως, ξεκινά επίσης το πρόγραμμα όταν ξεκινά το Raspberry Pi. Ανοίξτε ένα αρχείο στο φάκελο systemd: sudo nano /etc/systemd/system/grimmskiste-restart.service Πληκτρολογήστε τα ακόλουθα:
-
[Μονάδα]
Περιγραφή = επανεκκινεί το Grimms Kiste κάθε δύο δευτερόλεπτα αν αποτύχει [Service] ExecStart =/home/pi/GrimmsKiste-1/Engin.py Επανεκκίνηση = πάντα RestartSec = 2 [Install] WantedBy = multi-user.target
- Πρέπει να επεξεργαστείτε τη διαδρομή στο ExecStart, εάν το Engin.py σας βρίσκεται αλλού, π.χ. εάν το όνομα χρήστη σας είναι διαφορετικό. Για να αποθηκεύσετε ένα αρχείο σε nano, πρέπει να πιέσετε ctrl + x, στη συνέχεια πληκτρολογήστε y (για ναι) και πατήστε enter.
- Η άλλη υπηρεσία θα ξεκινήσει το σενάριο shutdown-pi-and-restart-program.py, το οποίο ακούει στο κουμπί τερματισμού και επανεκκίνησης. Το κουμπί επανεκκίνησης διαβάζει το αναγνωριστικό διεργασίας του Engin.py από ένα αρχείο και το σκοτώνει και λόγω της άλλης υπηρεσιακής υπηρεσίας το Engin.py επανεκκινείται μετά από δύο δευτερόλεπτα. Το κουμπί τερματισμού απλώς στέλνει μια εντολή στο Raspberry Pi που θα τερματιστεί τώρα. Ανοίξτε ένα άλλο αρχείο χρησιμοποιώντας το sudo nano /etc/systemd/system/grimmskiste.service και πληκτρολογήστε τα ακόλουθα:
-
[Μονάδα]
Περιγραφή = Ελέγχει δύο κουμπιά υλικού για να κλείσει το raspberry pi ή να σκοτώσει το τρέχον πρόγραμμα Grimms Kiste [Service] ExecStart =/home/pi/GrimmsKiste-1/shutdown-pi-and-restart-program.py [Install] WantedBy = multi-user.target
- Και πάλι, θα χρειαστεί να επεξεργαστείτε τη διαδρομή στο ExecStart, εάν είναι διαφορετική στο Pi σας. Και πάλι, μπορείτε να αποθηκεύσετε το αρχείο σε nano χρησιμοποιώντας ctrl + x, στη συνέχεια πληκτρολογώντας y και πατώντας enter.
- Τώρα έχετε τα αρχεία μονάδας για τις υπηρεσίες συστήματος, αλλά δεν χρησιμοποιούνται ακόμη. Κάθε φορά που αλλάζετε αρχεία μονάδας, πληκτρολογήστε sudo systemctl daemon-reload, οπότε κάντε το τώρα. Στη συνέχεια, ξεκινήστε και τις δύο υπηρεσίες χρησιμοποιώντας sudo systemctl start grimmskiste.service και sudo systemctl start grimmskiste-restart.service Αυτό θα ξεκινήσει τις υπηρεσίες προς το παρόν. Χρησιμοποιήστε sudo systemctl status grimmskiste.service και sudo systemctl status grimmskiste-restart.service για να ελέγξετε αν είναι σε λειτουργία. Στην έξοδο, θα πρέπει να υπάρχει μια γραμμή που περιλαμβάνει "ενεργό (τρέξιμο)", πιθανώς στην τρίτη γραμμή - αν δεν είναι, κάτι πήγε στραβά. Το Journalctl μπορεί να είναι σε θέση να σας βοηθήσει με περισσότερες πληροφορίες εντοπισμού σφαλμάτων.
- Η χρήση του systemctl start ξεκινάει μόνο τις υπηρεσίες προς το παρόν, αλλά αν θέλετε να ξεκινούν κάθε φορά που ξεκινούν οι μπότες του Raspberry Pi, πρέπει να τις ενεργοποιήσετε. Αυτό γίνεται με sudo systemctl enable grimmskiste.service και sudo systemctl enable grimmskiste-restart.service.
- Τώρα πρέπει να δοκιμάσετε όλα τα κουμπιά εάν όλα λειτουργούν σωστά. Δοκιμάστε επίσης το κουμπί τερματισμού λειτουργίας και ελέγξτε εάν όλα εξακολουθούν να λειτουργούν σωστά μετά την επανεκκίνηση. Εάν ναι, δεν χρειάζεστε την οθόνη, το πληκτρολόγιο κ.λπ. και το πρόγραμμά σας πρέπει να τρέχει κάθε φορά που συνδέετε το Raspberry Pi στην πρίζα.
Βήμα 4: Εισαγωγή στο YAML:
Σημαντικό: Τα πεδία με μοβ δεν πρέπει να μετονομάζονται. Τα ονόματα των επιμέρους λιστών αποτελούν εξαίρεση. Κάθε ιστορία αποκτά το δικό της αρχείο YAML με όλες τις επιλογές. Η δομή είναι η ίδια όπως για το αρχείο start.yaml
Colon: Εάν θέλετε να χρησιμοποιήσετε άνω και κάτω τελεία στο κείμενο, πρέπει να δημιουργήσετε ένα μήνυμα> μετά. Στη συνέχεια, το κείμενο χαμηλώνει μία γραμμή και εσοχή με δύο κενές γραμμές.
Καρτέλες: Μην χρησιμοποιείτε καρτέλες και βεβαιωθείτε ότι δεν υπάρχουν καρτέλες στο τέλος ενός μηνύματος, αυτό θα έχει ως αποτέλεσμα ο αναλυτής να μην μπορεί να διαβάσει το αρχείο.
_default_question: Η ερώτηση που εισάγεται εδώ λαμβάνεται εάν δεν έχει εισαχθεί πεδίο με "ερώτηση" στο ιστορικό.
_prompt: Αυτό το πεδίο εκτυπώνεται όταν ο αναγνώστης πρέπει να κάνει μια καταχώριση.
Και τα δύο πεδία ενδέχεται να υπάρχουν μόνο μία φορά στο αρχείο start.yaml και ενδέχεται να μην χρησιμοποιούνται σε άλλα αρχεία.
start: start είναι το όνομα της πρώτης λίστας της αρχικής σελίδας. Τα ονόματα δεν πρέπει να αντιγράφονται σε όλες τις άλλες λίστες. Στο πρότυπο, αυτό το πεδίο ονομάζεται «Όνομα της ιστορίας» και πρέπει να αλλάζει για κάθε ιστορία.
Μήνυμα: Αυτό το πεδίο περιέχει την ιστορία και πρέπει να βρίσκεται σε μία γραμμή. ερώτηση: Χρησιμοποιείται όταν πρόκειται να χρησιμοποιηθεί άλλη ερώτηση εκτός της _προεπιλεγμένης_ρώτησης. Εάν το πεδίο δεν χρησιμοποιείται, πρέπει να διαγραφεί. (προαιρετικός)
Ενέργειες: Η λίστα "ενέργειες" περιέχει τις επιλογές επιλογής. Εδώ μπορούν να εισαχθούν έως 4 επιλογές. Ετικέτα: Η ετικέτα εκτυπώνεται ως επιλογή επιλογής.
Επόμενο: Αυτό είναι το όνομα της επόμενης επιλογής επιλογής που θα κληθεί.
τέλος: Μια λίστα με μόνο μήνυμα σηματοδοτεί το τέλος μιας ιστορίας. Οι ενέργειες των πεδίων, η ετικέτα και η επόμενη πρέπει να διαγραφούν
Προσθέστε περισσότερες ιστορίες:
Όπως εξηγήθηκε παραπάνω, κάθε νέα ιστορία αποκτά το δικό της αρχείο.yaml. Για να το κάνετε αυτό, ανοίξτε το φάκελο "Grimms Box" και αντιγράψτε το αρχείο template.yaml. Μπορείτε επίσης να το βρείτε στο repo του GitHub (https://github.com/fio-na/GrimmsKiste-1). Μετονομάστε το αρχείο σε τον τίτλο της ιστορίας και ανοίξτε την. Στο νέο αρχείο, προσθέστε τον κατασκευαστή και την ημερομηνία και αλλάξτε το πεδίο "Το όνομα της ιστορίας" στον τίτλο (δείτε εικ. 4: Το όνομα της ιστορίας εδώ είναι HP1) Το Στη συνέχεια, συμπληρώστε το μήνυμα, την ερώτηση, την ετικέτα και το επόμενο. Μόλις το κάνετε αυτό, αντιγράψτε τη δομή δεδομένων (όπως φαίνεται στο σχήμα 4) και επικολλήστε την κάτω από την τελευταία επόμενη. Ο τίτλος θα αλλάξει τώρα σε ένα κλειδί που χρησιμοποιείται στο "επόμενο" στο πρώτο μέρος (όπως φαίνεται στο σχήμα 4 Το HP1 θα ήταν HP2 ή gang2, ανάλογα με την επιλογή που θα επεξεργαστεί πρώτα). Στη συνέχεια, το μήνυμα, η ερώτηση, η ετικέτα και το επόμενο συμπληρώνονται ξανά. Κάντε αυτό για όλες τις επιλογές/ενέργειες έως ότου ολόκληρη η ιστορία είναι στο αρχείο. Σε όλα τα άκρα, η τελευταία λίστα πρέπει να περιέχει μόνο ένα μήνυμα. Όλα τα άλλα πεδία στην τελική λίστα πρέπει να διαγραφούν. Στη συνέχεια, το αρχείο πρέπει να αποθηκευτεί.
Διαδικασία εν συντομία:
- Ανοίξτε το φάκελο Grimms Box
- Αντιγράψτε το Vorlage.yaml και μετονομάστε τον στον τίτλο της ιστορίας.
- Ανοίξτε αυτό το νέο αρχείο.
- Αντιγραφή δομής δεδομένων (εικ. 4)
- Αλλάξτε το όνομα από Ιστορικό σε Όνομα επιλογής
- Εισαγάγετε το κείμενο της ιστορίας στο πεδίο μηνυμάτων,
- Τοποθετήστε την κατάλληλη ετικέτα.
- Εισαγάγετε το όνομα της επόμενης επιλογής επιλογής στο επόμενο.
- Επαναλάβετε τα βήματα 4 έως 9 μέχρι να ολοκληρωθεί η ιστορία.
- Σε όλα τα άκρα: Η τελευταία λίστα περιέχει μόνο ένα μήνυμα.
- Αποθηκεύστε το αρχείο.
Προσθέστε τη νέα σας ιστορία στην αρχική σελίδα:
Η start.yaml είναι η αρχική σελίδα για το κουτί του Grimm. Ωστόσο, αυτό το αρχείο πρέπει πρώτα να έχει πρόσβαση στις νέες ιστορίες. Επομένως, οι νέες ιστορίες πρέπει πρώτα να προστεθούν σε αυτό το αρχείο.
Ανά ενέργεια, μπορείτε να δημιουργήσετε μόνο 4 ετικέτες, στη συνέχεια, επειδή το πλαίσιο του Grimm έχει μόνο 4 κουμπιά για να διαλέξετε. Επομένως, εάν, όπως στο παράδειγμα του αρχείου start.yaml, έχουν ήδη εκχωρηθεί 4 ετικέτες και επόμενα πεδία, η 4η ετικέτα πρέπει να ονομάζεται "Περισσότερες ιστορίες" ή "Περισσότερα" και μια δεύτερη δομή δεδομένων (εδώ: S2; με μήνυμα, ερώτηση, ενέργειες, ετικέτα, επόμενο) πρέπει να προσαρτηθούν και να μετονομαστούν. Στη συνέχεια, προσθέτετε τη νέα ιστορία με ετικέτα και την επόμενη και την ονομάζετε κατάλληλα. Τέλος, πρέπει να σωθεί.
Διαδικασία εν συντομία:
Στο start.yaml:
- Άνοιγμα start.yaml
- Συμπληρώστε τα πεδία κατάλληλα.
- Οι ενέργειες των πεδίων, η ετικέτα και η επόμενη πρέπει να αντιγραφούν και να επικολληθούν.
- Αποθηκεύσετε.
Διατηρήστε το κύριο αρχείο "Engin.py":
Τέλος, η ιστορία πρέπει να προστεθεί στο κύριο αρχείο "Engin.py". Για αυτό μόνο η διαδρομή αρχείου του νέου αρχείου YAML πρέπει να εισαχθεί στη λίστα αρχείων. Η διαδρομή περικλείεται σε εισαγωγικά και διαχωρίζεται από τα άλλα ένα κόμμα
Διαδικασία εν συντομία:
- Άνοιγμα Engine.py.
- Αντιγράψτε τη διαδρομή αρχείου του αρχείου YAML
- Αντιγραφή διαδρομής στη λίστα αρχείων
- Διαχωρίστε τις διαδρομές με κόμματα.
Βήμα 5: Οδηγίες χρήσης
Για να ξεκινήσετε το Grimm's Box, συνδέστε τον εκτυπωτή στο Raspberry Pi (υπάρχει μια μικρή τρύπα για τα καλώδια), συνδέστε τον εκτυπωτή και το Raspberry Pi στην πρίζα και ενεργοποιήστε τον εκτυπωτή. Το Raspberry Pi ξεκινά μόνο του όταν είναι συνδεδεμένο. Περιμένετε να ξεκινήσει. Το λογισμικό υποτίθεται ότι ξεκινά από μόνο του.
Υπάρχει ένα κουμπί για το κλείσιμο του Raspberry Pi και ένα κουμπί για επανεκκίνηση του λογισμικού ιστορίας, σε περίπτωση που κάποιος φύγει απλώς χωρίς να τελειώσει την ιστορία. Και τα δύο πρέπει να πιέζονται τουλάχιστον 3 δευτερόλεπτα. Αυτό γίνεται για να διασφαλιστεί ότι δεν πιέζονται τυχαία, αλλά μπορείτε να αλλάξετε το χρονοδιάγραμμα στο αρχείο shutdown-pi-and-restart-program.py. Χρησιμοποιήστε το κουμπί τερματισμού, απλώς η αποσύνδεση δεν είναι καλή για το Raspberry Pi. Με την τρέχουσα ρύθμιση δεν μπορείτε να δείτε αν το Raspberry Pi είναι ενεργοποιημένο ή απενεργοποιημένο, οπότε πρέπει να ελέγξετε αν εξακολουθεί να αντιδρά σε άλλα κουμπιά, αν θέλετε να είστε σίγουροι.
Η επανεκκίνηση του προγράμματος διαρκεί λίγο χρόνο, καθώς πρέπει να πατήσετε το κουμπί τουλάχιστον 3 δευτερόλεπτα και η διαδικασία στο παρασκήνιο ελέγχει μόνο κάθε 2 δευτερόλεπτα εάν το πρόγραμμα εκτελείται, οπότε η όλη διαδικασία μέχρι να εκτυπωθεί ξανά μπορεί να διαρκέσει 6 δευτερόλεπτα. Δώστε του λίγο χρόνο. Το κουμπί επανεκκίνησης μπορεί επίσης να χρησιμοποιηθεί, εάν παρουσιαστεί οποιοδήποτε πρόβλημα. Aσως μια επανεκκίνηση να το διορθώσει. Εάν όχι, η σύνδεση του Raspberry Pi με μια οθόνη κ.λπ. και η εκτέλεση του προγράμματος από το τερματικό ενδέχεται να παράγει μηνύματα σφάλματος που μπορείτε να αναζητήσετε στο διαδίκτυο. Τα κουμπιά που χρησιμοποιούνται για τις ιστορίες πρέπει να πιέζονται τουλάχιστον 0,1 δευτερόλεπτα, αλλά είναι πολύ σπάνιο κάποιος να τα πιέζει λιγότερο από αυτό.
Εάν η ιστορία τελειώσει, το χαρτί κόβεται και το πρόγραμμα ξεκινά ξανά αυτόματα. Αλλά για να δώσει λίγο χρόνο στον αναγνώστη να διαβάσει το τέλος, περιμένει 3,5 δευτερόλεπτα συν τα 2 δευτερόλεπτα που χρειάζονται για να παρατηρήσει ότι το πρόγραμμα δεν εκτελείται και επανεκκινείται. Τα 3,5 δευτερόλεπτα μπορούν να επεξεργαστούν στο αρχείο Engin.py.
Τα κουμπιά που πιέζονται λιγότερο από 1,7 δευτερόλεπτα μετά την τελευταία ώθηση δεν θα γίνουν αποδεκτά. Το εφαρμόσαμε επειδή το Raspberry Pi είναι πολύ πιο γρήγορο από τον εκτυπωτή και το πάτημα δύο κουμπιών θα είχε ως αποτέλεσμα την επιλογή μιας ενέργειας πριν ο αναγνώστης δει τις επιλογές.
Συνιστάται:
Δημιουργήστε VPN στη συσκευή σας Raspberry Pi: 6 βήματα (με εικόνες)
Δημιουργήστε VPN στη συσκευή σας Raspberry Pi: Το VPN ή το εικονικό ιδιωτικό δίκτυο μπορεί να βοηθήσει τους απλούς χρήστες του διαδικτύου να παραμείνουν λίγο πιο ιδιωτικοί ενώ σερφάρουν στο Δίκτυο. Μπορεί επίσης να βοηθήσει επαγγελματίες προγραμματιστές λογισμικού ενώ εργάζονται στα έργα τους. Και η σύνδεση Raspberry Pi VPN, η οποία βασίζεται
Πώς να φτιάξετε τη δική σας πύλη WIFI για να συνδέσετε το Arduino σας στο δίκτυο IP;: 11 βήματα (με εικόνες)
Πώς να φτιάξετε τη δική σας πύλη WIFI για να συνδέσετε το Arduino με το δίκτυο IP;: Όπως πολλοί άνθρωποι πιστεύετε ότι το Arduino είναι μια πολύ καλή λύση για αυτοματοποίηση σπιτιού και ρομποτικό! Αλλά από την άποψη της επικοινωνίας, το Arduinos έρχεται μόνο με σειριακούς συνδέσμους. Δουλεύω σε ένα ρομπότ που πρέπει να είναι μόνιμα συνδεδεμένο με ένα διακομιστή που λειτουργεί
Δημιουργήστε τη δική σας κεραία BiQuad 4G με δοκιμή ταχύτητας: 7 βήματα (με εικόνες)
Δημιουργήστε τη δική σας κεραία BiQuad 4G με δοκιμή ταχύτητας: Σε αυτό το διδακτικό θα σας δείξω πώς έφτιαξα μια κεραία BiQuad 4G. Η λήψη σήματος είναι κακή στο σπίτι μου λόγω βουνών γύρω από το σπίτι μου. Ο πύργος σήματος απέχει 4,5 χιλιόμετρα από το σπίτι. Στην περιοχή Colombo, ο πάροχος υπηρεσιών μου δίνει ταχύτητα 20 Mbps. αλλά στα μ
Πώς να φτιάξετε τη δική σας συσκευή νυχτερινής όρασης!: 5 βήματα (με εικόνες)
Πώς να φτιάξετε τη δική σας συσκευή νυχτερινής όρασης!: Σε αυτό το έργο θα σας δείξω πώς να δημιουργήσετε μια συσκευή νυχτερινής όρασης. Αποτελείται κυρίως από μια κάμερα ασφαλείας, μια μικρή οθόνη και ένα προσαρμοσμένο PCB που διαθέτει IR LED και ένα πρόγραμμα οδήγησης LED. Αφού τροφοδοτήσετε τη συσκευή με τροφοδοτικό USB Type-C PD, μπορείτε να
Δημιουργήστε τη δική σας οθόνη MQTT EInk για χρόνο, ειδήσεις και περιβαλλοντικά δεδομένα: 7 βήματα
Φτιάξτε τη δική σας οθόνη MQTT EInk για χρόνο, ειδήσεις και περιβαλλοντικά δεδομένα: Το «THE» είναι μια μίνι οθόνη πληροφοριών MQTT για χρόνο, ειδήσεις και περιβαλλοντικές πληροφορίες. Χρησιμοποιώντας μια οθόνη eInk 4,2 ιντσών, η ιδέα της είναι απλή-να εμφανίζει πληροφορίες σε περιστροφική βάση, ενημερώνοντας κάθε δύο λεπτά. Τα δεδομένα μπορούν να είναι οποιαδήποτε ροή - f