Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Opsætning (hovedløs) Raspberry Pi W
- Trin 2: Installer Senior Radio Software
- Trin 3: Installer yderligere software
- Trin 4: Find radiostationer
- Trin 5: Opret kredsløb
- Trin 6: Test det
- Trin 7: Sæt i en permanent kabinet
- Trin 8: Opsætningsprogram til at køre ved opstart
![Seniorradio - Raspberry Pi: 8 trin Seniorradio - Raspberry Pi: 8 trin](https://i.howwhatproduce.com/images/010/image-27847-j.webp)
Video: Seniorradio - Raspberry Pi: 8 trin
![Video: Seniorradio - Raspberry Pi: 8 trin Video: Seniorradio - Raspberry Pi: 8 trin](https://i.ytimg.com/vi/kt7jA0T12E8/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
![Seniorradio - Raspberry Pi Seniorradio - Raspberry Pi](https://i.howwhatproduce.com/images/010/image-27847-1-j.webp)
Seniorradio-projektet er en open-source tilgængelig designet internetradioenhed med både hardware- og softwarekomponenter. Det er beregnet til at blive brugt til brugere, der er fortrolige med at styre en lommeradio, hvor opkald styrer lydstyrken og den valgte radiostation. Projektet er lavet med et brugercentreret design, fokuseret på en bruger, der ønsker en lignende størrelse og betjening som en standard håndholdt radio.
Det blev bygget for at tilfredsstille behovene ved at tillade handicappede at kunne lytte til de tusindvis af forskellige internetstreamingindhold, der normalt kun er normalt tilgængeligt via en internetbrowser. Mange mennesker har ikke mulighed for let at bruge en sådan enhed, så dette design sigter mod at lave et velkendt interface til en moderne teknologi.
Kernefunktionen er på Github, gemt i et python 3.7.3 -program kaldet seniorRadio.py. Den læser og skriver en json -fil for at gemme radioens tilstand, så når du slukker den, husker den det aktuelle lydniveau og den valgte station. Derudover læser den en online hostet json -fil, som du kan ændre! Dette giver dig mulighed for at opdatere radiostationerne eksternt, hvis du giver dette til en anden.
Det er i øjeblikket oprettet for at oprette forbindelse til en bluetooth -højttaler, men kan også let fås til at afspille en indbygget højttaler.
Skaberen af denne enhed er sandsynligvis ikke brugeren og har brug for i det mindste en vis erfaring med elektronik og grundlæggende programmeringskendskab. Linux -erfaring er også meget nyttig.
For brugeren er funktionaliteten enkel:
Ved opstart afspiller den den sidste station, der er valgt over standardlydenheden. Den venstre urskive styrer stationen, hvor et par klik på skiven skifter til en ny URL. Det ruller over efter den sidste eller første indtastning. Den højre drejeknap styrer lydniveauet. Lysdioden angiver, at programmet er tændt. Og trykknappen holder radioen på pause eller "slukker". Så når den er tændt, kan en bruger bare trykke på knappen for at sætte pause/afspille eller "slukke/tænde" radioen og de to skiver for at styre den.
Forbrugsvarer
Linket til hvert element er den specifikke, jeg brugte. Kostede mig cirka $ 60 i alt med masser af rester af forsyninger!
Grundlæggende elektronisk og linux -viden - til samling og fejlfinding
Raspberry Pi Zero W (Zero WH har overskrifter forudloddet og sandsynligvis nyttigt)
MicroSD-kort-8 GB+ og evne o
MicroUSB 5V strømadapter - Link indeholder også microHDMI -adapter og microUSB OTG til USB A -adapter til opsætning, hvis du har brug for dem
Bluetooth -højttaler
M/F og M/M jumperkabler
2 Rotary encoder - samme link som ovenfor
Lille brødbræt
Trykknap
LED (ekstraudstyr) - købt LED + trykknap ovenfor
Æske til emballering
Trin 1: Opsætning (hovedløs) Raspberry Pi W
![Opsætning (uden hoved) Raspberry Pi W Opsætning (uden hoved) Raspberry Pi W](https://i.howwhatproduce.com/images/010/image-27847-2-j.webp)
Vi skal konfigurere operativsystemet på den hindbær pi, der vil køre softwaren. Intet af dette er unikt for dette projekt. Til fejlfinding vil jeg anbefale at konfigurere det, så du også kan få adgang til det i hovedløs tilstand. Dette betyder, at du får adgang til pi'en via dit WiFi-netværk via GUI eller en SSH-terminal og ikke har brug for et tastatur, mus og skærm for at bruge det hver gang. Du kan gøre dette uden at skulle oprette forbindelse til en skærm/mus/tastatur nogensinde, hvis du er mere teknisk kyndig. Nogle eksempler på instruktioner her. Det er dog mindre ligetil, og nedenfor er en anden måde at konfigurere det på.
Denne første gang får du sandsynligvis brug for:
- Hindbær Pi W
- Adapter til MicroSD til SD -kort [til at skrive OS på SD -kort]
- MicroSD -kort (~ 8 GB+) [til at gemme OS og vores program]
- MicroUSB strøm (5V)
- MicroUSB til USB A [til mus/tastatur]
- Mini HDMI til HDMI adapter [til skærmoutput]
- Tastatur
- Mus
- Overvåge
Først skal du blinke operativsystemet på rPi micro SD -kortet.
Jeg brugte raspian buster, du downloader dette på en computer med et SD -kort læser/skriver og blinker derefter raspian OS på SD -kortet. BalenaEtcher er en let software til at gøre dette
Sæt derefter SD -kortet i pi -stikket, tilslut skærmen, tastaturet og strømmen. Fortsæt gennem de opsætningstrin, som raspian beder dig om, herunder tilslutning til dit WiFi -netværk og parring af din bluetooth -højttaler via GUI. God praksis ville være at opdatere den ved hjælp af følgende kommandoer
sudo apt-get opdatering
sudo apt-get opgradering
Hvis du vil inkludere markering af din pi uden hoved, skal vi først have fat i pi's ip -adresse. Gennem en terminal kan du finde den gennem
ifconfig
kommando. Du skal derefter aktivere SSH og VNC over grænsefladeindstillingerne i
sudo raspi-config
Efter en genstart kan du nu teste adgang til pi over SSH eller VNC. SSH er bare en terminal -grænseflade, og du kan have lettere ved at bruge GUI'en til at parre en bluetooth -højttaler. Du kan bruge et program som VNC connect til nemt at få adgang til din pi på en separat computer på dit netværk. Du kan bruge et program som spartel til SSH i det.
Desuden kan du konfigurere en VNC -sky -konto, så du kan få adgang til enheden uden for netværk, hvis det er nødvendigt
Trin 2: Installer Senior Radio Software
![Installer Senior Radio Software Installer Senior Radio Software](https://i.howwhatproduce.com/images/010/image-27847-3-j.webp)
Dette kan gøres fra et terminalvindue på hindbær pi. Sørg først for, at du har installeret git
sudo apt-get install git
Afhængigt af hvilket operativsystem du har installeret, kan disse trin være forskellige, da du muligvis skal installere yderligere pakker, vil systemet fortælle dig i så fald. Først skal vi downloade seniorradiokoden fra github. https://github.com/Bunborn/seniorRadio Ideelt set foretager du vores egen repo, så du kan foretage ændringer og nemt ændre radiostationer på samme måde som jeg gør. Gaffel repoen i så fald
Du kan dog bruge den samme som min, intet problem, hvis du vil være vært for din radio json -fil et andet sted
Klon derefter repoen ned, uanset hvor du vil have den. Standardmappen er fin. Få webadressen til den github -repo, du vil have, ved at trykke på den grønne klon eller download -knap.
Tilbage i terminalvinduet, git -klon
Du skulle nu se en ekstra mappe ved navn seniorRadio, når du kigger med ls. Fantastisk!
Koden er beregnet til at være selvdokumenterende, og det ville være nyttigt at kigge igennem den. Især til fejlretning og hvis du ændrer systemet.
Trin 3: Installer yderligere software
![Installer yderligere software Installer yderligere software](https://i.howwhatproduce.com/images/010/image-27847-4-j.webp)
Inden vi går videre til kredsløbet og tester det, skal vi også downloade VLC og python api til det. Du har muligvis allerede VLC installeret. De to første kommandoer opdaterer pi, og de sidste to kommandoer herunder installerer VLC og derefter python api
sudo apt-get opdatering
sudo apt-get opgradering
sudo snap installere VLC
sudo apt-get install vlc-python
Derudover skal du også installere gpiozero, som vi vil bruge til at interface med pi's GPIO -ben. Du har muligvis allerede installeret det afhængigt af dit operativsystem.
sudo apt-get install gpiozero
Trin 4: Find radiostationer
![Find radiostationer Find radiostationer](https://i.howwhatproduce.com/images/010/image-27847-5-j.webp)
Dernæst en af de mest sjove dele! Tid til at vælge, hvilke streams du ønsker.
I min internetStations.json -fil kan du se mine stream -links, hovedsageligt til nyheder og musik. Men der er masser af hostet indhold derude. Nøglen her er at finde URL -adressen til direkte stream. For eksempel kan BBC -nyheder og musikstationer findes her på denne blog. Disse direkte streams har ingen grafisk grænseflade og afspiller strømmen automatisk via din browser medieafspiller. Dette er de webadresser, vi har brug for, så VLC kan læse dem! Du kan hurtigt teste ethvert link i din webbrowser eller via VLC på din normale computer for at sikre, at det fungerer på pi.
For at finde disse stationer kan du kigge efter direkte stream online, hvis tjenesten er vært for den. En hurtig måde kan også være at afspille strømmen, højreklikke på browseren og trykke på "inspicer element". Naviger til fanen Netværk, og det skal angive streamens 'direkte' URL. Denne youtube -video demonstrerer dette. Opdatering af siden med fanen åben burde hjælpe.
Når du har dine stationer, vil du sætte dem online, så dit seniorRadio python -program kan gribe dem. Der er mange muligheder for at gøre dette, du kan bruge websteder som Github, bitbucket eller endda sourceforge. Hovedformålet med at hoste denne liste online er, så brugeren, der opretter den, kan ændre streamlisten online eksternt.
I starten af python -programmet er der en variabel, der hedder url. Du skal blot ændre dette til at være webadressen til din json -fil med stationens URL -links
Du kan følge det samme format som min internetStation.json -fil. Hvis du også ville bruge github, kunne du simpelthen gaffel mit seniorRadio -depot og redigere din egen internetStation.json -fil og pege den på den "rå" URL. Du kan finde det nedenfor i Github GUI, når du har klikket på filen.
Trin 5: Opret kredsløb
![Opret kredsløb Opret kredsløb](https://i.howwhatproduce.com/images/010/image-27847-6-j.webp)
Nu skal vi opsætte kredsløbet. Dette vil ændre sig baseret på dit udstyr, men nedenfor er hvordan jeg konfigurerede mit.
pinout.xyz/ for reference til hvilke pins der er hvilke. Da vi bruger gpiozero -biblioteket, er vi kun bekymrede for BCM -pin -nummereringen. Bemærk, at jeg købte et par ekstra KY040 roterende encodere - skiverne - for at teste dem, da de ikke alle har samme nøjagtighed. Hver enkelt ville have noget "hoppende" eller simpelthen forkert output, så jeg valgte det bedste af de to, jeg havde. I koden vil du bemærke, at der også er nogle trin for at begrænse denne afvisning.
Jeg sluttede min trykknap til BCM pin 17 og jordede
Min LED til en 1k ohm modstand derefter BCM pin 27 og jordet
Mine KY040 roterende encodere havde + ledningen til 5V, GND til jorden og SW afbrudt. Disse blev forbundet over et mini -brødbræt
Station roterende encoder dt pin tilsluttet BCM pin 21
Station roterende encoder clk pin tilsluttet BCM pin 20
Lydniveau roterende encoder dt pin tilsluttet BCM pin 19
Lydniveau roterende encoder clk pin tilsluttet BCM pin 16
Hvis du ændrer disse stifter, skal du bare opdatere nummeret i python -programmet, hvor det opsætter håndtererne
Jeg brugte et mini -brødbræt til at gøre dette lettere. Jeg brugte også M/M og M/F jumperwires for at lette grænsefladen. Jeg loddet nogle jumper wire leads på benene på trykknappen/LED, jeg købte tidligere. For ikke at lodde kan du få trykknapper og lysdioder, der allerede har jumper wire leads eller let ville kunne tilsluttes en.
Trin 6: Test det
Nu skulle du have et fungerende system! Lad os teste det. Naviger til mappen med python -programmet, sandsynligvis:
cd seniorRadio
python3 seniorRadio.py
I øjeblikket er der en forsinkelse på 45 sekunder i starten af programmet for at give det tid til at finde bluetooth -højttaleren ved opstart. Du kan kommentere denne linje, hvis du ikke har brug for den under test. Programmet fortæller dig muligvis, at du skal installere yderligere pakker. Fortsæt i så fald. Det kan også være nødvendigt at installere en nyere version af Python.
sudo apt-get install python3.7
Nogle mulige problemer, selvom programmet kører:
Jeg hører ingen lyd
Sørg for, at højttaleren er tændt og valgt i din hindbærpi. Gennem GUI'en skal du være i stand til at parre den og derefter vælge den som din lydoutputenhed. Kontroller desuden dine lyddrivere. Et almindeligt problem er, at du muligvis skal geninstallere pulseaudio -pakken
Lyd hakket eller skærer ind og ud
Prøv at flytte enheden tættere på din WiFi -router. Derudover skal du sørge for, at bluetooth -højttaleren er tæt på. Det kan også være et problem med lyddriveren
Trin 7: Sæt i en permanent kabinet
![Sæt i en permanent kabinet Sæt i en permanent kabinet](https://i.howwhatproduce.com/images/010/image-27847-7-j.webp)
Derefter skal du lægge den i en kasse eller lignende enhed, så den kan bo permanent. Jeg anbefaler at have en, som du stadig kan få adgang til senere til fejlfinding. Jeg fik denne lille trækasse i en håndværksbutik for $ 2, og linkede den på forsyningssiden. En af mine venner anbefalede en cigaræske.
Jeg skar derefter huller ud foran til trykknappen og drejekontakter og borede et hul bag på boksen til microUSB -netledningen.
Jeg testede holderen og sørgede for, at den virkede, og voilà!
Til sidst brugte jeg superlim til at holde trykknappen. Mit brødbræt havde et klæbemiddel i bunden, som jeg sluttede til en del af kassen. Jeg brugte en lille strimmel gaffatape til at fastgøre pi'ens bagside til kassen, så den kan flyttes senere, hvis det er nødvendigt.
Trin 8: Opsætningsprogram til at køre ved opstart
Endelig vil du sandsynligvis have, at dette python -program kører ved opstart af hindbær pi, så du ikke behøver at gøre det manuelt. Der er mange måder at gøre dette på, som du kan finde online.
Personligt konfigurerede jeg det ved hjælp af den anden måde på denne SparkFun-vejledning:
Her venter det på, at systemet kommer ind på det grafiske skrivebord, før programmet køres. Det forsinkes derefter af python -programmet i 45 sekunder for at give systemet tid til at genoprette forbindelse til bluetooth -højttaleren. Hvis du bruger en integreret højttaler, kan du fjerne denne forsinkelse. Bemærk, at bluetooth -højttaleren skal være tændt først! (til bluetooth -løsningen)
Nu kan du prøve at slukke og tænde din pi igen! Efter cirka 90 sekunder skulle din pi begynde at afspille radiostrømmene igen. Når du trykker på knappen, stopper den/afspilles. Bemærk om disse genstarter den genlæser den internetStations json-fil, så hvis du ændrer dine stationer, skal du genstarte enheden for at de kan fungere. Tillykke!
Hvis du lavede dette eller foretog ændringer af projektet, så lad mig det vide!
Github -side:
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
![Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin](https://i.howwhatproduce.com/images/001/image-458-22-j.webp)
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
![Trin for trin pc -bygning: 9 trin Trin for trin pc -bygning: 9 trin](https://i.howwhatproduce.com/images/001/image-52-15-j.webp)
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
![Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin](https://i.howwhatproduce.com/images/001/image-227-26-j.webp)
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
![Trin-for-trin uddannelse i robotik med et sæt: 6 trin Trin-for-trin uddannelse i robotik med et sæt: 6 trin](https://i.howwhatproduce.com/images/005/image-12971-j.webp)
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
![Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin](https://i.howwhatproduce.com/images/007/image-19534-j.webp)
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)