Sisukord:

Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR: 13 sammu
Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR: 13 sammu

Video: Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR: 13 sammu

Video: Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR: 13 sammu
Video: Тополь цветёт_Рассказ_Слушать 2024, Juuli
Anonim
Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR
Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR
Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR
Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR

Mõnikord peab see lihtsalt olema kombatav. Ei mingit liidest. Lihtsalt nupud.

Raspberry Pi Interneti -raadiomängijana pole midagi uut ja seal on palju juhiseid selle kohta, kuidas luua Interneti -raadio -mängija, kasutades vaarika pi koos monitoriga või ilma, et voogesitada Interneti -jaamu kogu maailmast. Kui valiksite ilma peata (ilma kuvarita), oleks teil siiski vaja pi -mängijaga liidestamist, tavaliselt veebiliidest, kui mitte otsest vahendit hostiga suhtlemiseks, näiteks ssh. See juhend on pisut erinev; kasutame pi -le käskude saatmiseks lihtsaid nupuvajutusi, välistades seega vajaduse veebiliidese ja LCD -ekraani järele. Kõlab piisavalt lihtsalt, eks (?)

Alustame väga lihtsa disainiga, kasutades värvikodeeritud nuppe, iga värv tähistab Interneti -raadiojaama. Tutvustame nuppude vajutamiseks mõnda python-koodi: ajakirjandus täidab käsu eelkodeeritud Interneti-raadiojaama esitamiseks, kasutades MPG123, mis on suurepärane käsurea tööriist meie pi heli kuulamiseks.

Teie pythonioskused ei pea arenema. Tegelikult läksin sõna otseses mõttes "Tere maailmast" selle kirjutamiseni ja nagu näete, laenasin palju koodi - nii et kui ma saan seda teha ja selle mõnevõrra dokumenteerida, ei tohiks kellelgi teisel probleeme olla.

Lähme!

Tarvikud:

Vajalikud materjalid

  • Vaarika pi/ pi null koos kõigi kinnitustega: toiteallikas, SD -kaart ja Raspbian või Raspbian lite.
  • Wifi ja internetiühendus
  • Teine arvuti, mis võimaldab veebis sirvida ja vaarika pi -le SSH -d teha
  • Digitaal -analoogmuundur (DAC) - valikuline, kuid olete tänulik.
  • Võimendi
  • Kõlarid
  • Haaketraat ja džemprid
  • Jootekolb ja jootekolb
  • Perf Board nuppude jaoks
  • Puutetavad nupud: tavaliselt avatud- üks iga muusikažanri jaoks, toitenupp ja valikuline vaigistusnupp (soovitatav on 7 nuppu)
  • Korpus kõigi ülaltoodute jaoks (valikuline, kuid korras)

Samm: eeltingimused:

Eeltingimused
Eeltingimused

Alustame eeldusega, et olete oma vaarika pi, DAC -i ja võimendi juba seadistanud ning eeldame, et teil on juurdepääs Internetile. Heliseadmete valikute, eelistuste ja heli kuulamise võimaluste hulga tõttu eeldame, et teie seadistus on juba lõpule viidud: enne selle projekti alustamist peaks teie kõlaritest heli tulema. Peame ka ssh -d vaarika pi -le edastama, nii et kasutades pi konfiguratsiooni, veenduge, et liidesed oleksid ssh lubatud. Ma kasutan Raspbian lite'i ja soovitan teil selle projekti jaoks mõeldud värskele SD -kaardile installida uusim koopia. Kui see õnnestub, ehitame eraldiseisva seadme, mille saab spetsiaalse kuulamisseadmena ööpäevaringselt sisse lülitada.

Samm: installige Python ja Pip

Ma eelistan kasutada piS -i teise arvuti abil ja täita kõiki nõutavaid funktsioone ssh -seansi abil, kuid ma arvan, et on võimalik esialgu seadistada pi monitorile, klaviatuurile ja hiirele ning töötada otse pi -ga, kuni see on töötab ja seejärel eraldiseisvana kasutusele võetakse.

Kõigepealt kontrollime regulaarselt meie süsteemi ja pythoni versiooni:

sudo apt-get update

sudo apt-get upgrade

Veenduge, et Python oleks installitud. Tippige terminaliseansis käsureale järgmine käsk:

python -versioon

Kui näete python 2.7.13 (või varasemat), installime python 3.+:

sudo apt-get install python3

sudo apt-get install python-pip

sudo apt-get install python3-pip

sudo pip3 install -uuenda pip

Samm: installige MPG123 ja Adafruit Blinka

Nüüd, kui vundament on pandud, on veel mõned paigaldused:

MPG123 on helitarkvara, mis esitab meie muusikat. Paigaldamine on tõesti lihtne:

sudo apt-get install mpg123

Uurisin palju ja leidsin Adafruit'i veebisaidilt suurepärase malli helifailide mängimise kohta nupuvajutuste abil, nii et nullist alustamise asemel jätkake Adafruit'i inimeste rada meie jaoks. Nende programm palub meil installida Adafruit Blinka:

$ sudo pip3 installige adafruit-blinka

Enne kaugemale minekut kontrollime kiiresti, kas meil on Alsa seadistus:

aplay -versioon

meie tulemused peaksid olema järgmised: versioon 1.1.3, autor Jaroslav Kysela

Samm: reguleerige Alsamixeri helitugevus 50% -le

Reguleerige helitugevust Alsamixeris 50% -ni
Reguleerige helitugevust Alsamixeris 50% -ni
Reguleerige helitugevust Alsamixeris 50% -ni
Reguleerige helitugevust Alsamixeris 50% -ni

Võtame nüüd ettevaatusabinõu ja reguleerime helitugevust 50% -le, et vältida kõrvulukustavaid üllatusi:

Tippige käsureale alsamixer:

alsamixer

Kui vaatame punast valget ja rohelist ekraani või 100% maksimaalset helitugevust, on meie kuulmekilede säästmiseks hea helitugevus vähendada 50% -ni. Vajadusel saame alati hiljem reguleerida (üles või alla).

5. samm: mõned kodutööd: leidke 5 raadiojaama, mida tasub kuulata

Mõned kodutööd: leidke 5 raadiojaama, mida tasub kuulata
Mõned kodutööd: leidke 5 raadiojaama, mida tasub kuulata
Mõned kodutööd: leidke 5 raadiojaama, mida tasub kuulata
Mõned kodutööd: leidke 5 raadiojaama, mida tasub kuulata

Vajame iga nupu jaoks ühte jaama. Tegelikult vajame jaama URL -i. Nupuvajutusega helistatakse Interneti -raadiojaama URL -ile lihtsa, ühe rea bitti. Kuid me oleme endast ees, nii et meil on vaja teha mõned kodutööd; leidke 5 raadiojaama ja nende URL -id. 5 raadiojaama leidmine pole keeruline, kuid nende URL -ide leidmine võib olla keeruline. Seletan hetke pärast miks.

SomaFm * on suurepärane allikas alustamiseks, eriti kui teil pole veel aimugi, mida soovite kuulata. Neil on palju erinevaid eklektilisi muusikavalikuid, millest ükski pole minu arvates solvav, reklaamideta ja parim osa: nad jagavad avalikult oma URL -e. URL -i hankimiseks klõpsake huvipakkuva jaama pilti ja vasakpoolsel navigeerimisribal klõpsake „Otsevoo lingid“. Sealt leidke MP3 jaotis ja kraapige kõrgeima taasesituse määraga URL (st 128 lööki 64). Kleepige URL praegu tekstiredaktorisse või märkmikku.

Jõulukivide kraapimiseks on URL näiteks: (me ei vaja serveri kirjeldust)

ice4.somafm.com/xmasrocks-128-mp3

Väljaspool SomaFmi maailma muutub see natuke keerulisemaks. Paljud jaamad kasutavad kuulaja ja raadiojaama vahelist vahendajat, olgu see siis reklaam, turundus või võimalusel jälgimine - ja üldiselt püüan seda tüüpi jaamu vältida. Kuna vahendajad eelistavad, et kuulaksite jaama nende kaudu, on tavaliselt URL -i leidmine üsna keeruline; ja sinna tuleb Vtuner.

*Oleksin kahetsusväärne, kui ma ei paluks teil kaaluda oma lemmikraadiojaamale annetuse tegemist, kuna paljud jaamad loodavad ainult kuulajate toele.

6. samm: valikuline: kraapige URL -id Vtuneri abil

Valikuline: kraapige URL -id Vtuneri abil
Valikuline: kraapige URL -id Vtuneri abil
Valikuline: kraapige URL -id Vtuneri abil
Valikuline: kraapige URL -id Vtuneri abil

Nüüd tuleb lõbus osa…. Vtuneri avalehel vaadake nende tohutut jaamade loendi linki paremas ülanurgas. Valige muusikažanr, mis teid huvitab, ja seejärel sorteerige kiireima kiirusega, kus näete jaamade loendit. Valige jaam, mis teile võib meeldida, klõpsake lingil või esitusnupul ja proovige muusikat. Kui see pole teie jaoks, ärge muretsege, korrake seda protsessi, kuni leiame pikaajaliseks nautimiseks sobiva. Ekraanipildil valisin kantrimuusika digitaalse impulsi versiooni ja järgmisel ekraanil märkasin, et see mängib Horvaatiast välja. Horvaatia kantrimuusika kõlab üsna huvitavalt.

Mulle meeldib see. Aga kuidas ma url -i saan? Lihtsalt tehke paremklõps jaama pildil paremal oleval tühikul jaama nime all ja valige "Vaata lehe allikat" ja kerige alla umbes 150. reale. Otsime rida "// Proovi jääga hakkama saama ". Ja URL leitakse kohe alt!

orion.shoutca.st:8110/stream

Päris libe!

Korrake seda sammu, kuni meie loendis on vähemalt 5 jaama.

Kahekordne valikuline: kui leiate lisamõõduks 5 huvitavat muusikažanrit (erinevalt 5 jaamast), koostage iga žanri jaoks raadiojaamade loend ja salvestage need tekstifailidena. Selle juurde tuleme hiljem tagasi.

Samm: seadistage meie nupud

Seadistage meie nupud
Seadistage meie nupud
Seadistage meie nupud
Seadistage meie nupud

Kõige tähtsam osa! Puhastage vana jootekolbi tolm või vähemalt ühendage see vooluvõrku ja küpsetage tolm ära. On aeg Solder. Ma kasutan 4 harulist hetkelist surunuppu, tavaliselt avatud. Ma ehitan hulga nuppe (vasakpoolne foto) ja kinnitan need mõnele plaadile. Fotol on seda raske öelda, kuid nuppude suund liigub põhja-lõuna suunas. Paremal küljel näete, kus ma oma maandusjuhtmete jaoks maandusliini juhtisin ja iga nupu vastasküljele kinnitasin mõned isased otsad. Selle asemel, et omada seitset maandusühendust, võimaldab rööp meil kõigi jaoks jagada ühte maaühendust pi -ga. Lõpptulemuseks on õrn vahvliplaat, mis kinnitatakse raadio ülaosale, kasutades mõningaid kruvisid läbi kaasasolevate prooviaukude. Ainult nööpide ülaosa ilmuvad läbi soone, mille olen ülaosast välja lõiganud. Kuna mu pealispind on vaid 1/4 tolli paks, tahan olla ettevaatlik, et mitte üle keerata. Liim võib olla kasulik, et hoida perfoplaat raadio küljes.

Samm: tuvastage meie GPIO -tihvtid

Tuvastage meie GPIO tihvtid
Tuvastage meie GPIO tihvtid
Tuvastage meie GPIO tihvtid
Tuvastage meie GPIO tihvtid

Oma ainukeses juhendatavuses esitasin Google AIY versiooni 1 vanade häälemütside uue kasutusviisi. Selles laialdaselt ebapopulaarses (või vähe populaarses) juhendis mainisin, kui muljet avaldas mulle mütsi enda kujundus. Mul on paar asetamist, nii et ehitan mütsi abil prototüüpi, kuna sellel on nii dac kui ka võimendi.

Tuvastame nüüd kuus tihvti, mis meie nupuvajutusi korraldavad. Ma palun teil keskenduda Google'i AIY mütsi vasakule küljele, kus on kirjas "servod". Nööpnõela jaoks on 6 aasast koosnev veerg, kuhu ma kinnitan ja jootan oma isanupu otsad meie eelmisest sammust. Kui peaksite töötama ilma google aiy häälmütsita, ärge muretsege - paremal olev foto juhendab teid. Mõlemal juhul töötame gpio (BCM) tihvtidega 26, 06, 13, 05, 12 ja 24 ülevalt alla (või 0-5). GPIO #24 on reserveeritud valikulisele pausi nupule.

Ärge unustage ka maandusühendust kinnitada.

9. samm: kood

Ma kahtlen, et kood muutub siit palju, kuid pythoni koodi uusima versiooni jaoks külastage minu githubi. Lisasin 18.12.2019 seisuga koopia nimega pytiful3.py.

See pole kõige tõhusam kood, mida kunagi näete, ja see on üsna paljusõnaline, kuid saab töö tehtud.

Alustuseks loome mängimiseks liivakasti. Looge oma kodukataloogist meie vaarikapi kataloog kissir:

mkdir kissir/

ja kopeerige faili pytiful3.py sisu kataloogi, avades näidistoimiku tekstiredaktoris ja kasutades

sudo nano kissir/pytiful3.py

kopeerige / kleepige faili sisu meie äsja loodud pythoni skripti. Ärge unustage salvestada meie tööd, kasutades Ctrl-x, Y ja sisestusklahvi.

Kui soovite skripti kiiret tutvumist, impordime vajalikud pythoni moodulid ja seejärel määratleme oma nupud ning määrame igale 7 nupule gpio nööpnõela. Seal on 5 raadiojaama (muutke julgelt oma jaama eelistuste järgi), peatamisnupp ja väljalülitusnupp. Kuigi tõeline tsükkel töötab ja kestab seni, kuni vajutatakse nuppu, mis enamikul juhtudel peatab olemasoleva mpg123 taasesituse ja hakkab mängima jaama, mis on määratud vajutatud nupule. Pausi/peatamise nupp ei ole tegelikult pausi nupp, vaid pigem tapmislüliti, kuna me ei saa Interneti -raadiot peatada. Interneti -raadio ei oota kedagi.

Samm: testige meie liivakastis

Test meie liivakastis
Test meie liivakastis

Enne raadio kasutuselevõttu navigeerige ssh -seansi ajal kissiri kausta, kus on meie skript. Skripti saame käsurealt lihtsalt käsitsi käivitada, tippides:

python3 pytiful3.py

Kui piilusite kõigepealt koodi, siis ilmselt märkasite, et jätsin mõned trükitud avaldused, et saaksime toimuvat öelda. Kui kõik õnnestus hästi, kuvatakse meil viip "Vajuta nuppu". See ütleb meile, et meie skript töötab ja see läbis esialgse koodi kontrolli. Minu esialgsel katsel oli lõpmatu tsükkel "muusika peatatud - vajutage jätkamiseks nuppu" ja ma avastasin, et mul on pausi nupp juhtmega ühendatud, et see oleks alati suletud, mitte tavaliselt avatud. Loodetavasti oli teil jootmisetapil parem õnn.

Ctrl-C peatab skripti, kui peate katkestama.

Nii et kui näete nuppu "Vajutage nuppu", siis mida me ootame? Valige ükskõik milline meie viiest raadiojaama nupust.

Tõenäoliselt kuulete tõenäoliselt muusika taasesituse alustamiseks kõlarit, ja ma ei saa sellega praegu aidata. Mpg123 lubab os.system käsus jaama aadressi järel lisada järelliite "-preload 1", kuid ma ei osanud öelda, kas see muutis midagi. See peaks võimaldama kerget puhvrit.

Veel üks kood, mida olete mõelnud: pärast mpg123 kõnet on lipp "-f 7000". See vähendab helitugevust maksimaalse helitugevuse kaugusele. Täismaht oleks 32K. Nagu ma aru saan, ei ole helitugevuse skaala lineaarne, seega ei saa ma öelda, et see on ainult viiendik maksimaalsest helitugevusest, kuid siiski palju valju. Ma pidin seda tegema, sest minu helikaart - Google'i AIY häälkaart - ei mängi mõnikord Alsamixeriga kenasti.

Jätkake nuppude valimist oma äranägemise järgi, istuge maha, lõdvestuge ja nautige oma kuulamismugavust.

Samm: seadistage meie kood käivitamiseks automaatselt töötama

Nii et kui kõik töötab hästi ja teile meeldis meie liivakasti käsuviip, on praegu õige aeg skripti laadimist automatiseerida. Veenduge, et olete endiselt kissiri kataloogis, ja asetage skripti kood kasutaja prügikasti:

sudo cp pytiful3.py/usr/local/bin/

Tehke see käivitatavaks:

sudo chmod +x /usr/local/bin/pytiful3.py

Kirjutage shelliskript selle käivitamiseks:

sudo nano pytiful3.sh

Ja sisestage järgmine tekst:

#! /bin/sh ### BEGIN INIT INFO # Pakub: pytiful3.py # Required-Start: $ remote_fs $ syslog # Required-Stop: $ remote_fs $ syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO # veenduge, et helitugevus poleks valju TODO # Tehke konkreetseid funktsioone, kui süsteemijuhtum "$ 1" seda nõuab) echo "Pytiful3.py käivitamine" /usr/local/bin/pytiful3.py &;; stop) echo "Stopping pytiful3.py" pkill -f /usr/local/bin/pytiful3.py;; *) echo "Kasutus: /etc/init.d/pytiful3.sh {start | stop}" exit 1;; esac väljumine 0

Teisaldage see kataloogi init.d:

sudo mv pytiful3.sh /etc/init.d/

Tehke see käivitatavaks:

sudo chmod +x /etc/init.d/pytiful3.sh

Registreerige skript käivitamiseks:

sudo update-rc.d pytiful3.sh vaikeseaded

12. samm: proovige uuesti

Nüüd, kui meie skript on käivitamisel käivitatud, pidage meeles, et kõik tehtud muudatused tuleb kasutajakasti üle kanda ja meie ilus, kissir/pytiful3.py skript on nüüd lihtsalt orv. Kuid heledam pool on see, et meil on veel mängida liivakasti. Tõenäoliselt jätkan stsenaariumiga mängimist, muudatuste tegemist ja salvestan selle lähitulevikus uue versioonina. See on ikka tööprojekt.

Teeme taaskäivituse, ootame pi taaskäivitamist ja umbes minuti pärast vajutame uuesti nuppu.

Kui teie helitugevus on väga madal, pidage meeles, et alsamixeri helitugevus on 50%, nii et saame seda vastavalt käsurealt tõsta.

Alustuseks on vaja ühte asja - globaalset helitugevust, selle asemel, et helitugevust 5 korda muuta.

Hei, kuidas on lood selle raadiojaamade loendiga, mille koostasime sammus nr 6? Selgub, et MPG123 -l on juhusliku valiku käsk. See on sama lihtne kui jaamade URL -ide loendi koostamine ja ühe raadiojaama URL -i nõudmise asemel kasutage lihtsalt

"btn1234_choice = random.choice (btn1234)", kohe pärast meie jaamade loendi tuvastamist, kus btn1234_choice on meie loend. Ärge unustage kasutada komaga eraldatud jaamade loendi ümber nurksulge . Seejärel esitab alamprotsessi käsukõne meie juhusliku valiku:

subprocess.call (['mpg123', '-q', btn1234_choice, "-eellaadimine 1"])

13. samm: pange see kasti ja oleme valmis

Pane see kirja ja oleme valmis
Pane see kirja ja oleme valmis
Pane see kirja ja oleme valmis
Pane see kirja ja oleme valmis
Pane see kirja ja oleme valmis
Pane see kirja ja oleme valmis

Kui olete selle sammu juurde jõudnud, on töö lõppenud! Õnnitleme - olete just ehitanud eraldiseisva Interneti -raadio -mängija.

Sõltuvalt teie varustusest (kõlarid, dac ja võimendi) võite mõelda, kuidas mõnda juhtmestikku varjata. Võib -olla veel üks juhis mõneks päevaks, kuid kui kavatsete teha mõne juhtme ühendamiseks elamu, soovitan anda endale piisavalt ruumi.

Nagu ülaltoodud fotodelt näete - tegin tegelikult kaks kissiri, millest ühel kasutasin oma esimesel katsel liimiga ebaõnnestumise jäänuseid (väändunud huumorist tulevad väändunud lauad). Teine seade kasutab tavapäraste kõlarite asemel heli ergutajaid ja kui võtsite seadme nime ühelt minu ekraanipildilt, panin sellele nimeks slimbox.

Leidsin, et see projekt on päris lõbus. Mõlemal korral. Kindlasti mitte raske projekt, võib -olla natuke aeganõudev, kuid väga tasuv. Loodan, et teile meeldib ka kuulamine.

Soovitan: