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

Keeping It Stoopid Simple Internet Radio: KISSIR: 13 Βήματα
Keeping It Stoopid Simple Internet Radio: KISSIR: 13 Βήματα

Βίντεο: Keeping It Stoopid Simple Internet Radio: KISSIR: 13 Βήματα

Βίντεο: Keeping It Stoopid Simple Internet Radio: KISSIR: 13 Βήματα
Βίντεο: ⚡️ Я НЕ СДАМСЯ! AMAZON 2.0 | Интернет магазин с нуля - Часть 3 2024, Ιούλιος
Anonim
Keeping It Stoopid Simple Internet Radio: KISSIR
Keeping It Stoopid Simple Internet Radio: KISSIR
Keeping It Stoopid Simple Internet Radio: KISSIR
Keeping It Stoopid Simple Internet Radio: KISSIR

Μερικές φορές πρέπει απλώς να είναι απτικό. Χωρίς διεπαφή κανενός είδους. Μόνο κουμπιά.

Το Raspberry Pi ως ραδιοφωνική συσκευή αναπαραγωγής στο Διαδίκτυο δεν είναι κάτι καινούργιο και υπάρχουν πολλές οδηγίες για το πώς να δημιουργήσετε ένα ραδιοφωνικό πρόγραμμα αναπαραγωγής στο Διαδίκτυο χρησιμοποιώντας ένα βατόμουρο pi με ή χωρίς οθόνη για τη ροή διαδικτυακών σταθμών από όλο τον κόσμο. Εάν επιλέγατε να μείνετε ακέφαλοι (χωρίς οθόνη), θα χρειαζόσασταν ακόμα ένα μέσο για τη διασύνδεση του pi player, συνήθως μια διεπαφή ιστού αν όχι ένα άμεσο μέσο επικοινωνίας με τον κεντρικό υπολογιστή, όπως το ssh. Αυτό το διδακτικό θα είναι ελαφρώς διαφορετικό. θα χρησιμοποιήσουμε απλά κουμπιά για να στείλουμε εντολές στο pi, εξαλείφοντας έτσι την ανάγκη για διεπαφή ιστού και οθόνη LCD. Ακούγεται αρκετά εύκολο, σωστά (;)

Θα ξεκινήσουμε με έναν πολύ βασικό σχεδιασμό χρησιμοποιώντας έγχρωμα κωδικοποιημένα κουμπιά, κάθε χρώμα θα αντιπροσωπεύει έναν διαδικτυακό ραδιοφωνικό σταθμό. Θα εισαγάγουμε κάποιον κώδικα python για να χειριστούμε το πάτημα του κουμπιού: Ο τύπος θα εκτελέσει μια εντολή για αναπαραγωγή ενός κωδικοποιημένου διαδικτυακού ραδιοφωνικού σταθμού μέσω MPG123, ένα εξαιρετικό εργαλείο γραμμής εντολών για αναπαραγωγή ήχου στο pi μας.

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

Πάμε!

Προμήθειες:

Απαιτούμενα Υλικά

  • Raspberry pi/ pi zero w με όλες τις ρυθμίσεις: Τροφοδοσία, κάρτα SD και Raspbian ή Raspbian lite.
  • Wifi και πρόσβαση στο διαδίκτυο
  • Ένας άλλος υπολογιστής για εκτέλεση περιήγησης στο διαδίκτυο και δυνατότητα SSH στο raspberry pi
  • Μετατροπέας ψηφιακού σε αναλογικό (DAC) - προαιρετικό, αλλά θα είστε ευγνώμονες.
  • Ενισχυτής
  • Ηχεία
  • Σύρμα σύνδεσης και άλτες
  • Συγκολλητικό σίδερο και συγκόλληση
  • Perf Board για τα κουμπιά
  • Απτά κουμπιά: Κανονικά ανοιχτό- ένα για κάθε είδος μουσικής, ένα κουμπί λειτουργίας και ένα προαιρετικό κουμπί σίγασης (συνιστώνται 7 κουμπιά)
  • Μια μονάδα κατοικίας για όλα τα παραπάνω (προαιρετικά αλλά τακτοποιημένα)

Βήμα 1: Προαπαιτούμενα:

Προϋποθέσεις
Προϋποθέσεις

Θα ξεκινήσουμε υποθέτοντας ότι έχετε ήδη ρυθμίσει το raspberry pi, το DAC και τον ενισχυτή σας, και επίσης θα υποθέσουμε ότι έχετε πρόσβαση στο διαδίκτυο. Λόγω του αριθμού των επιλογών εξοπλισμού ήχου, των προτιμήσεων και των επιλογών για ακρόαση ήχου, θα υποθέσουμε ότι η ρύθμισή σας έχει ήδη ολοκληρωθεί: θα πρέπει να έχετε ήδη ήχο από τα ηχεία σας πριν ξεκινήσετε αυτό το έργο. Θα χρειαστεί επίσης να ssh στο raspberry pi, οπότε χρησιμοποιώντας τη διαμόρφωση pi, βεβαιωθείτε ότι οι διεπαφές έχουν ενεργοποιηθεί. Θα χρησιμοποιήσω το Raspbian lite και θα σας συνιστούσα να έχετε μια νέα εγκατάσταση του πιο πρόσφατου αντιγράφου σε μια νέα κάρτα sd αφιερωμένη σε αυτό το έργο. Εάν είναι επιτυχής, θα χτίσουμε ένα αυτόνομο εξάρτημα που μπορεί να παραμείνει σε λειτουργία 24/7 ως αποκλειστική συσκευή ακρόασης.

Βήμα 2: Εγκαταστήστε Python και Pip

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

Αρχικά ας κάνουμε έναν τακτικό έλεγχο συντήρησης του συστήματος και της έκδοσης python:

sudo apt-get ενημέρωση

sudo apt-get αναβάθμιση

Βεβαιωθείτε ότι η Python είναι εγκατεστημένη. Σε μια συνεδρία τερματικού πληκτρολογήστε τα ακόλουθα στη γραμμή εντολών:

python -ανατροπή

Εάν βλέπετε python 2.7.13 (ή νωρίτερα), ας εγκαταστήσουμε το python 3.+:

sudo apt-get install python3

sudo apt-get install python-pip

sudo apt-get install python3-pip

sudo pip3 install -αναβάθμιση pip

Βήμα 3: Εγκαταστήστε το MPG123 και το Adafruit Blinka

Τώρα που τέθηκε το θεμέλιο, λίγες ακόμη εγκαταστάσεις:

Το MPG123 είναι το λογισμικό ήχου που θα αναπαράγει τη μουσική μας. Η εγκατάσταση είναι πολύ απλή:

sudo apt-get install mpg123

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

$ sudo pip3 install adafruit-blinka

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

aplay -ανατροπή

τα αποτελέσματά μας πρέπει να διαβάζουν: έκδοση 1.1.3 του Γιάροσλαβ Κυσελά

Βήμα 4: Προσαρμόστε την ένταση στο 50% στο Alsamixer

Προσαρμόστε την ένταση στο 50% στο Alsamixer
Προσαρμόστε την ένταση στο 50% στο Alsamixer
Προσαρμόστε την ένταση στο 50% στο Alsamixer
Προσαρμόστε την ένταση στο 50% στο Alsamixer

Τώρα ας λάβουμε ένα προληπτικό μέτρο και προσαρμόσουμε την έντασή μας στο 50% για να αποφύγουμε τυχόν εκκωφαντικές εκπλήξεις:

Στη γραμμή εντολών, πληκτρολογήστε alsamixer:

alsamixer

Αν κοιτάξουμε μια οθόνη με κόκκινο λευκό και πράσινο ή 100% μέγιστη ένταση, είναι καλή ιδέα να μειώσουμε την ένταση στο 50% για να σώσουμε τα τύμπανα μας. Μπορούμε πάντα να προσαρμόσουμε αργότερα (πάνω ή κάτω) αν χρειαστεί.

Βήμα 5: Ορισμένες εργασίες για το σπίτι: Βρείτε 5 ραδιοφωνικούς σταθμούς που αξίζει να ακούσετε

Μερικές εργασίες για το σπίτι: Βρείτε 5 ραδιοφωνικούς σταθμούς που αξίζει να ακούσετε
Μερικές εργασίες για το σπίτι: Βρείτε 5 ραδιοφωνικούς σταθμούς που αξίζει να ακούσετε
Μερικές εργασίες για το σπίτι: Βρείτε 5 ραδιοφωνικούς σταθμούς που αξίζει να ακούσετε
Μερικές εργασίες για το σπίτι: Βρείτε 5 ραδιοφωνικούς σταθμούς που αξίζει να ακούσετε

Θα χρειαστούμε έναν σταθμό για κάθε κουμπί. Στην πραγματικότητα, θα χρειαστούμε το url για τον σταθμό. Το πάτημα του κουμπιού θα καλέσει τη διεύθυνση url του διαδικτυακού ραδιοφωνικού σταθμού σε ένα απλό κομμάτι κώδικα μίας γραμμής. Ωστόσο, βρισκόμαστε μπροστά από τον εαυτό μας, ώστε να έχουμε μερικές εργασίες για το σπίτι. βρείτε 5 ραδιοφωνικούς σταθμούς και τα url τους. Η εύρεση 5 ραδιοφωνικών σταθμών δεν είναι δύσκολη, αλλά η εύρεση των url τους μπορεί να είναι δύσκολη. Θα εξηγήσω γιατί σε ένα λεπτό.

Το SomaFm * είναι μια εξαιρετική πηγή για να ξεκινήσετε, ειδικά αν δεν έχετε ιδέα για το τι θέλετε να ακούσετε ακόμα. Έχουν μια μεγάλη ποικιλία εκλεκτικών μουσικών επιλογών, καμία από τις οποίες δεν θεωρώ προσβλητική, χωρίς διαφημίσεις και το καλύτερο μέρος: Μοιράζονται ανοιχτά τα url τους. Για να αποκτήσετε το url, κάντε κλικ σε μια εικόνα του σταθμού που σας ενδιαφέρει και στην αριστερή γραμμή πλοήγησης, κάντε κλικ στην επιλογή "Σύνδεσμοι άμεσης ροής". Από εκεί, βρείτε την ενότητα MP3 και ξύστε τη διεύθυνση url του υψηλότερου ρυθμού αναπαραγωγής (δηλαδή 128 παλμοί 64). Επικολλήστε τη διεύθυνση url σε έναν επεξεργαστή κειμένου ή σημειωματάριο προς το παρόν.

Για παράδειγμα, για το ξύσιμο των Χριστουγεννιάτικων βράχων, το url θα ήταν: (δεν χρειαζόμαστε την περιγραφή του διακομιστή)

ice4.somafm.com/xmasrocks-128-mp3

Γίνεται λίγο dicier έξω από τον κόσμο του SomaFm. Πολλοί σταθμοί χρησιμοποιούν έναν μεσάζοντα μεταξύ του ακροατή και του σταθμού, είτε πρόκειται για διαφήμιση, μάρκετινγκ ή πιθανώς παρακολούθηση - και γενικά προσπαθώ να αποφύγω αυτούς τους τύπους σταθμών. Δεδομένου ότι οι μεσάζοντες προτιμούν να ακούτε τον σταθμό μέσω αυτών, συνήθως είναι αρκετά δύσκολο να βρείτε το url. και εκεί έρχεται ο Vtuner.

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

Βήμα 6: Προαιρετικό: Ξύστε τη διεύθυνση URL χρησιμοποιώντας το Vtuner

Προαιρετικά: Ξύστε τα URL χρησιμοποιώντας το Vtuner
Προαιρετικά: Ξύστε τα URL χρησιμοποιώντας το Vtuner
Προαιρετικά: Ξύστε τα URL χρησιμοποιώντας το Vtuner
Προαιρετικά: Ξύστε τα URL χρησιμοποιώντας το Vtuner

Τώρα έρχεται το διασκεδαστικό μέρος…. Στην αρχική σελίδα του Vtuner, ελέγξτε τον τεράστιο σύνδεσμο λίστας σταθμών τους στην επάνω δεξιά γωνία. Επιλέξτε ένα είδος μουσικής που σας ενδιαφέρει και, στη συνέχεια, ταξινομήστε με τη μεγαλύτερη ταχύτητα, όπου θα δείτε μια λίστα με σταθμούς. Επιλέξτε έναν σταθμό που πιστεύετε ότι σας αρέσει, κάντε κλικ στο κουμπί σύνδεσης ή αναπαραγωγής και δοκιμάστε τη μουσική. Εάν δεν είναι για εσάς, μην ανησυχείτε, επαναλάβετε τη διαδικασία μέχρι να βρούμε ένα κατάλληλο για μακροπρόθεσμη απόλαυση. Στο στιγμιότυπο οθόνης μου, επέλεξα την ψηφιακή ώθηση της μουσικής Country και στην επόμενη οθόνη, παρατήρησα ότι παίζει εκτός Κροατίας. Η Country Music από την Κροατία ακούγεται αρκετά ενδιαφέρον.

Μου αρέσει. Αλλά πώς μπορώ να λάβω το url; Απλώς κάντε δεξί κλικ στο λευκό διάστημα στα δεξιά της εικόνας του σταθμού, κάτω από το όνομα του σταθμού και επιλέξτε "Προβολή πηγής σελίδας" και μετακινηθείτε προς τα κάτω στη περίπου σειρά 150. lookingάχνουμε τη γραμμή που λέει "// Δοκιμάστε να χειριστεί το παγετό ». Και το url βρίσκεται αμέσως από κάτω!

orion.shoutca.st:8110/stream

Αρκετά λεία!

Επαναλάβετε αυτό το βήμα μέχρι να έχουμε τουλάχιστον 5 σταθμούς στη λίστα μας.

Διπλό Προαιρετικό: Για επιπλέον μέτρα, αν μπορείτε να βρείτε 5 είδη μουσικής που σας ενδιαφέρουν (σε αντίθεση με 5 σταθμούς), δημιουργήστε μια λίστα με ραδιοφωνικούς σταθμούς για κάθε είδος και αποθηκεύστε τις λίστες ως αρχεία κειμένου. Θα επανέλθουμε σε αυτό αργότερα.

Βήμα 7: Ρυθμίστε τα κουμπιά μας

Ρυθμίστε τα κουμπιά μας
Ρυθμίστε τα κουμπιά μας
Ρυθμίστε τα κουμπιά μας
Ρυθμίστε τα κουμπιά μας

Το πιο σημαντικό κομμάτι! Ξεσκονίστε το παλιό κολλητήρι ή τουλάχιστον συνδέστε το και ψήστε τη σκόνη. It'sρθε η ώρα του Solder. Χρησιμοποιώ 4 στιγμιαία κουμπιά, κανονικά ανοιχτά. Θα φτιάξω μια σειρά από κουμπιά (αριστερή φωτογραφία) και θα τα στερεώσω σε κάποιο χαρτόνι. Είναι δύσκολο να το πεις στη φωτογραφία, αλλά η κατεύθυνση των ακροδεκτών του κουμπιού είναι όλα βόρεια-νότια. Στη δεξιά πλευρά, μπορείτε να δείτε πού έτρεξα μια ράγα γείωσης για τα καλώδια γείωσης μου και συνδέσα μερικά αρσενικά καλώδια άλματος στην αντίθετη πλευρά κάθε κουμπιού. Αντί για 7 συνδέσεις εδάφους, η ράγα θα μας επιτρέψει να μοιραστούμε μία σύνδεση γείωσης με το pi για όλους. Το τελικό αποτέλεσμα είναι μια λεπτή σανίδα γκοφρέτας που θα τοποθετηθεί κάτω από την κορυφή του ραδιοφώνου χρησιμοποιώντας μερικές βίδες μέσω των παρεχόμενων πιλοτικών οπών. Μόνο οι κορυφές των κουμπιών θα εμφανιστούν μέσα από το αυλάκι που έχω κόψει από την κορυφή. Δεδομένου ότι η επάνω μου επιφάνεια έχει πάχος μόνο 1/4 , θέλω να προσέξω να μην βιδώσω υπερβολικά. Η κόλλα μπορεί να είναι χρήσιμη για να κρατήσω την σανίδα του αρώματος προσαρτημένη στο ραδιόφωνο.

Βήμα 8: Προσδιορίστε τις καρφίτσες GPIO

Προσδιορίστε τις καρφίτσες GPIO
Προσδιορίστε τις καρφίτσες GPIO
Προσδιορίστε τις καρφίτσες GPIO
Προσδιορίστε τις καρφίτσες GPIO

Στο μόνο άλλο διδακτικό μου, παρουσίασα μια νέα χρήση για τα παλιά φωνητικά καπέλα Google AIY έκδοσης 1. Σε αυτό το πολύ δημοφιλές (ή ελάχιστα δημοφιλές) διδακτικό, ανέφερα πόσο εντυπωσιαστήκα με το σχέδιο του ίδιου του καπέλου. Έχω μερικούς ξαπλωμένους, οπότε θα φτιάξω ένα πρωτότυπο χρησιμοποιώντας το καπέλο, καθώς έχει και το dac και τον ενισχυτή.

Ας προσδιορίσουμε τώρα έξι καρφίτσες που θα φιλοξενούν τα πατήματα των κουμπιών μας. Θα σας ζητήσω να εστιάσετε στην αριστερή πλευρά του καπέλου Google AIY, όπου γράφει "servos". Υπάρχει μια στήλη 6 οπών για την καρφίτσα όπου θα τοποθετήσω και θα κολλήσω το αρσενικό κουμπί μου που τελειώνει από το προηγούμενο βήμα μας. Αν εργάζεστε χωρίς το καπέλο φωνής google, μην ανησυχείτε, - η φωτογραφία στα δεξιά θα σας καθοδηγήσει. Σε κάθε περίπτωση θα εργαζόμαστε με τις καρφίτσες gpio (BCM) 26, 06, 13, 05, 12 και 24 από πάνω προς τα κάτω (ή 0-5). Το GPIO #24 θα προορίζεται για ένα προαιρετικό κουμπί παύσης.

Μην ξεχάσετε να συνδέσετε επίσης τη σύνδεση γείωσης.

Βήμα 9: Κωδικός

Αμφιβάλλω ότι ο κώδικας θα αλλάξει πολύ από εδώ, ωστόσο, για την τελευταία έκδοση του κώδικα python, επισκεφτείτε το github μου. Έχω επισυνάψει ένα αντίγραφο από τις 2019-12-18 που ονομάζεται pytiful3.py.

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

Ας ξεκινήσουμε δημιουργώντας ένα sandbox για παιχνίδι. Από τον αρχικό μας κατάλογο, δημιουργήστε έναν κατάλογο στο raspberry pi μας που ονομάζεται kissir:

mkdir kissir/

και αντιγράψτε τα περιεχόμενα του αρχείου pytiful3.py στον κατάλογο ανοίγοντας το δείγμα αρχείου σε έναν επεξεργαστή κειμένου και χρησιμοποιώντας

sudo nano kissir/pytiful3.py

αντιγράψτε / επικολλήστε τα περιεχόμενα του αρχείου στο νεοδημιουργημένο σενάριο python. Μην ξεχάσετε να αποθηκεύσετε το έργο μας χρησιμοποιώντας Ctrl-x, Y και εισαγάγετε.

Εάν θέλετε μια γρήγορη περιήγηση στο σενάριο, εισάγουμε τις ενότητες python που θα χρειαστούμε και, στη συνέχεια, ορίζουμε τα κουμπιά μας και εκχωρούμε μια καρφίτσα gpio σε καθένα από τα 7 κουμπιά. Θα υπάρχουν 5 ραδιοφωνικοί σταθμοί (μη διστάσετε να επεξεργαστείτε ανάλογα με τις προτιμήσεις σας), ένα κουμπί διακοπής και ένα κουμπί τερματισμού λειτουργίας. Ο αληθινός βρόχος while τρέχει και εκτελείται μέχρι να πατηθεί ένα κουμπί, το οποίο στις περισσότερες περιπτώσεις θα σταματήσει οποιαδήποτε υπάρχουσα αναπαραγωγή mpg123 και θα ξεκινήσει την αναπαραγωγή του σταθμού που έχει ανατεθεί στο κουμπί που πατήθηκε. Το κουμπί παύσης/διακοπής δεν είναι πραγματικά ένα κουμπί παύσης, αλλά περισσότερο ένας διακόπτης kill, καθώς δεν μπορούμε να θέσουμε σε παύση το ραδιόφωνο στο Διαδίκτυο. Το διαδικτυακό ραδιόφωνο δεν περιμένει κανέναν.

Βήμα 10: Δοκιμή στο Sandbox μας

Δοκιμή στο Sandbox μας
Δοκιμή στο Sandbox μας

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

python3 pytiful3.py

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

Το Ctrl-C θα διακόψει το σενάριο εάν χρειαστεί να ακυρώσετε.

Αν δείτε λοιπόν "Πατήστε ένα κουμπί", τι περιμένουμε; Επιλέξτε οποιοδήποτε από τα πέντε κουμπιά του ραδιοφωνικού μας σταθμού.

Οι πιθανότητες είναι ότι πιθανότατα θα ακούσετε ένα ηχείο να ξεκινά την αναπαραγωγή μουσικής και δεν μπορώ να βοηθήσω προς το παρόν σε αυτό. Το Mpg123 επιτρέπει την κατάληξη "--φόρτωση 1" μετά τη διεύθυνση του σταθμού στην εντολή os.system, ωστόσο δεν μπορούσα να καταλάβω αν έκανε τη διαφορά. Θα πρέπει να επιτρέπει ένα ελαφρύ buffer.

Ένα άλλο κομμάτι κώδικα που ίσως έχετε αναρωτηθεί: υπάρχει μια σημαία "-f 7000" μετά την κλήση mpg123. Αυτό μειώνει την ένταση σε μεγάλη απόσταση μέγιστης έντασης. Ο πλήρης όγκος θα είναι 32K. Όπως καταλαβαίνω, η κλίμακα έντασης δεν είναι μια γραμμική κλίμακα, οπότε δεν μπορώ να πω ότι είναι μόνο το ένα πέμπτο της μέγιστης έντασης, αλλά ακόμα πολύ δυνατά. Έπρεπε να το κάνω αυτό επειδή η κάρτα ήχου μου - η φωνητική κάρτα Google AIY, δεν παίζει ωραία με το Alsamixer μερικές φορές.

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

Βήμα 11: Ρυθμίστε τον κώδικα μας για να εκτελείται αυτόματα κατά την εκκίνηση

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

sudo cp pytiful3.py/usr/local/bin/

Κάντε το εκτελέσιμο:

sudo chmod +x /usr/local/bin/pytiful3.py

Γράψτε ένα σενάριο κελύφους για να το εκτελέσετε κατά την εκκίνηση:

sudo nano pytiful3.sh

Και εισάγετε το ακόλουθο κείμενο:

#! /bin/sh ### BEGIN INIT INFO # Provides: pytiful3.py # Required-Start: $ remote_fs $ syslog # Required-Stop: $ remote_fs $ syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### ΤΕΛΟΣ ΕΙΣΟΔΟΣ ΠΛΗΡΟΦΟΡΙΕΣ # βεβαιωθείτε ότι η ένταση του ήχου δεν είναι δυνατή &;; διακοπή) ηχώ "Διακοπή pytiful3.py" pkill -f /usr/local/bin/pytiful3.py;; *) ηχώ "Χρήση: /etc/init.d/pytiful3.sh {start | stop}" έξοδος 1;; έξοδος esac 0

Μετακινήστε το στο init.d:

sudo mv pytiful3.sh /etc/init.d/

Κάντε το εκτελέσιμο:

sudo chmod +x /etc/init.d/pytiful3.sh

Καταχωρίστε το σενάριο για εκτέλεση κατά την εκκίνηση:

sudo update-rc.d pytiful3.sh προεπιλογές

Βήμα 12: Δοκιμή ξανά

Τώρα που έχουμε φορτώσει το σενάριό μας για εκκίνηση, θυμηθείτε μόνο ότι οποιεσδήποτε αλλαγές κάνουμε πρέπει να μεταφερθούν στον κάδο χρηστών και το όμορφο σενάριό μας kissir/pytiful3.py είναι απλώς ένα ορφανό τώρα. Αλλά από τη θετική πλευρά, έχουμε ακόμα ένα sandbox για να παίξουμε. Πιθανότατα θα συνεχίσω να παίζω με το σενάριο, θα κάνω αλλαγές και θα το αποθηκεύσω ως νέα έκδοση στο εγγύς μέλλον. Είναι ακόμα ένα έργο εργασίας.

Ας κάνουμε επανεκκίνηση, περιμένουμε την επανεκκίνηση του pi και μετά από περίπου ένα λεπτό, πατάμε ξανά ένα κουμπί.

Εάν η ένταση του ήχου σας είναι πολύ χαμηλή, θυμηθείτε ότι έχουμε ένταση alsamixer στο 50%, ώστε να μπορούμε να την αυξήσουμε ανάλογα από τη γραμμή εντολών.

Για αρχάριους, ένα πράγμα που χρειάζεται είναι μια συνολική τιμή όγκου, αντί να χρειαστεί να αλλάξετε το επίπεδο έντασης 5 διαφορετικές φορές.

Γεια, τι γίνεται με αυτήν τη λίστα ραδιοφωνικών σταθμών που φτιάξαμε στο βήμα #6; Λοιπόν, αποδεικνύεται ότι το MPG123 έχει μια εντολή τυχαίας επιλογής. Είναι τόσο απλό όσο η δημιουργία μιας λίστας url σταθμών και αντί να καλείτε ένα url ραδιοφωνικού σταθμού, χρησιμοποιήστε το

"btn1234_choice = random.choice (btn1234)", αμέσως μετά τον προσδιορισμό της λίστας των σταθμών μας, όπου btn1234_choice είναι η λίστα μας. Μην ξεχάσετε να χρησιμοποιήσετε αγκύλες γύρω από τη λίστα των σταθμών μας που χωρίζονται με κόμματα. Στη συνέχεια, η κλήση εντολής υποεπεξεργασίας αναπαράγει την τυχαία επιλογή μας:

subprocess.call (['mpg123', '-q', btn1234_choice, "--φόρτωση 1"])

Βήμα 13: Πλαίσιο, και τελειώσαμε

Πλαίσιο, και τελειώσαμε
Πλαίσιο, και τελειώσαμε
Πλαίσιο, και τελειώσαμε
Πλαίσιο, και τελειώσαμε
Πλαίσιο, και τελειώσαμε
Πλαίσιο, και τελειώσαμε

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

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

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

Βρήκα αυτό το έργο πολύ διασκεδαστικό. Και τις δύο φορές. Σίγουρα δεν είναι ένα δύσκολο έργο, ίσως λίγο χρονοβόρο αλλά πολύ ανταποδοτικό. Ελπίζω να απολαύσετε επίσης την ακρόαση σας.

Συνιστάται: