Taula de continguts:
- Subministraments
- Pas 1: Configuració (sense cap) de Raspberry Pi W
- Pas 2: instal·leu el programari de ràdio sènior
- Pas 3: instal·leu programari addicional
- Pas 4: cerqueu reproduccions d’emissores de ràdio
- Pas 5: Creeu circuits
- Pas 6: proveu-ho
- Pas 7: poseu-lo en un recinte permanent
- Pas 8: configureu el programa per executar-lo a l'inici
Vídeo: Ràdio sènior: Raspberry Pi: 8 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
El projecte de ràdio sènior és un dispositiu de ràdio per internet accessible de codi obert dissenyat amb components tant de maquinari com de programari. Està destinat a ser utilitzat per a usuaris familiaritzats amb el control d’una ràdio de butxaca on els dials controlen el volum i l’estació de ràdio seleccionada. El projecte es fa amb un disseny centrat en l’usuari, centrat en un usuari que vol una mida i controls similars a la d’una ràdio de mà estàndard.
Es va crear per satisfer les necessitats de permetre que les persones amb discapacitat poguessin escoltar els milers de continguts de transmissió d’Internet diferents que normalment normalment només estan disponibles a través d’un navegador d’Internet. Moltes persones no tenen la possibilitat d’utilitzar aquest dispositiu fàcilment, de manera que aquest disseny pretén fer una interfície familiar per a una tecnologia moderna.
La funcionalitat principal es troba a Github, emmagatzemada en un programa Python 3.7.3 anomenat seniorRadio.py. Llegeix i escriu un fitxer json per emmagatzemar l’estat de la ràdio, de manera que quan l’apagueu recordarà el nivell d’àudio actual i l’estació seleccionada. A més, es llegeix un fitxer json allotjat en línia que podeu canviar. Això us permet actualitzar les estacions de ràdio de manera remota si ho doneu a algú més.
Actualment està creat per connectar-se a un altaveu bluetooth, però també es pot fer que reprodueixi un altaveu integrat.
És probable que el creador d’aquest dispositiu no sigui l’usuari i necessiti almenys una mica d’experiència en electrònica i coneixements bàsics de programació. L’experiència de Linux també és molt útil.
Per a l'usuari, la funcionalitat és senzilla:
En engegar, reproduirà l'última emissora seleccionada al dispositiu d'àudio predeterminat. El dial esquerre controla l'estació, on uns quants clics del dial es converteixen en un URL nou. Es desplaçarà després de la darrera o primera entrada. El dial dret controla el nivell d'àudio. El LED indica que el programa està encès. I el polsador posa en pausa o "apaga" la ràdio. Per tant, un cop engegat, l’usuari només pot prémer el botó per aturar / reproduir o “apagar / encendre”, la ràdio i els dos dials per controlar-la.
Subministraments
Enllaçat a cada element hi ha l’específic que he utilitzat. Em costen uns 60 dòlars en total, amb sobres de subministraments.
Coneixements bàsics d’electrònica i Linux: per al muntatge i la depuració
Raspberry Pi Zero W (Zero WH té capçaleres pre-soldades i probablement útils)
Targeta MicroSD de 8 GB + i capacitat o
Adaptador d'alimentació MicroUSB 5V: l'enllaç també inclou adaptador microHDMI i adaptador microUSB OTG a USB A per configurar-los si els necessiteu
Altaveu Bluetooth
Cables de pont M / F i M / M
2 Codificador rotatiu: el mateix enllaç que l'anterior
Tauleta reduïda
Polsador
LED (opcional): comprat LED + polsador superior
Caixa per envasar
Pas 1: Configuració (sense cap) de Raspberry Pi W
Hem de configurar el sistema operatiu al raspberry pi que executarà el programari. Res d’això no és exclusiu d’aquest projecte. Per a la depuració, us recomanaria configurar-lo perquè també hi pugueu accedir en mode sense cap. Això vol dir que accediu al pi mitjançant la vostra xarxa WiFi a través de la interfície gràfica d’usuari o d’un terminal SSH i no necessiteu teclat, ratolí i monitor per utilitzar-lo cada cop. Podeu fer-ho sense necessitat de connectar-vos mai a un monitor / ratolí / teclat si teniu més experiència en tecnologia. Alguns exemples d’instruccions aquí. Tanmateix, és menys senzill i a sota hi ha una altra manera de configurar-lo.
Aquesta primera vegada és probable que necessiteu:
- Raspberry Pi W
- Adaptador de targeta MicroSD a SD [per escriure el sistema operatiu a la targeta SD]
- Targeta MicroSD (~ 8 GB +) [per emmagatzemar el sistema operatiu i el nostre programa]
- Potència MicroUSB (5V)
- MicroUSB a USB A [per a ratolí / teclat]
- Adaptador Mini HDMI a HDMI [per a sortida de pantalla]
- Teclat
- Ratolí
- Monitor
En primer lloc, haureu de fer flaixar el sistema operatiu a la targeta micro SD rPi.
He utilitzat raspian buster, el descarregueu a un ordinador amb una lectura / escriptura de targeta SD i, a continuació, feu flipar el sistema operatiu raspian a la targeta SD. BalenaEtcher és un programari fàcil per fer-ho
A continuació, poseu la targeta SD a la ranura pi, connecteu el monitor, el teclat i l’alimentació. Seguiu els passos de configuració que us demana raspian, inclosa la connexió a la vostra xarxa WiFi i l’aparellament de l’altaveu bluetooth a través de la interfície gràfica d’usuari. Una bona pràctica seria actualitzar-lo mitjançant les ordres següents
sudo apt-get update
sudo apt-get upgrade
Si voleu incloure el marcatge de pi sense cap, haurem d’agafar primer l’adreça IP del pi. A través d 'un terminal el podeu trobar a través de
ifconfig
comandament. A continuació, haureu d'activar SSH i VNC a través de les opcions d'interfície de
sudo raspi-config
Després d'un reinici, ara podeu provar l'accés al pi mitjançant SSH o VNC. SSH és només una interfície de terminal i és possible que sigui més fàcil utilitzar la interfície gràfica d’usuari per emparellar un altaveu bluetooth. Podeu utilitzar un programa com connectar-vos a VNC per accedir fàcilment al vostre pi en un equip separat de la vostra xarxa. Podeu utilitzar-hi un programa com massilla a SSH.
A més, podeu configurar un compte al núvol de VNC perquè pugueu accedir al dispositiu des de la xarxa si cal
Pas 2: instal·leu el programari de ràdio sènior
Això es pot fer des d'una finestra terminal del raspberry pi. Primer assegureu-vos que teniu git instal·lat
sudo apt-get install git
Depenent del sistema operatiu que hàgiu instal·lat, aquests passos poden ser diferents ja que és possible que hàgiu d'instal·lar paquets addicionals, el sistema us indicarà si és així. Primer cal descarregar el codi de ràdio sènior de github. https://github.com/Bunborn/seniorRadio L’ideal seria que feu la nostra pròpia reposició perquè pugueu fer canvis i canviar fàcilment les emissores de ràdio de la mateixa manera que jo. Forqueu la reposició si és així
Tanmateix, podeu utilitzar el mateix que el meu sense cap problema si voleu allotjar el fitxer json de ràdio en un altre lloc
A continuació, cloneu la reposició a la ubicació que vulgueu. El directori per defecte està bé. Per obtenir l'URL del repositori de github que vulgueu, feu clic al botó de clonació o descàrrega verd.
De nou a la finestra del terminal, git clonar
Ara hauríeu de veure un directori addicional anomenat seniorRadio quan busqueu ls. Fantàstic!
El codi es vol autodocumentar, seria útil fer-hi una ullada. Especialment per a finalitats de depuració i si canvieu el sistema.
Pas 3: instal·leu programari addicional
Abans de passar al circuit i provar-lo, també hem de descarregar-lo VLC i l’api python. És possible que ja tingueu instal·lat VLC. Les dues primeres ordres actualitzaran el pi, i les dues darreres ordres següents instal·laran VLC i, a continuació, l’api python
sudo apt-get update
sudo apt-get upgrade
sudo snap instal·la VLC
sudo apt-get install vlc-python
A més, també instal·leu gpiozero, que utilitzarem per a la interfície amb els pins GPIO del pi. És possible que ja el tingueu instal·lat en funció del vostre sistema operatiu.
sudo apt-get install gpiozero
Pas 4: cerqueu reproduccions d’emissores de ràdio
A continuació, una de les parts més divertides! És hora de seleccionar els fluxos que vulgueu.
Al meu fitxer internetStations.json podeu veure els enllaços del meu flux, principalment per a notícies i música. Però hi ha un munt de contingut allotjat. La clau aquí és trobar l'adreça URL del flux directe. Per exemple, les estacions de notícies i música de la BBC es poden trobar aquí en aquest bloc. Aquests fluxos directes no tindran cap interfície gràfica i es reproduiran automàticament a través del reproductor multimèdia del navegador. Aquests són els URL que necessitem perquè VLC els pugui llegir. Podeu provar qualsevol enllaç ràpidament a la vostra pàgina web o mitjançant VLC al vostre ordinador normal per assegurar-vos que funcionarà al pi.
Per trobar aquestes estacions, podeu cercar la transmissió directa en línia si el servei l’allotja. Una manera ràpida també podria ser reproduir el flux, fer clic amb el botó dret del ratolí al navegador i prémer "inspecciona l'element". Aneu a la pestanya de xarxa i hauria d'indicar l'URL "directe" del flux. Aquest vídeo de youtube ho demostra. Actualitzar la pàgina amb la pestanya oberta hauria d’ajudar.
Un cop tingueu les vostres estacions, les voleu posar en línia perquè el vostre programa python seniorRadio les pugui agafar. Hi ha moltes opcions per fer-ho, podeu utilitzar llocs com Github, bitbucket o fins i tot sourceforge. L’objectiu principal d’allotjar aquesta llista en línia és que l’usuari que la configuri pugui canviar la llista de transmissions en línia de forma remota.
Al començament del programa Python hi ha una variable anomenada URL, simplement canvieu-la perquè sigui l'URL del fitxer json amb els enllaços d'URL de l'estació
Podeu seguir el mateix format que el meu fitxer internetStation.json. Si volíeu fer servir també github, podríeu simplement bifurcar el meu dipòsit seniorRadio i editar el vostre propi fitxer internetStation.json i apuntar-lo a aquest URL "cru". Podeu trobar-ho a continuació a la interfície gràfica d’usuari de Github un cop heu fet clic al fitxer.
Pas 5: Creeu circuits
Ara hem de configurar el circuit. Això canviarà en funció del vostre equip, però a continuació es mostra com he configurat el meu.
pinout.xyz/ com a referència sobre quins pins són quins. Com que fem servir la biblioteca gpiozero, només ens preocupa la numeració de pins BCM. Tingueu en compte que he comprat uns quants codificadors rotatius KY040 addicionals, els dials, per provar-los, ja que no tots tenen la mateixa precisió. Cadascun tindria una sortida "rebotant" o simplement incorrecta, així que vaig escollir la millor de les dues que tenia. Al codi, observareu que també hi ha alguns passos per limitar aquest rebot.
Vaig connectar el meu polsador al pin 17 i a terra de BCM
El meu LED a una resistència de 1k ohm, a continuació, el pin 27 BCM i terra
Els meus codificadors rotatius KY040 tenien el cable + a 5 V, el GND a terra i el SW desconnectat. Aquests es van connectar a través d'una mini taula
Pin dt del codificador rotatiu de l'estació connectat al pin 21 de BCM
Pin clk del codificador rotatiu de l'estació connectat al pin 20 de BCM
Pin de codificador rotatiu de nivell d’àudio connectat al pin 19 de BCM
Pin clk del codificador rotatiu de nivell d’àudio connectat al pin 16 de BCM
Si canvieu aquests pins, només cal que actualitzeu el número del programa python, on també s'estableix el controlador
Vaig fer servir una mini taula per facilitar-ho. També he utilitzat cables de pont M / M i M / F per facilitar la interfície. He soldat alguns cables de pont als passadors del polsador / LED que he comprat anteriorment. Per no soldar-se, podríeu obtenir botons i LEDs que ja tinguin cables de pont o que es connectin fàcilment a un.
Pas 6: proveu-ho
Ara hauríeu de tenir un sistema que funcioni. Provem-ho. Aneu a la carpeta amb el programa python, probablement:
cd seniorRadio
python3 seniorRadio.py
Actualment, hi ha un retard de 45 segons a l'inici del programa per donar-li temps a trobar l'altaveu bluetooth encès. Podeu comentar aquesta línia si no la necessiteu durant les proves. És possible que el programa us indiqui que heu d’instal·lar paquets addicionals, si és així, endavant. També pot ser que hagueu d’instal·lar una versió més nova de Python.
sudo apt-get install python3.7
Alguns problemes possibles, fins i tot si s'executa el programa:
No sento cap so
Assegureu-vos que l’altaveu està activat i seleccionat al raspberry pi. A través de la interfície gràfica d’usuari hauríeu de poder aparellar-lo i seleccionar-lo com a dispositiu de sortida d’àudio. A més, comproveu els controladors d'àudio. Un problema habitual és que potser haureu de tornar a instal·lar el paquet pulseaudio
Àudio entrecortat o retallat
Proveu d’apropar el dispositiu al vostre encaminador WiFi. A més, assegureu-vos que l’altaveu bluetooth és a prop. També podria ser un problema amb el controlador d'àudio
Pas 7: poseu-lo en un recinte permanent
A continuació, col·loqueu-lo en una caixa o dispositiu similar perquè visqui permanentment. Us recomano tenir-ne una a la qual pugueu accedir més endavant per depurar-la. Vaig aconseguir aquesta petita caixa de fusta en una botiga d'artesania per 2 dòlars i la vaig enllaçar a la pàgina de subministraments. Un dels meus amics em va recomanar una caixa de cigars.
Després vaig tallar forats a la part davantera del polsador i dels interruptors rotatius i vaig perforar un forat a la part posterior de la caixa per al cable d’alimentació microUSB.
Vaig provar el muntatge i vaig assegurar-me que funcionés, i voilà!
Finalment, he utilitzat la súper cola per mantenir premut el polsador. La meva taula tenia un adhesiu a la part inferior que connectava a una part de la caixa. Vaig utilitzar una petita tira de cinta adhesiva per fixar la part posterior del pi a la caixa, de manera que es pogués moure més tard si fos necessari.
Pas 8: configureu el programa per executar-lo a l'inici
Finalment, és probable que vulgueu que aquest programa python s’executi a l’inici del raspberry pi, de manera que no cal que ho feu manualment. Hi ha moltes maneres de fer-ho que podeu trobar en línia.
Personalment, el vaig configurar utilitzant la segona manera d’aquest tutorial de SparkFun:
Aquí espera que el sistema entri a l'escriptori gràfic abans d'executar el programa. Després, el programa Python retarda 45 segons per donar temps al sistema de tornar a connectar-se a l'altaveu bluetooth. Si feu servir un altaveu integrat, podeu eliminar aquest retard. Tingueu en compte que l’altaveu bluetooth hauria d’estar encès primer. (per a la solució bluetooth)
Ara podeu provar d’apagar i tornar a engegar el vostre pi. Al cap d'uns 90 segons, el vostre pi hauria de començar a reproduir les seqüències de ràdio una vegada més. En prémer el botó, es posarà en pausa / reproducció. Nota sobre aquests reinicis, torna a llegir aquell fitxer json d’InternetStations, de manera que si canvieu d’estació, heu de reiniciar el dispositiu perquè funcioni. Enhorabona!
Si heu fet això o heu fet modificacions al projecte, feu-m'ho saber.
Pàgina de Github:
Recomanat:
Ràdio d'Internet alimentada per Raspberry Pi: 5 passos (amb imatges)
Ràdio per Internet amb tecnologia Raspberry Pi: hi ha alguna cosa satisfactòria en girar els dials i prémer botons, com els de les ràdios antigues. Lamentablement, moltes d'aquestes ràdios estan trencades o les estacions han quedat en silenci. Afortunadament, no és massa difícil actualitzar cap ràdio a una ràdio per Internet mitjançant
Ràdio FM amb RDS (text de ràdio), control BT i base de càrrega: 5 passos
Ràdio FM amb RDS (text de ràdio), base de control i càrrega BT: Bonjour, aquest és el meu segon "Instructables". Com m'agrada fer coses poc útils, aquí teniu el meu darrer projecte: Aquesta és una ràdio FM amb text de ràdio amb una base de càrrega i que es pot controlar mitjançant Bluetooth i un APPT d'Android. Per tant, ho faré
EL PERNIL BARAT - CONVERTEIX UNA RÀDIO DE MÀ EN UNA RÀDIO MILEBIL: 6 passos
EL PERNIL BARAT - CONVERTEIX UNA RÀDIO MÀNICA EN UNA RÀDIO MILEBIL: la ràdio pernil mòbil amb un pressupost reduït? Sí, es pot fer amb certa creativitat. Hi ha una gran quantitat de ràdios de mà xineses barates. Al seu torn, aquestes ràdios noves i econòmiques han fet baixar els preus de l’engranatge de pernil usat de qualitat. Una altra cosa que s'afegeix
Ràdio per Internet / Ràdio web amb Raspberry Pi 3 (sense cap): 8 passos
Ràdio per Internet / Ràdio web amb Raspberry Pi 3 (sense cap): HI: Voleu allotjar la vostra pròpia ràdio a Internet, aleshores esteu al lloc adequat. Intentaré elaborar el màxim possible. He provat diverses maneres en què la majoria necessitaven una targeta de so que em vaig resitir a comprar. però va aconseguir fi
Comandament a distància sènior: 5 passos (amb imatges)
Comandament per a majors: modifiqueu el comandament del televisor de la vostra mare per fer-lo més amable. La meva mare va néixer el 1931. Ella és de la generació de ràdio i de la Segona Guerra Mundial. La seva vista està fallant i no és bona amb res electrònic. Els comandaments a distància de TV la confonen. Aquesta modificació em va venir després que ella