Cuprins:
- Provizii
- Pasul 1: Configurare (fără cap) Raspberry Pi W
- Pasul 2: Instalați software Radio Senior
- Pasul 3: Instalați software suplimentar
- Pasul 4: Găsiți fluxuri de posturi de radio
- Pasul 5: Creați circuite
- Pasul 6: Testează-l
- Pasul 7: introduceți într-o incintă permanentă
- Pasul 8: Configurați programul pentru a rula la pornire
Video: Radio Senior - Raspberry Pi: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Proiectul Senior Radio este un dispozitiv radio de internet accesibil cu sursă deschisă, cu componente hardware și software. Este destinat utilizării utilizatorilor familiarizați cu controlul unui radio de buzunar unde cadranele controlează volumul și postul de radio selectat. Proiectul este realizat cu un design centrat pe utilizator, axat pe un utilizator care dorește o dimensiune similară și controlează ca un radio portabil standard.
A fost construit pentru a satisface nevoile de a permite persoanelor cu dizabilități să poată asculta mii de conținut diferit de streaming pe internet, care este de obicei disponibil numai în mod normal printr-un browser de internet. Mulți oameni nu au capacitatea de a utiliza cu ușurință un astfel de dispozitiv, așa că acest design își propune să creeze o interfață familiară pentru o tehnologie modernă.
Funcționalitatea de bază este pe Github, stocată într-un program Python 3.7.3 numit seniorRadio.py. Citește și scrie un fișier json pentru a stoca starea radioului, așa că, atunci când îl opriți, își va aminti nivelul audio actual și stația selectată. În plus, citește un fișier json găzduit online pe care îl puteți schimba! Acest lucru vă permite să actualizați posturile de radio de la distanță dacă dați altcuiva acest lucru.
În prezent, este creat pentru a vă conecta la un difuzor bluetooth, dar ar putea fi ușor făcut să redați și un difuzor de la bord.
Este posibil ca creatorul acestui dispozitiv să nu fie utilizatorul și are nevoie de cel puțin o experiență în electronică și cunoștințe de bază de programare. Experiența Linux este, de asemenea, foarte utilă.
Pentru utilizator, funcționalitatea este simplă:
La pornire, acesta va reda ultima stație selectată pe dispozitivul audio implicit. Cadranul din stânga controlează stația, unde câteva clicuri ale cadranului se transformă într-o nouă adresă URL. Se va răsturna după ultima sau prima intrare. Cadranul din dreapta controlează nivelul audio. LED-ul indică faptul că programul este pornit. Iar butonul pune în pauză sau „oprește” radioul. Deci, odată pornit, un utilizator poate doar să apese butonul pentru a întrerupe / reda sau „opri / porni”, radioul și cele două cadrane pentru al controla.
Provizii
Legat pe fiecare articol este cel specific pe care l-am folosit. Costă-mă în jur de 60 $ în total, cu o mulțime de provizii rămase!
Cunoștințe electronice și linux de bază - pentru asamblare și depanare
Raspberry Pi Zero W (Zero WH are anteturi pre-lipite și probabil utile)
Card MicroSD-8 GB + și capacitate o
Adaptor de alimentare MicroUSB 5V - Link include și adaptor microHDMI și adaptor microUSB OTG la USB A pentru configurare dacă aveți nevoie de ele
difuzor Bluetooth
Cabluri jumper M / F și M / M
2 Codificator rotativ - aceeași legătură ca mai sus
Pană mică
Apasa butonul
LED (opțional) - LED cumpărat + buton de mai sus
Cutie pentru ambalare
Pasul 1: Configurare (fără cap) Raspberry Pi W
Trebuie să configurăm sistemul de operare pe raspberry pi care va rula software-ul. Nimic din toate acestea nu este unic pentru acest proiect. Pentru depanare, aș recomanda configurarea, astfel încât să o puteți accesa și în modul fără cap. Aceasta înseamnă că accesați pi-ul prin rețeaua WiFi prin GUI sau un terminal SSH și nu aveți nevoie de tastatură, mouse și monitor pentru ao utiliza de fiecare dată. Ați putea face acest lucru fără a fi nevoie să vă conectați vreodată la un monitor / mouse / tastatură dacă sunteți mai pricepuți la tehnologie. Câteva exemple de instrucțiuni aici. Cu toate acestea, este mai puțin direct și mai jos este o altă modalitate de configurare.
La prima dată va trebui probabil:
- Raspberry Pi W
- Adaptor de card MicroSD la SD [pentru a scrie OS pe cardul SD]
- Card MicroSD (~ 8 GB +) [pentru a stoca sistemul de operare și programul nostru]
- Putere MicroUSB (5V)
- MicroUSB la USB A [pentru mouse / tastatură]
- Adaptor Mini HDMI la HDMI [pentru ieșire afișaj]
- Tastatură
- Șoarece
- Monitor
Mai întâi, va trebui să blocați sistemul de operare pe cardul micro SD rPi.
Am folosit raspian buster, descărcați acest lucru pe un computer cu o citire / scriere a cardului SD și apoi blocați sistemul de operare raspian pe cardul SD. BalenaEtcher este un software ușor pentru a face acest lucru
Apoi puneți cardul SD în slotul pi, conectați monitorul, tastatura și alimentarea. Continuați pașii de configurare la care vă solicită raspian, inclusiv conectarea la rețeaua WiFi și asocierea difuzorului Bluetooth prin interfața grafică. O bună practică ar fi actualizarea acestuia folosind următoarele comenzi
sudo apt-get update
sudo apt-get upgrade
Dacă doriți să includeți marcarea pi fără cap, va trebui să luăm mai întâi adresa IP a pi. Printr-un terminal îl puteți găsi prin
ifconfig
comanda. Apoi, trebuie să activați SSH și VNC peste opțiunile de interfață din
sudo raspi-config
După o repornire, puteți testa acum accesarea pi prin SSH sau VNC. SSH este doar o interfață terminală și este posibil să vă fie mai ușor să utilizați interfața grafică pentru a împerechea un difuzor bluetooth. Puteți utiliza un program precum conectarea VNC pentru a accesa cu ușurință pi pe un computer separat din rețeaua dvs. Puteți utiliza un program precum chit pentru SSH în el.
În plus, puteți configura un cont cloud VNC, astfel încât să puteți accesa dispozitivul din rețea, dacă este necesar
Pasul 2: Instalați software Radio Senior
Acest lucru se poate face de la o fereastră terminală a raspberry pi. Mai întâi asigurați-vă că ați instalat git
sudo apt-get install git
În funcție de sistemul de operare pe care l-ați instalat, acești pași pot fi diferiți, deoarece poate fi necesar să instalați pachete suplimentare, sistemul vă va spune dacă da. Mai întâi trebuie să descărcăm codul radio senior de pe github. https://github.com/Bunborn/seniorRadio În mod ideal, vă creați propria repo, astfel încât să puteți face schimbări și să schimbați cu ușurință posturile de radio în același mod ca și mine. Furcați repo, dacă da
Cu toate acestea, puteți utiliza același lucru ca al meu, fără probleme, dacă doriți să găzduiți fișierul radio json într-un alt loc
Apoi clonați repo în orice locație doriți să fie. Directorul implicit este în regulă. Obțineți adresa URL pentru care doriți repo github apăsând pe butonul de clonare verde sau de descărcare.
Înapoi în fereastra terminalului, git clonează
Acum ar trebui să vedeți un director suplimentar numit seniorRadio atunci când căutați folosind ls. Fantastic!
Codul este menit să se autodocumentează, ar fi util să aruncăm o privire prin el. Mai ales în scopuri de depanare și dacă schimbați sistemul.
Pasul 3: Instalați software suplimentar
Înainte de a trece la circuit și de a-l testa, trebuie să descărcăm VLC și API-ul Python pentru acesta. Este posibil să aveți deja instalat VLC. Primele două comenzi vor actualiza pi, iar ultimele două comenzi de mai jos vor instala VLC și apoi API-ul python
sudo apt-get update
sudo apt-get upgrade
sudo snap instalează VLC
sudo apt-get install vlc-python
În plus, instalați și gpiozero, pe care îl vom folosi pentru a interfața cu pinii GPIO ai lui pi. Este posibil să îl aveți deja instalat în funcție de sistemul de operare.
sudo apt-get install gpiozero
Pasul 4: Găsiți fluxuri de posturi de radio
În continuare, una dintre cele mai distractive părți! Este timpul să selectați ce fluxuri doriți.
În fișierul meu internetStations.json puteți vedea link-urile mele de flux, în principal pentru știri și muzică. Dar există o mulțime de conținut găzduit acolo. Cheia aici este să găsiți adresa URL a fluxului direct. De exemplu, posturile de știri și muzică BBC pot fi găsite aici pe acest blog. Aceste fluxuri directe nu vor avea nicio interfață grafică și vor reda automat fluxul prin playerul media al browserului. Acestea sunt adresele URL de care avem nevoie pentru ca VLC să le poată citi! Puteți testa rapid orice link din browserul dvs. web sau prin VLC pe computerul normal pentru a vă asigura că va funcționa pe pi.
Pentru a găsi aceste stații, puteți căuta fluxul direct online dacă serviciul îl găzduiește. O modalitate rapidă ar putea fi, de asemenea, să redați fluxul, să faceți clic dreapta pe browser și să apăsați „inspect element”. Navigați la fila de rețea și aceasta ar trebui să indice URL-ul „direct” al fluxului. Acest videoclip de pe YouTube demonstrează acest lucru. Reîmprospătarea paginii cu fila deschisă ar trebui să vă ajute.
Odată ce aveți stațiile dvs., doriți să le puneți online, astfel încât programul dvs. seniorRadio python să le poată lua. Există multe opțiuni pentru a face acest lucru, puteți utiliza site-uri precum Github, bitbucket sau chiar sourceforge. Scopul principal al găzduirii acestei liste online este ca utilizatorul care o configurează să poată modifica lista de fluxuri online de la distanță.
La începutul programului python există o variabilă numită url, pur și simplu schimbați aceasta pentru a fi adresa URL a fișierului dvs. json cu legăturile URL ale stației
Puteți urma același format ca fișierul meu internetStation.json. Dacă vrei să folosești și github, poți pur și simplu să îmi găsești depozitul seniorRadio și să-ți editezi propriul fișier internetStation.json și să-l direcționezi către acel URL „brut”. Puteți găsi acest lucru mai jos în interfața grafică Github după ce ați făcut clic pe fișier.
Pasul 5: Creați circuite
Acum trebuie să configurăm circuitul. Acest lucru se va schimba în funcție de echipamentul dvs., dar mai jos este modul în care am configurat-o pe a mea.
pinout.xyz/ pentru referință pe care sunt ace. Deoarece folosim biblioteca gpiozero, ne preocupă doar numerotarea pinului BCM. Rețineți că am cumpărat câteva codificatoare rotative KY040 suplimentare - cadranele - pentru a le testa, deoarece nu toate au aceeași precizie. Fiecare ar avea o ieșire „bouncing” sau pur și simplu incorectă, așa că am ales cel mai bun dintre cele două pe care le-am avut. În cod, veți observa că există câțiva pași pentru a limita și acest salt.
Mi-am conectat butonul la pinul BCM 17 și la masă
LED-ul meu la un rezistor de 1k ohm, apoi pinul BCM 27 și la sol
Codificatoarele mele rotative KY040 aveau cablul + la 5V, GND la sol și SW deconectat. Acestea au fost conectate printr-o mini placă de măsurare
Cod pin rotativ pentru stație conectat la pinul 21 BCM
Cod pin rotativ al codului stației conectat la pinul 20 BCM
Pin de cod audio rotativ de nivel audio conectat la pinul 19 BCM
Cod PIN rotativ de cod audio conectat la pinul BCM 16
Dacă schimbați acești pini, trebuie doar să actualizați numărul din programul python, de asemenea, în cazul în care acesta configurează gestionarele
Am folosit o mini placă pentru a ușura acest lucru. Am folosit și fire jumper M / M și M / F pentru a facilita interfața. Am lipit niște fire de jumper pe știfturile butonului / LED-ului pe care le-am cumpărat mai devreme. Pentru a nu lipi, puteți obține butoane și LED-uri care au deja cabluri de sârmă sau se vor conecta cu ușurință la unul.
Pasul 6: Testează-l
Acum, ar trebui să aveți un sistem funcțional! Să testăm. Navigați la folderul cu programul python, probabil:
cd seniorRadio
python3 seniorRadio.py
În prezent, există o întârziere de 45 de secunde la începutul programului pentru a-i da timp să găsească difuzorul bluetooth la pornire. Puteți comenta această linie dacă nu aveți nevoie de ea în timpul testării. Programul vă poate spune că trebuie să instalați pachete suplimentare, continuați dacă da. Poate fi necesar, de asemenea, să instalați o versiune mai nouă a Python.
sudo apt-get install python3.7
Unele probleme posibile chiar dacă programul rulează:
Nu aud niciun sunet
Asigurați-vă că difuzorul este pornit și selectat în raspberry pi. Prin interfața grafică, ar trebui să o puteți asocia și apoi să o selectați ca dispozitiv de ieșire audio. În plus, verificați driverele audio. O problemă obișnuită este că poate fi necesar să reinstalați pachetul pulseaudio
Audio agitat sau tăiat în interior și în afara
Încercați să apropiați dispozitivul de routerul WiFi. În plus, asigurați-vă că difuzorul Bluetooth este aproape. Ar putea fi, de asemenea, o problemă a driverului audio
Pasul 7: introduceți într-o incintă permanentă
Apoi, punându-l într-o cutie sau un dispozitiv similar pentru ca acesta să locuiască permanent. Vă recomand să aveți unul pe care îl puteți accesa mai târziu pentru depanare. Am luat această cutie mică de lemn la un magazin de artizanat pentru 2 USD și am legat-o pe pagina de consumabile. Unul dintre prietenii mei mi-a recomandat o cutie de trabucuri.
Apoi am tăiat găurile din față pentru butonul de apăsare și comutatoarele rotative și am forat o gaură în spatele cutiei pentru cablul de alimentare microUSB.
Am testat montura și m-am asigurat că funcționează și voilà!
În cele din urmă, am folosit super lipici pentru a ține apăsat butonul. Panoul meu avea un adeziv pe fund pe care l-am conectat la o parte din cutie. Am folosit o bandă mică de bandă adezivă pentru a fixa partea din spate a pi la cutie, astfel încât să poată fi mutată mai târziu, dacă este necesar.
Pasul 8: Configurați programul pentru a rula la pornire
În cele din urmă, probabil că veți dori ca acest program python să ruleze la pornirea raspberry pi, astfel încât să nu aveți nevoie să îl faceți manual. Există multe modalități de a face acest lucru pe care le puteți găsi online.
Personal, l-am configurat folosind a doua cale pe acest tutorial SparkFun:
Aici, așteaptă ca sistemul să intre pe desktopul grafic înainte de a rula programul. Apoi, programul python întârzie 45 de secunde pentru a da sistemului timp să se reconecteze la difuzorul bluetooth. Dacă utilizați un difuzor integrat, puteți elimina această întârziere. Rețineți că difuzorul bluetooth ar trebui să fie pornit mai întâi! (pentru soluția bluetooth)
Acum puteți încerca să opriți și să re-alimentați pi! După aproximativ 90 de secunde, pi-ul tău ar trebui să înceapă din nou să redea fluxurile radio. La apăsarea butonului se va întrerupe / reda. Notă cu privire la aceste reporniri, citește din nou fișierul json internetStations, deci dacă vă schimbați stațiile, trebuie să reporniți dispozitivul pentru ca acestea să funcționeze. Felicitări!
Dacă ați făcut acest lucru sau ați făcut modificări proiectului, vă rugăm să ne anunțați!
Pagina Github:
Recomandat:
BOSEBerry Pi Internet Radio: 4 pași (cu imagini)
BOSEBerry Pi Internet Radio: Îmi place să ascult radioul! Foloseam un radio DAB în casa mea, dar mi s-a părut că recepția era cam neuniformă, iar sunetul se spărgea, așa că am decis să-mi construiesc propriul radio pe internet. Am un semnal wifi puternic în jurul casei mele și al fratelui digital
Repornirea unui vechi circuit radio (alimentat de baterii): 4 pași
Repowering a Old Radio Circuit (Powered by Batteries): Ai vreodată un radio vechi care se alimentează numai în curent alternativ și nu are baterie în interior? Astăzi, îți voi arăta cum să alimentezi vechiul tău radio cu o baterie și este util dacă există întreruperea și puterea radioului dvs. depindea de baterie fără a vă conecta
Antenă radio Radio Ham Rooftop: 8 pași (cu imagini)
Urban Rooftop Ham Radio Antenna: Am pus recent o antenă radio ham pe acoperiș, astfel încât să pot obține un semnal mai bun în interiorul apartamentului meu, care nu se află la un etaj superior. Fiind un ultra începător fără prea multe investiții în hobby, era perfect acceptabil să trebuiască să urci pe acoperiș pentru a
Radio FM cu RDS (Radio Text), control BT și bază de încărcare: 5 pași
Radio FM cu RDS (Radio Text), Control BT și bază de încărcare: Bonjour, Acesta este al doilea meu „Instructables”. Deoarece îmi place să fac lucruri nu foarte utile, iată ultimul meu proiect: Acesta este un radio FM cu Radio Text cu o bază de încărcare și care poate fi monitorizată prin Bluetooth și un APPT Android Prin urmare, voi
JAMONUL BORD - TRANSFORMĂȚI UN RADIO PORTATIV ÎN RADIO MOBIL: 6 pași
JAMONUL MOSTIT - TRANSFORMĂȚI UN RADIO PORTATIV ÎN RADIO MOBIL: Un radioamator mobil cu un buget restrâns? Da, se poate face cu oarecare creativitate. Există o mulțime de aparate de radio portabile chineze ieftine. Aceste noi aparate de radio ieftine, la rândul lor, au scăzut prețurile la echipamentele folosite pentru șuncă de calitate. Un alt lucru care se adaugă