INHOUDSOPGAWE:

Senior radio - Framboos Pi: 8 stappe
Senior radio - Framboos Pi: 8 stappe

Video: Senior radio - Framboos Pi: 8 stappe

Video: Senior radio - Framboos Pi: 8 stappe
Video: LP - Lost On You (Official Music Video) 2024, November
Anonim
Senior radio - Framboos Pi
Senior radio - Framboos Pi

Die Senior Radio-projek is 'n oopbron-toeganklike internetradioapparaat met hardeware- en sagtewarekomponente. Dit is bedoel om gebruik te word vir gebruikers wat vertroud is met die bestuur van 'n sakradio waar die draaiknoppe die volume en die gekose radiostasie beheer. Die projek is gemaak met 'n gebruikersgesentreerde ontwerp, gerig op 'n gebruiker wat 'n soortgelyke grootte en kontroles wil hê as 'n standaard handradio.

Dit is gebou om aan die behoeftes van gestremde persone te voldoen om na die duisende verskillende internetstroominhoud te luister wat gewoonlik normaalweg slegs via 'n internetblaaier beskikbaar is. Baie mense het nie die vermoë om so 'n toestel maklik te gebruik nie, so hierdie ontwerp is daarop gemik om 'n bekende koppelvlak vir 'n moderne tegnologie te maak.

Die kernfunksionaliteit is op Github, gestoor in 'n python 3.7.3 -program genaamd seniorRadio.py. Dit lees en skryf 'n json -lêer om die toestand van die radio te stoor, dus as u dit afskakel, onthou dit die huidige klankvlak en gekose stasie. Boonop lees dit 'n aanlyn -json -lêer wat u kan verander! Hiermee kan u die radiostasies op afstand opdateer as u dit aan iemand anders gee.

Dit is tans geskep om aan te sluit op 'n bluetooth -luidspreker, maar kan ook maklik 'n ingeboude luidspreker afspeel.

Die vervaardiger van hierdie toestel is waarskynlik nie die gebruiker nie en benodig ten minste ervaring met elektronika en basiese kennis van programmering. Linux -ervaring is ook baie nuttig.

Vir die gebruiker is die funksie eenvoudig:

By die aanskakel speel dit die laaste stasie wat op die standaard klanktoestel gekies is. Die linker draaiknop beheer die stasie, waar 'n paar kliks van die draaiknop na 'n nuwe URL verander. Dit sal oorgaan na die laaste of eerste inskrywing. Die regterknop beheer die klankvlak. Die LED dui aan dat die program aan is. En die drukknop stop of skakel die radio af. Sodra 'n gebruiker aangeskakel is, kan hy net op die knoppie druk om die radio en die twee draaiknoppies te onderbreek/te speel, of om die radio en die twee draaiknoppies te skakel.

Voorrade

Die spesifieke item wat ek gebruik het, is gekoppel aan elke item. Kos my ongeveer $ 60 in totaal met baie oorblywende voorrade!

Basiese kennis van elektroniese en Linux - vir montering en ontfouting

Raspberry Pi Zero W (Zero WH het opskrifte vooraf gesoldeer en waarskynlik nuttig)

MicroSD-kaart-8 GB+ en vermoë o

MicroUSB 5V -kragadapter - Link bevat ook microHDMI -adapter en microUSB OTG na USB A -adapter vir opstelling as u dit nodig het

Bluetooth luidspreker

M/F en M/M springkabels

2 Rotary encoder - dieselfde skakel as hierbo

Klein broodbord

Druk knoppie

LED (opsioneel) - LED gekoop + drukknop hierbo

Boks vir verpakking

Stap 1: Stel Raspberry Pi W (sonder kop) op

Opstelling (koploos) Framboos Pi W
Opstelling (koploos) Framboos Pi W

Ons moet die bedryfstelsel instel op die framboospi waarmee die sagteware uitgevoer kan word. Niks hiervan is uniek aan hierdie projek nie. Vir ontfouting, raai ek u aan om dit op te stel sodat u ook in koplose modus toegang daartoe kan kry. Dit beteken dat u via die GUI of 'n SSH-terminale toegang tot die pi via u WiFi-netwerk het en nie 'n sleutelbord, muis en monitor nodig het om dit elke keer te gebruik nie. U kan dit doen sonder om ooit aan 'n monitor/muis/sleutelbord te koppel as u meer tegnies vaardig is. Enkele voorbeeldinstruksies hier. Dit is egter minder eenvoudig, en hieronder is 'n ander manier om dit op te stel.

Hierdie eerste keer het u waarskynlik nodig:

  • Framboos Pi W
  • MicroSD na SD kaart adapter [om OS op SD kaart te skryf]
  • MicroSD -kaart (~ 8 GB+) [om die bedryfstelsel en ons program te stoor]
  • MicroUSB -krag (5V)
  • MicroUSB na USB A [vir muis/sleutelbord]
  • Mini HDMI na HDMI adapter [vir vertoonuitset]
  • Sleutelbord
  • Muis
  • Monitor

Eerstens moet u die bedryfstelsel op die rPi micro SD -kaart flits.

Ek het raspian buster gebruik, jy laai dit af op 'n rekenaar met 'n SD -kaartleser/skrywer en dan flits die raspian OS op die SD -kaart. BalenaEtcher is 'n maklike sagteware om dit te doen

Plaas dan die SD -kaart in die pi -gleuf, verbind die monitor, sleutelbord en krag. Gaan deur die opstellingstappe waarna raspian u vra, insluitend die verbinding met u WiFi -netwerk en die koppeling van u bluetooth -luidspreker deur die GUI. Goeie praktyk is om dit op te dateer met behulp van die volgende opdragte

sudo apt-get update

sudo apt-get upgrade

As u die merk van u pi sonder kop wil insluit, moet ons eers die pi se ip -adres gryp. Deur 'n terminale kan u dit vind deur die

ifconfig

bevel. U moet dan SSH en VNC aktiveer oor die koppelvlakopsies in

sudo raspi-config

Na 'n herbegin kan u die toegang tot die pi via SSH of VNC toets. SSH is slegs 'n terminale koppelvlak, en u kan dit makliker vind om die GUI te gebruik om 'n bluetooth -luidspreker te koppel. U kan 'n program soos VNC connect gebruik om maklik toegang tot u pi op 'n aparte rekenaar in u netwerk te verkry. U kan 'n program soos stopverf in SSH daarin gebruik.

Verder kan u 'n VNC -wolkrekening opstel sodat u, indien nodig, toegang tot die toestel kan kry

Stap 2: Installeer Senior Radio -sagteware

Installeer Senior Radio sagteware
Installeer Senior Radio sagteware

Dit kan gedoen word vanaf 'n eindvenster van die framboos pi. Maak eers seker dat u git geïnstalleer het

sudo apt-get install git

Afhangende van die bedryfstelsel wat u geïnstalleer het, kan hierdie stappe anders wees, aangesien u moontlik ekstra pakkette moet installeer. Eerstens moet ons die senior radiokode van github aflaai. https://github.com/Bunborn/seniorRadio Ideaal gesproke maak u ons eie repo, sodat u veranderings kan aanbring en die radiostasies maklik kan verander op dieselfde manier as ek. Vurk die repo indien wel

U kan egter dieselfde as myne gebruik, as u u radio -json -lêer op 'n ander plek wil huisves

Kloon dan die repo af op watter plek u ook al wil hê. Die standaard gids is goed. Kry die URL vir die github -repo wat u wil hê deur op die groen kloon of aflaai -knoppie te druk.

Terug in die eindvenster, git kloon

U behoort nou 'n ekstra gids met die naam seniorRadio te sien wanneer u op soek is na ls. Fantasties!

Die kode is bedoel om selfdokumenteerend te wees, en dit sal nuttig wees om dit te bekyk. Veral vir ontfoutingsdoeleindes en as u die stelsel verander.

Stap 3: Installeer addisionele sagteware

Installeer addisionele sagteware
Installeer addisionele sagteware

Voordat ons na die kring gaan en dit toets, moet ons ook VLC en die python api daarvoor aflaai. U het moontlik reeds VLC geïnstalleer. Die eerste twee opdragte sal die pi opdateer, en die laaste twee opdragte hieronder sal VLC installeer en dan die python api

sudo apt-get update

sudo apt-get upgrade

sudo snap installeer VLC

sudo apt-get install vlc-python

Installeer ook gpiozero, wat ons sal gebruik om met die pi se GPIO -penne te koppel. Dit is moontlik dat u dit reeds geïnstalleer het, afhangende van u bedryfstelsel.

sudo apt-get installeer gpiozero

Stap 4: Soek radiostasies

Vind strome van radiostasies
Vind strome van radiostasies

Vervolgens een van die lekkerste dele! Tyd om die strome te kies wat u wil hê.

In my internetStations.json -lêer kan u my stroomskakels sien, hoofsaaklik vir nuus en musiek. Maar daar is baie inhoud wat daar aangebied word. Die sleutel hier is om die URL van die direkte stroom te vind. Byvoorbeeld, die BBC -nuus- en musiekstasies kan hier op hierdie blog gevind word. Hierdie direkte strome het geen grafiese koppelvlak nie en speel die stroom outomaties deur u mediaspeler. Dit is die URL's wat ons nodig het sodat VLC dit kan lees! U kan enige skakel vinnig in u webbrowser of via VLC op u gewone rekenaar toets om te verseker dat dit op die pi werk.

Om hierdie stasies te vind, kan u die direkte stroom aanlyn soek as die diens dit aanbied. 'N Vinnige manier kan ook wees om die stroom af te speel, met die rechtermuisknop op die blaaier en klik op "inspekteer element". Gaan na die netwerk -oortjie en dit moet die 'direkte' URL van die stroom aandui. Hierdie YouTube -video demonstreer dit. Dit moet help om die bladsy te verfris met die oortjie oop.

As u eers u stasies het, wil u dit aanlyn plaas sodat u senior Radio Radio -luislangprogram dit kan gryp. Daar is baie opsies om dit te doen; u kan webwerwe soos Github, bitbucket of selfs sourceforge gebruik. Die hoofdoel van die aanbied van hierdie lys aanlyn is dat die gebruiker wat dit opstel, die stroomlys op afstand aanlyn kan verander.

Aan die begin van die python -program is daar 'n veranderlike genaamd url, verander dit eenvoudig na die URL van u json -lêer met die stasie -URL -skakels

U kan dieselfde formaat volg as my internetStation.json -lêer. As u ook github wil gebruik, kan u my seniorRadio -bewaarplek vurk en u eie internetStation.json -lêer wysig en dit na die 'rou' URL wys. U kan dit hieronder in die Github GUI vind sodra u op die lêer geklik het.

Stap 5: Skep stroombane

Skep stroombane
Skep stroombane

Nou moet ons die kring instel. Dit sal verander op grond van u toerusting, maar hieronder is hoe ek myne opgestel het.

pinout.xyz/ vir verwysing oor watter penne is. Aangesien ons die gpiozero -biblioteek gebruik, is ons slegs betrokke by die nommering van die BCM -pen. Let op dat ek 'n paar ekstra KY040 roterende encoders gekoop het - die draaiknoppies - om dit te toets, aangesien almal nie dieselfde akkuraatheid het nie. Elkeen sou 'n "bons" of bloot 'n verkeerde uitset hê, so ek het die beste van die twee wat ek gehad het, gekies. In die kode sal u opmerk dat daar ook 'n paar stappe is om hierdie weerkaatsing te beperk.

Ek het my drukknop aan BCM -pen 17 gekoppel en gemaal

My LED na 'n 1k ohm -weerstand, dan BCM -pen 27 en gemaal

My KY040 roterende encoders het die + lei tot 5V, die GND na die aarde en SW ontkoppel. Dit is verbind met 'n mini -broodbord

Station roterende encoder dt pin gekoppel aan BCM pin 21

Stasie roterende encoder clk pin gekoppel aan BCM pen 20

Klankvlak roterende encoder dt pin gekoppel aan BCM pin 19

Klankvlak klankpen met klankvlak gekoppel aan BCM -pen 16

As u hierdie penne verander, moet u die nommer in die luislangprogram ook opdateer waar dit die hanteerders instel

Ek het 'n mini -broodbord gebruik om dit makliker te maak. Ek het ook M/M- en M/F -draaddrade gebruik om die koppelvlak te vergemaklik. Ek het 'n paar draaddrade aan die penne van die drukknop/LED wat ek vroeër gekoop het, gesoldeer. Om nie te soldeer nie, kan u drukknoppies en LED's kry wat reeds draaddraaddraad het of maklik aan een kan koppel.

Stap 6: Toets dit

U behoort 'n funksionerende stelsel te hê! Kom ons toets dit. Navigeer na die gids met die python -program, waarskynlik:

cd seniorRadio

python3 seniorRadio.py

Tans is daar 'n vertraging van 45 sekondes aan die begin van die program om tyd te gee om die bluetooth -luidspreker aan te skakel. U kan kommentaar lewer op hierdie reël as u dit nie nodig het tydens die toets nie. Die program sal u moontlik vertel dat u ekstra pakkette moet installeer. Miskien moet u ook 'n nuwer weergawe van Python installeer.

sudo apt-get install python3.7

'N Paar moontlike probleme, selfs al loop die program:

Ek hoor geen geluid nie

Maak seker dat die luidspreker aangeskakel is en gekies is in u framboospi. Deur die GUI moet u dit kan koppel en dit dan as u klankuitvoerapparaat kan kies. Gaan ook u klankbestuurders na. 'N Algemene probleem is dat u moontlik die pulseaudio -pakket moet herinstalleer

Klank onstuimig of sny in en uit

Probeer om die toestel nader aan u WiFi -router te skuif. Maak ook seker dat die bluetooth -luidspreker naby is. Dit kan ook 'n klankbestuurder -probleem wees

Stap 7: Plaas dit in 'n permanente omhulsel

Plaas dit in 'n permanente omhulsel
Plaas dit in 'n permanente omhulsel

Plaas dit dan in 'n boks of 'n soortgelyke toestel sodat dit permanent kan woon. Ek beveel aan dat u een het wat u later nog kan gebruik om te ontfout. Ek het hierdie klein houtkissie vir $ 2 by 'n handwerkwinkel gekry en dit op die voorraadbladsy gekoppel. Een van my vriende het 'n sigaarkissie aanbeveel.

Ek sny dan gate aan die voorkant vir die drukknop en draaiknoppies uit en boor 'n gat aan die agterkant van die boks vir die microUSB -netsnoer.

Ek het die houer getoets en seker gemaak dat dit werk, en voilà!

Uiteindelik het ek supergom gebruik om die drukknop vas te hou. My broodbord het 'n kleefstof aan die onderkant wat ek aan 'n deel van die boks kon koppel. Ek het 'n klein strook kleeflint gebruik om die agterkant van die pi aan die boks vas te maak, sodat dit later verskuif kan word indien nodig.

Stap 8: Stel die program op om te begin tydens opstart

Uiteindelik sal u waarskynlik wil hê dat hierdie python -program moet begin wanneer die framboos -pi begin word, sodat u dit nie met die hand hoef te doen nie. Daar is baie maniere om dit te doen wat u aanlyn kan vind.

Persoonlik het ek dit op die tweede manier opgestel in hierdie SparkFun-tutoriaal:

Hier wag dit totdat die stelsel die grafiese lessenaar binnegaan voordat die program uitgevoer word. Dit word dan deur die luislangprogram vir 45 sekondes vertraag om die stelsel tyd te gee om weer aan te sluit by die bluetooth -luidspreker. As u 'n geïntegreerde luidspreker gebruik, kan u hierdie vertraging verwyder. Let daarop dat die bluetooth -luidspreker eers moet aanskakel! (vir die bluetooth -oplossing)

Nou kan u probeer om u pi uit te skakel en weer aan te skakel! Na ongeveer 90 sekondes moet u pi weer begin om die radiostrome te speel. As u op die drukknop druk, sal dit onderbreek/speel. Let op dat hierdie herlaai weer die json-lêer van internetStations herlees, dus as u van stasie verander, moet u die toestel herlaai sodat dit kan werk. Baie geluk!

Laat weet my as u dit gemaak het of die projek verander het.

Github -bladsy:

Aanbeveel: