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

Σχολικό κουδούνι για μαθητές εξ αποστάσεως: 6 βήματα
Σχολικό κουδούνι για μαθητές εξ αποστάσεως: 6 βήματα

Βίντεο: Σχολικό κουδούνι για μαθητές εξ αποστάσεως: 6 βήματα

Βίντεο: Σχολικό κουδούνι για μαθητές εξ αποστάσεως: 6 βήματα
Βίντεο: ΝΗΠΙΑΓΩΓΕΙΟ & ΔΗΜΟΤΙΚΟ(4) -ΦΥΣΙΚΗ ΑΓΩΓΗ 2024, Ιούλιος
Anonim
Σχολικό κουδούνι για μαθητές εξ αποστάσεως
Σχολικό κουδούνι για μαθητές εξ αποστάσεως

Με την πανδημία του COVID-19, πολλά παιδικά σχολεία έχουν περάσει από απόσταση. Αυτό το κουδούνι του σχολείου είναι ένας διασκεδαστικός τρόπος για να μείνετε σύμφωνα με το πρόγραμμα που χρησιμοποιεί Raspberry Pi και ηχείο USB. Μπορείτε να τα καταφέρετε με το παιδί σας και να μάθουν για προγραμματισμό και να «χτυπήσουν το κουδούνι». Το έχτισα για την κόρη μου που πηγαίνει στην 7η τάξη (επί του παρόντος μέσω παράδοσης εξ αποστάσεως) και λειτουργεί καλά για να μας κρατήσει έγκαιρα.

Προμήθειες

Για αυτό το έργο, θα χρειαστείτε:

  • Ένας υπολογιστής Raspberry Pi - Λειτουργεί καλύτερα εάν έχετε WiFi, χρησιμοποίησα ένα RPi 3B από ένα κιτ Kano
  • Ένα ηχείο - χρησιμοποίησα ένα ηχείο USB

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

Βήμα 1: Ρυθμίστε το Raspberry Pi σας

Ρυθμίστε το Raspberry Pi σας
Ρυθμίστε το Raspberry Pi σας

Υπάρχει ένας μεγάλος αριθμός πόρων για τη δημιουργία ενός υπολογιστή Raspberry Pi, οπότε σας παραπέμπω σε έναν που βρίσκει η Google. Το σημαντικό είναι ότι ο υπολογιστής σας έχει έναν τρόπο να βρει τη σωστή ημερομηνία και ώρα. Οι περισσότεροι σύγχρονοι υπολογιστές Raspberry Pi με δυνατότητα WiFi χρησιμοποιούν το πρωτόκολλο NTP για να ορίσουν την ώρα από το διαδίκτυο, με τον τρόπο που πήρα τη σωστή ώρα. Έχω ρυθμίσει το RPi μου να είναι "ακέφαλο", που σημαίνει ότι δεν έχει πληκτρολόγιο ή οθόνη, αλλά είναι προσβάσιμο μέσω ασφαλούς κελύφους (SSH) μέσω διαδικτύου. Εάν είστε καλά με το RPi, μπορείτε να κάνετε αυτήν τη ρύθμιση χωρίς πληκτρολόγιο / βίντεο / ποντίκι, αλλά είναι πιο εύκολο να ρυθμίσετε το pi με αυτά τα αξεσουάρ.

Σημειώστε ότι δεν χρειάστηκε να χρησιμοποιήσω τη γραφική διεπαφή, οπότε μόλις κατέβασα το "Raspberry Pi OS (32-bit) Lite", το οποίο είναι μικρότερο και γρηγορότερο για λήψη και εκκινεί γρηγορότερα.

Διαμορφώστε το δίκτυο και τις επιλογές διασύνδεσης του Raspberry Pi

$ sudo raspi-config

Στη διαμόρφωση, κάντε τα εξής:

  • Αλλάξτε τον κωδικό πρόσβασης - κάντε το πρώτα, ελπίζουμε πριν μπείτε στο διαδίκτυο!
  • Στην ενότητα "Επιλογές δικτύου",

    • Αλλάξτε το όνομα κεντρικού υπολογιστή. Χρησιμοποίησα το όνομα κεντρικού υπολογιστή: "schoolbell".
    • Συνδεθείτε στο ασύρματο LAN σας (εάν δεν το έχετε κάνει στη ρύθμιση)
  • Στην ενότητα "Επιλογές διασύνδεσης", ενεργοποιήστε την πρόσβαση SSH
  • Είναι πάντα καλό να εκτελείτε την επιλογή "Ενημέρωση"

Μόλις το κάνετε αυτό και κάνετε επανεκκίνηση, θα πρέπει να μπορείτε να συνδεθείτε στο Raspberry Pi από άλλον υπολογιστή στο ίδιο τοπικό δίκτυο χρησιμοποιώντας ένα πρόγραμμα -πελάτη SSH. Συνδεθείτε με αυτό χρησιμοποιώντας τα ακόλουθα διαπιστευτήρια:

όνομα κεντρικού υπολογιστή: schoolbell.local

χρήστη: pi κωδικός πρόσβασης: whateveryousetitas

Από ένα πλαίσιο Linux, αυτό είναι τόσο απλό όσο η πληκτρολόγηση αυτής της γραμμής εντολών στη γραμμή εντολών $:

$ ssh [email protected]

… Εισάγετε κωδικό πρόσβασης

Αυτό θα σας συνδέσει και μπορείτε να ελέγξετε ότι η ώρα στο Raspberry Pi είναι σωστή. Στη γραμμή εντολών, πληκτρολογήστε την εντολή ημερομηνίας και ελέγξτε την απόκριση:

pi@schoolbell: ~ $ ημερομηνία

Πέμ 3 Σεπ 20:44:34 AKDT 2020

Ας ελπίσουμε ότι αυτή είναι η τρέχουσα ώρα. Εάν δεν είναι σωστό, google σχετικά με τη ρύθμιση του NTP στο Raspberry Pi.

Βήμα 2: Λειτουργήστε το ηχητικό σας σύστημα

Λειτουργήστε το ηχητικό σας σύστημα
Λειτουργήστε το ηχητικό σας σύστημα

Θα παίξουμε αρχεία MP3 για τις καμπάνες, οπότε πρέπει να κατεβάσουμε λογισμικό για να αποκωδικοποιήσουμε αυτά τα αρχεία ήχου. Πήρα το πακέτο mpg321 πληκτρολογώντας αυτήν την εντολή:

pi@schoolbell: su $ sudo apt-get install mpg321

Ακολουθήστε τις οδηγίες για να εγκαταστήσετε αυτό το λογισμικό.

Χρησιμοποίησα ένα παλιό ηχείο USB, το οποίο είχε ένα περίεργο πρόγραμμα οδήγησης και δεν είχε πλήρως αυτόματη διαμόρφωση ως προεπιλεγμένη κάρτα ήχου, οπότε διαπίστωσα ότι θα μπορούσα να "σπάσω" το ηχείο να λειτουργήσει χρησιμοποιώντας τη διεύθυνση υλικού του. Αφού συνδέσω το ηχείο, χρησιμοποίησα την εντολή 'aplay -l' για να παραθέσω συσκευές ήχου:

pi@schoolbell: ap $ aplay -l

**** Κατάλογος PLAYBACK Hardware Devices **** κάρτα 0: Ακουστικά [bcm2835 Ακουστικά], συσκευή 0: bcm2835 Ακουστικά [bcm2835 Ακουστικά] Υποσυσκευές: Υποσυσκευή #0: υπο -συσκευή #0 Υπο -συσκευή #1: υπο -συσκευή #1 Υπο -συσκευή #2: υποσυσκευή #2 Υποσυσκευή #3: υποσυσκευή #3 Υποσυσκευή #4: υποσυσκευή #4 Υποσυσκευή #5: υποσυσκευή #5 Υποσυσκευή #6: υποσυσκευή #6 Υποσυσκευή #7: υποσυσκευή #7 κάρτα 1: CODEC [USB Audio CODEC], συσκευή 0: USB Audio [USB Audio] Υποσυσκευές: Υποσυσκευή #0: υποσυσκευή #0

Η συσκευή που θέλω είναι η κάτω, κάρτα 1, συσκευή 0.

Δοκίμασα το ηχείο με "δοκιμή ηχείων", χρησιμοποιώντας τη συσκευή "hw: 1, 0", που σημαίνει κάρτα υλικού 1, συσκευή 0

pi@schoolbell: ~ $ test -speaker -D hw: 1, 0

Αυτό το πρόγραμμα βγάζει θόρυβο από τα ηχεία. Απολαύστε το θόρυβο και πληκτρολογήστε control-C όταν εκνευρίζεστε. Εάν δεν ακούτε θόρυβο, δοκιμάστε το google.

Τώρα έχετε ήχο!

Βήμα 3: Δοκιμή αναπαραγωγής ήχων καμπάνας ή/και δημιουργία νέων ήχων

Δοκιμή αναπαραγωγής ήχων καμπάνας ή/και δημιουργία νέων ήχων
Δοκιμή αναπαραγωγής ήχων καμπάνας ή/και δημιουργία νέων ήχων

Για το κουδούνι μου, κατέβασα τον ήχο "bing-bong" από το "freesound.org". Ευχαριστώ τον Benboncan που έκανε διαθέσιμο αυτόν τον ήχο:

freesound.org/people/Benboncan/sounds/93646/

Μπορείτε να παίξετε τον ήχο απευθείας. Θα μπορούσα να κατεβάσω απευθείας μια έκδοση mp3 αυτού του αρχείου πληκτρολογώντας αυτήν την εντολή στον υπολογιστή Raspberry Pi (αν υποθέσουμε ότι είναι σε WiFi):

pi@schoolbell: ~ $ wget

Στη συνέχεια μετονόμασα αυτό το αρχείο:

pi@schoolbell: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3

Στη συνέχεια δοκίμασα ότι μπορούσα να χτυπήσω το κουδούνι με αυτήν την εντολή (εμφάνιση εξόδου):

pi@schoolbell: ~ $ mpg321 -a hw: 1, 0 bing-bong-chime-hq.mp3

Υψηλής απόδοσης MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3. Έκδοση 0.3.2-1 (2012/03/25). Σε σενάριο και πνευματικά δικαιώματα του Τζο Ντρου, τώρα διατηρείται από τον Νανάκο Χρυσόστομο και άλλους. Χρησιμοποιεί κώδικα από διάφορα άτομα. Δείτε το 'README' για περισσότερα! ΑΥΤΟ ΤΟ ΛΟΓΙΣΜΙΚΟ ΕΡΧΕΤΑΙ ΑΠΟΛΥΤΩΣ ΧΩΡΙΣ ΕΓΓΥΗΣΗ! ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ ΤΟ ΜΕ ΔΙΚΗ ΣΑΣ ΕΥΘΥΝΗ! Αναπαραγωγή ροής MPEG από bing-bong-chime-hq.mp3… MPEG 1.0 layer III, 128 kbit/s, 44100 Hz mono [0:02] Η αποκωδικοποίηση του bing-bong-chime-hq.mp3 ολοκληρώθηκε.

Συγχαρητήρια! Έχετε ήχο.

Χρησιμοποιώντας τον κώδικα επεξεργασίας ήχου "θράσος" στο φορητό υπολογιστή μου, χώρισα το αρχείο σε "bing" και "bong" για περισσότερη διασκέδαση. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε αρχείο ήχου mp3 ή ίσως άλλη μορφή (δεν έχω δοκιμάσει άλλα).

Βήμα 4: Εγκαταστήστε τον κώδικα και ορίστε το πρόγραμμά σας

Εγκαταστήστε τον Κώδικα και ορίστε το πρόγραμμά σας
Εγκαταστήστε τον Κώδικα και ορίστε το πρόγραμμά σας

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

Πρώτα θα το βάλεις σε λειτουργία και μετά θα το αυτοματοποιήσεις να λειτουργεί κάθε λεπτό.

Κατεβάστε τον κώδικα από το Github:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

Το βρίσκω εύκολο να το κάνω αποθηκεύοντας το αρχείο σε έναν τοπικό υπολογιστή και στη συνέχεια χρησιμοποιώντας ασφαλές αντίγραφο (scp) για να το τοποθετήσω στο Raspberry pi.

Στο τοπικό σας μηχάνημα, αντιγράψτε τον κώδικα από το πρόγραμμα περιήγησής σας και, στη συνέχεια, επικολλήστε το σε ένα αρχείο κειμένου και αποθηκεύστε το με το όνομα αρχείου "schoolbell.py". Στη συνέχεια, απομακρύνετε το αρχείο:

local-machine: ~ $ scp schoolbell.py [email protected]: ~/

Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης για το χρήστη pi στο schoolbell.local - εισαγάγετε τον κωδικό πρόσβασης και το αρχείο αντιγράφεται με ασφάλεια. Αυτή η εντολή πρέπει να εκτελεστεί στον ίδιο κατάλογο όπου αποθηκεύτηκε το σενάριο python και να το αντιγράψει στον αρχικό κατάλογο του χρήστη pi. Μπορείτε να μεταβείτε στο schoolbell.local και ο κωδικός θα πρέπει να είναι εκεί:

local-machine: ~ $ ssh [email protected]

Στη συνέχεια, στο schoolbell.local, παραθέστε τα αρχεία (ενδέχεται να δείτε περισσότερα αρχεία):

pi@schoolbell: ~ $ ls

bing-bong-chime-hq.mp3 schoolbell.py

Τώρα επεξεργαστείτε τον κώδικα για να έχει το κουδούνι σας χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας όπως το pico:

pi@schoolbell: p $ pico schoolbell.py

Ο κώδικας έχει τρία "λεξικά" που καθορίζουν τους ήχους κουδουνιών για αναπαραγωγή, τις ώρες για να τους παίξετε και τις διακοπές που πρέπει να αποφύγετε, οι καμπάνες τα Σαββατοκύριακα παραλείπονται αυτόματα.

Για παράδειγμα, το λεξικό κουδουνιών είναι:

κουδούνια = {

'προειδοποίηση': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': 'bing-bong-chime-hq.mp3'}

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

Το λεξικό bellschedule είναι παρόμοιο, αλλά το "κλειδί" είναι τώρα η ώρα για το κουδούνι. πρέπει να χρησιμοποιήσετε τη μορφή HH: MM με κορυφαία μηδενικά και χρόνο 24 ωρών (στρατιωτικός χρόνος).

bellschedule = {

'09: 00 ':' εκκίνηση ', # «Κουδούνι λεωφορείου» που ετοιμάζεται '09: 28': 'προειδοποίηση',….. '13: 58 ':' προειδοποίηση ', # για περίοδο 4 '14: 00 ':' start ', '15: 00': 'end'}

Η τιμή σε αυτό το κλειδί: ζεύγος τιμών είναι ο τύπος του ήχου κουδουνιού που πρέπει να χρησιμοποιήσετε και πρέπει να ταιριάζει με έναν από τους ήχους κουδουνιού που ορίστηκε παραπάνω.

Τέλος, το λεξικό διακοπών αναφέρει τις ημερομηνίες των διακοπών. Η μορφή είναι YYYY-mm-dd, με κορυφαία μηδενικά όπως φαίνεται.

διακοπές = {

'2020-09-07', …. '2021-03-11', '2021-03-12' }

Μόλις τελειώσετε με την επεξεργασία, αποθηκεύστε το αρχείο βγαίνοντας από τον επεξεργαστή, πληκτρολογώντας ctrl-X αν χρησιμοποιείτε pico.

Κάντε τον κώδικα python εκτελέσιμο από:

pi@schoolbell: ~ $ chmod a+x schoolbell.py

Αυτό επιτρέπει σε όλους τους χρήστες να εκτελούν τον κώδικα, "a" για όλους, "+" για άδεια προσθήκης και "x" για εκτέλεση.

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

pi@schoolbell: ~ $./schoolbell.py

Είναι σχολική ημέρα, ώρα ελέγχου 21:35

Ο κωδικός θα σας πει αν είναι σχολική ημέρα (π.χ. αργία ή Σαββατοκύριακο) και βλέπει αν ο χρόνος ταιριάζει με την ώρα του κουδουνιού. Σε αυτή την περίπτωση, δεν ήταν ώρα καμπάνας, οπότε απλώς βγήκε καθαρά. Αν τύχαινε να είναι κουδούνι, θα είχε χτυπήσει.

Για να ελέγξετε ότι ο κωδικός σας μπορεί να αναπαράγει κουδούνια, χρησιμοποιήστε την επιλογή γραμμής εντολών ενός αρχείου για αναπαραγωγή. Θα χρησιμοποιήσουμε το αρχείο bing-bong:

pi@schoolbell: ~/schoolbell $./schoolbell.py bing-bong-chime-hq.mp3

Είναι σχολική ημέρα, χρόνος ελέγχου 21:38 Υψηλή απόδοση MPEG 1.0/2.0/2.5 Audio Player για τα επίπεδα 1, 2 και 3. Έκδοση 0.3.2-1 (2012/03/25). Σε σενάριο και πνευματικά δικαιώματα του Τζο Ντρου, τώρα διατηρείται από τον Νανάκο Χρυσόστομο και άλλους. …. περισσότερη παραγωγή….

Έπρεπε να είχατε ακούσει το κουδούνι.

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

pi@schoolbell: ~ $./schoolbell.py 09:00

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

Βήμα 5: Αυτοματοποιήστε το Running With Crond

Αυτοματοποιήστε το Running With Crond
Αυτοματοποιήστε το Running With Crond

Το cron 'daemon' είναι ένας προγραμματιστής που εκτελεί επαναλαμβανόμενες εργασίες σε ένα σύστημα Linux. Ελέγχει εάν η ημερομηνία/ώρα ταιριάζει με ένα μοτίβο στον πίνακα cron (crontab) και στη συνέχεια εκτελείται κώδικας εάν συμβεί. Μπορείτε να το επεξεργαστείτε χρησιμοποιώντας την εντολή "crontab -e":

pi@schoolbell: ~ $ crontab -e

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

* * * * * python3 /home/pi/schoolbell.py

Αυτή η εντολή λέει στο cron να εκτελέσει το python3 που εκτελεί το σενάριό σας στον κανονικό αρχικό κατάλογο (/home/pi). Οι πέντε *λένε ότι αυτό πρέπει να τρέχει κάθε λεπτό (πρώτο *), κάθε ώρα (επόμενο *…), κάθε μέρα του μήνα, κάθε μήνα και κάθε μέρα της εβδομάδας.

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

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

Συμβουλή: Για παρατεταμένες διακοπές (π.χ. καλοκαίρι), μπορείτε να προσθέσετε ένα hashtag (#) στον πρώτο χαρακτήρα αυτής της γραμμής, το οποίο το μετατρέπει σε σχόλιο και έτσι αγνοεί την εκτέλεσή του. Όταν επιστρέψει το σχολείο, απλώς αφαιρέστε το # και θα αρχίσει να τρέχει ξανά.

Βήμα 6: Προσαρμόστε και απολαύστε

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

Μπορείτε να προσαρμόσετε αυτό το έργο αλλάζοντας τους ήχους κουδουνιού.

  • Θα μπορούσες να το κάνεις να χτυπήσει στο Μπιγκ Μπεν, με κουδουνίσματα τέταρτης ώρας και να χτυπάει τις ώρες.
  • Θα μπορούσατε να δοκιμάσετε το freestyle του αγαπημένου σας ράπερ.
  • Θα μπορούσατε να στείλετε υποσυνείδητα μηνύματα για να εστιάσετε στη μελέτη.

Μείνετε ασφαλείς σε αυτήν την εποχή του COVID.

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Δεύτερη στον οικογενειακό διαγωνισμό "Δεν μπορώ να αγγίξω αυτό"

Συνιστάται: