Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Oppsett (uten hoder) Raspberry Pi W
- Trinn 2: Installer Senior Radio -programvare
- Trinn 3: Installer tilleggsprogramvare
- Trinn 4: Finn radiostasjoner
- Trinn 5: Lag kretser
- Trinn 6: Test den
- Trinn 7: Sett inn i en permanent innkapsling
- Trinn 8: Oppsettprogrammet skal kjøres ved oppstart
Video: Seniorradio - Raspberry Pi: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Senior Radio-prosjektet er en åpen kildekode, tilgjengelig, designet internettradioenhet med både maskinvare- og programvarekomponenter. Den er beregnet på å bli brukt for brukere som er kjent med å kontrollere en lommeradio der ringer styrer volumet og den valgte radiostasjonen. Prosjektet er laget med et bruker-sentrert design, fokusert på en bruker som ønsker en lignende størrelse og kontroller som en standard håndholdt radio.
Det ble bygget for å tilfredsstille behovene til å tillate funksjonshemmede å kunne lytte til tusenvis av forskjellige Internett -streaminginnhold som vanligvis bare er normalt tilgjengelig via en nettleser. Mange mennesker har ikke muligheten til å bruke en slik enhet enkelt, så dette designet tar sikte på å lage et kjent grensesnitt for en moderne teknologi.
Kjernefunksjonaliteten er på Github, lagret i et python 3.7.3 -program kalt seniorRadio.py. Den leser og skriver en json -fil for å lagre radioens tilstand, så når du slår den av, husker den gjeldende lydnivå og valgt stasjon. I tillegg leser den en online hostet json -fil som du kan endre! Dette lar deg oppdatere radiostasjonene eksternt hvis du gir dette til noen andre.
Den er for øyeblikket opprettet for å koble til en bluetooth -høyttaler, men kan lett også lages for å spille av en innebygd høyttaler.
Skaperen av denne enheten er sannsynligvis ikke brukeren, og trenger i det minste litt erfaring med elektronikk og grunnleggende programmeringskunnskap. Linux -erfaring er også veldig nyttig.
For brukeren er funksjonaliteten enkel:
Ved oppstart vil den spille den siste stasjonen som ble valgt over standard lydenhet. Den venstre skiven styrer stasjonen, der noen få klikk på skiven endres til en ny URL. Den ruller over etter den siste eller første oppføringen. Høyre skive styrer lydnivået. Lysdioden indikerer at programmet er på. Og trykknappen stopper eller "slår av" radioen. Så når den er slått på, kan en bruker bare trykke på knappen for å pause/spille, eller "slå av/på", radioen og de to hjulene for å kontrollere den.
Rekvisita
Koblet til hvert element er den spesifikke jeg brukte. Kostet meg ca $ 60 totalt med masse restmateriell!
Grunnleggende elektronisk og linux -kunnskap - for montering og feilsøking
Raspberry Pi Zero W (Zero WH har overskrifter forhåndsloddet og sannsynligvis nyttig)
MicroSD-kort-8 GB+ og evne o
MicroUSB 5V strømadapter - Link inneholder også microHDMI -adapter og microUSB OTG til USB A -adapter for oppsett hvis du trenger dem
blåtann-høytaler
M/F og M/M startkabler
2 Rotary encoder - samme lenke som ovenfor
Lite brødbrett
Trykknapp
LED (valgfritt) - kjøpt LED + trykknapp ovenfor
Eske for emballasje
Trinn 1: Oppsett (uten hoder) Raspberry Pi W
Vi må konfigurere operativsystemet på bringebær -pi som skal kjøre programvaren. Ingenting av dette er unikt for dette prosjektet. For feilsøking, vil jeg anbefale å sette den opp slik at du også kan få tilgang til den i hodeløs modus. Dette betyr at du får tilgang til pi over WiFi-nettverket ditt via GUI eller en SSH-terminal og ikke trenger tastatur, mus og skjerm for å bruke det hver gang. Du kan gjøre dette uten å måtte koble til en skjerm/mus/tastatur noen gang hvis du er mer teknisk kunnskapsrik. Noen eksempler på instruksjoner her. Det er imidlertid mindre rett frem, og nedenfor er en annen måte å sette det opp på.
Denne første gangen vil du sannsynligvis trenge:
- Bringebær Pi W
- MicroSD til SD -kortadapter [for å skrive OS på SD -kort]
- MicroSD -kort (~ 8 GB+) [for å lagre operativsystemet og programmet vårt]
- MicroUSB -strøm (5V)
- MicroUSB til USB A [for mus/tastatur]
- Mini HDMI til HDMI -adapter [for skjermutgang]
- Tastatur
- Mus
- Observere
Først må du blinke operativsystemet på rPi micro SD -kortet.
Jeg brukte raspian buster, du laster den ned på en datamaskin med et SD -kort leser/skriver og blinker deretter raspian OS på SD -kortet. BalenaEtcher er en enkel programvare for å gjøre dette
Sett deretter SD -kortet inn i pi -sporet, koble til skjermen, tastaturet og strømmen. Fortsett gjennom oppsettstrinnene som raspian ber deg om, inkludert å koble den til WiFi -nettverket og koble Bluetooth -høyttaleren din gjennom GUI. God praksis ville være å oppdatere den ved hjelp av følgende kommandoer
sudo apt-get oppdatering
sudo apt-get oppgradering
Hvis du vil inkludere merking av pi -hodeløs, må vi først ta tak i pi -adressen. Gjennom en terminal kan du finne den gjennom
ifconfig
kommando. Du må deretter aktivere SSH og VNC over grensesnittalternativene i
sudo raspi-config
Etter en omstart kan du nå teste tilgang til pi over SSH eller VNC. SSH er bare et terminalgrensesnitt, og du kan finne det lettere å bruke GUI for å koble til en Bluetooth -høyttaler. Du kan bruke et program som VNC connect for enkelt å få tilgang til pi -en din på en egen datamaskin i nettverket. Du kan bruke et program som kitt til SSH i det.
Videre kan du konfigurere en VNC -skykonto slik at du kan få tilgang til enheten utenfor nettverket om nødvendig
Trinn 2: Installer Senior Radio -programvare
Dette kan gjøres fra et terminalvindu på bringebærpi. Sørg først for at du har git installert
sudo apt-get install git
Avhengig av hvilket operativsystem du har installert, kan disse trinnene være forskjellige, ettersom du kan trenge å installere flere pakker, vil systemet fortelle deg i så fall. Først må vi laste ned seniorradiokoden fra github. https://github.com/Bunborn/seniorRadio Ideelt sett lager du vår egen repo, slik at du kan gjøre endringer og enkelt endre radiostasjonene på samme måte som jeg gjør. Gaffel repoen i så fall
Du kan imidlertid bruke den samme som min ikke noe problem hvis du vil være vert for radio -json -filen din på et annet sted
Deretter kan du klone ned repoen uansett hvor du vil at den skal være. Standardkatalogen er fin. Få nettadressen for hvilken github -repo du vil ha ved å trykke på den grønne klonen eller nedlastingsknappen.
Tilbake i terminalvinduet, git klon
Du bør nå se en ekstra katalog som heter seniorRadio når du ser med ls. Fantastisk!
Koden er ment å være selvdokumenterende, og det kan være nyttig å ta en titt på den. Spesielt for feilsøkingsformål og hvis du endrer systemet.
Trinn 3: Installer tilleggsprogramvare
Før vi går videre til kretsen og tester den, må vi også laste ned VLC og python api for den. Du har kanskje allerede VLC installert. De to første kommandoene vil oppdatere pi, og de to siste kommandoene nedenfor vil installere VLC og deretter python api
sudo apt-get oppdatering
sudo apt-get oppgradering
sudo snap installere VLC
sudo apt-get install vlc-python
I tillegg installerer du også gpiozero, som vi vil bruke til å koble til pi's GPIO -pinner. Du kan allerede ha den installert avhengig av operativsystemet.
sudo apt-get install gpiozero
Trinn 4: Finn radiostasjoner
Deretter en av de morsomste delene! På tide å velge hvilke strømmer du vil ha.
I min internetStations.json -fil kan du se strømlinkene mine, hovedsakelig for nyheter og musikk. Men det er massevis av vertsinnhold der ute. Nøkkelen her er å finne URL -adressen til direkte strøm. For eksempel kan BBCs nyheter og musikkstasjoner finnes her på denne bloggen. Disse direktestrømmene vil ikke ha noe grafisk grensesnitt og vil automatisk spille av strømmen gjennom mediespilleren i nettleseren din. Dette er nettadressene vi trenger, slik at VLC kan lese dem! Du kan teste en hvilken som helst lenke raskt i nettbrowseren din, eller via VLC på din vanlige datamaskin for å sikre at den fungerer på pi.
For å finne disse stasjonene kan du se etter direkte strøm på nettet hvis tjenesten er vert for den. En rask måte kan også være å spille av strømmen, høyreklikke på nettleseren og trykke "inspiser element". Naviger til nettverksfanen, og den skal indikere strømmen 'direkte' URL. Denne youtube -videoen demonstrerer dette. Å oppdatere siden med fanen åpen burde hjelpe.
Når du har stasjonene dine, vil du sette dem på nettet slik at seniorRadio python -programmet ditt kan ta dem. Det er mange alternativer for å gjøre dette, du kan bruke nettsteder som Github, bitbucket eller til og med sourceforge. Hovedformålet med å være vert for denne listen på nettet er at brukeren som setter den opp kan endre strømlisten online eksternt.
Ved starten av python -programmet er det en variabel som heter url, bare endre dette til å være nettadressen til json -filen din med stasjonens URL -lenker
Du kan følge samme format som min internetStation.json -fil. Hvis du også ville bruke github, kan du bare forkle mitt seniorRadio -depot og redigere din egen internetStation.json -fil og peke den på den "rå" URL -adressen. Du finner det nedenfor i Github GUI når du klikket på filen.
Trinn 5: Lag kretser
Nå må vi sette opp kretsen. Dette vil endre seg basert på utstyret ditt, men nedenfor er hvordan jeg konfigurerte mitt.
pinout.xyz/ for referanse på hvilke pinner som er. Siden vi bruker gpiozero -biblioteket, er vi bare opptatt av BCM -pinnummerering. Vær oppmerksom på at jeg kjøpte noen ekstra KY040 roterende encoders - skivene - for å teste dem, siden de ikke alle har samme nøyaktighet. Hver enkelt ville ha noen "hoppende" eller rett og slett feil utgang, så jeg valgte den beste av de to jeg hadde. I koden vil du legge merke til at det også er noen trinn for å begrense denne sprettingen.
Jeg koblet trykknappen min til BCM pin 17 og jordet
Min LED til en 1k ohm motstand deretter BCM pin 27 og jordet
Mine KY040 roterende kodere hadde + ledningen til 5V, GND til bakken og SW koblet fra. Disse ble koblet sammen over et mini -brødbrett
Stasjons roterende encoder dt pin koblet til BCM pin 21
Stasjonsroterende encoder CLK -pinne koblet til BCM -pinne 20
Lydnivå roterende encoder dt pin koblet til BCM pin 19
Lydnivå roterende encoder clk pin koblet til BCM pin 16
Hvis du endrer disse pinnene, må du bare oppdatere nummeret i python -programmet også der det setter opp håndtererne
Jeg brukte et mini -brødbrett for å gjøre dette lettere. Jeg brukte også M/M og M/F jumperkabler for å lette grensesnittet. Jeg loddet noen jumper wire leads på pinnene på trykknappen/LED jeg kjøpte tidligere. For ikke å lodde, kan du få trykknapper og lysdioder som allerede har ledninger for jumperkabler eller som enkelt kan kobles til en.
Trinn 6: Test den
Nå bør du ha et fungerende system! La oss teste det. Naviger til mappen med python -programmet, sannsynligvis:
cd seniorRadio
python3 seniorRadio.py
For øyeblikket er det en 45 sekunders forsinkelse ved starten av programmet for å gi det tid til å finne Bluetooth -høyttaleren ved oppstart. Du kan kommentere denne linjen hvis du ikke trenger den under testing. Programmet kan fortelle deg at du må installere flere pakker. Fortsett i så fall. Kan også være nødvendig å installere en nyere versjon av Python.
sudo apt-get install python3.7
Noen mulige problemer, selv om programmet kjører:
Jeg hører ingen lyd
Sørg for at høyttaleren er slått på og valgt i bringebærpi. Gjennom GUI bør du kunne koble den og deretter velge den som lydenhet. Sjekk dessuten lyddriverne. Et vanlig problem er at du kanskje må installere pulseaudio -pakken på nytt
Lyd hakket eller kutte inn og ut
Prøv å flytte enheten nærmere WiFi -ruteren. I tillegg må du kontrollere at Bluetooth -høyttaleren er i nærheten. Kan også være et problem med lyddriveren
Trinn 7: Sett inn i en permanent innkapsling
Deretter legger du den i en eske eller lignende enhet for at den skal bo permanent. Jeg anbefaler å ha en som du fortsatt kan få tilgang til senere for feilsøking. Jeg kjøpte denne lille trekassen på en håndverksbutikk for $ 2, og koblet den på forsyningssiden. En av vennene mine anbefalte en sigareske.
Jeg skar deretter ut hull foran på trykknappen og dreiebryterne, og boret et hull på baksiden av esken for microUSB -strømledningen.
Jeg testet festet og sørget for at det fungerte, og voilà!
Til slutt brukte jeg superlim for å holde trykknappen. Brettbrettet mitt hadde et lim på bunnen som jeg koblet til en del av esken. Jeg brukte en liten stripe med tape for å feste baksiden av pi -en til esken, så den kan flyttes senere om nødvendig.
Trinn 8: Oppsettprogrammet skal kjøres ved oppstart
Til slutt vil du sannsynligvis at dette python -programmet skal kjøres ved oppstart av bringebær -pi, slik at du ikke trenger å gjøre det manuelt. Det er mange måter å gjøre dette på som du kan finne på nettet.
Personlig konfigurerte jeg det på den andre måten på denne SparkFun-opplæringen:
Her venter det på at systemet skal gå inn på det grafiske skrivebordet før programmet kjøres. Det blir deretter forsinket av python -programmet i 45 sekunder for å gi systemet tid til å koble til Bluetooth -høyttaleren på nytt. Hvis du bruker en integrert høyttaler, kan du fjerne denne forsinkelsen. Vær oppmerksom på at Bluetooth -høyttaleren skal være på først! (for bluetooth -løsningen)
Nå kan du prøve å slå pi-en av og på igjen! Etter omtrent 90 sekunder bør pi begynne å spille av radiostrømmene igjen. Når du trykker på knappen, vil den stoppe/spille. Merk på disse omstartene, den leser igjen den internetStations json-filen, så hvis du endrer stasjoner må du starte enheten på nytt for at de skal fungere. Gratulerer!
Gi meg beskjed hvis du har gjort dette, eller gjort endringer i prosjektet!
Github -side:
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Hvordan lage et nettsted (en trinn-for-trinn-guide): 4 trinn
Hvordan lage et nettsted (en trinn-for-trinn-guide): I denne veiledningen vil jeg vise deg hvordan de fleste webutviklere bygger nettstedene sine og hvordan du kan unngå dyre nettstedbyggere som ofte er for begrenset til et større nettsted. hjelpe deg med å unngå noen feil som jeg gjorde da jeg begynte