Sisukord:
- Samm: eeltingimused:
- Samm: installige Python ja Pip
- Samm: installige MPG123 ja Adafruit Blinka
- Samm: reguleerige Alsamixeri helitugevus 50% -le
- 5. samm: mõned kodutööd: leidke 5 raadiojaama, mida tasub kuulata
- 6. samm: valikuline: kraapige URL -id Vtuneri abil
- Samm: seadistage meie nupud
- Samm: tuvastage meie GPIO -tihvtid
- 9. samm: kood
- Samm: testige meie liivakastis
- Samm: seadistage meie kood käivitamiseks automaatselt töötama
- 12. samm: proovige uuesti
- 13. samm: pange see kasti ja oleme valmis
Video: Hoides seda vaikselt Lihtne Interneti -raadio: KISSIR: 13 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
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:
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
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
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
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
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
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
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
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:
Hämmastav ferrofluid-ekraan: elektromagnetite poolt vaikselt juhitav: 10 sammu (piltidega)
Hämmastav ferrofluid-ekraan: elektromagnetite poolt vaikselt juhitav: vastutusest loobumine: see juhend ei paku otsest viisi suure ferrofluid-ekraani loomiseks, nagu meie "Fetch". See projekt on nii suur ja kallis, et kõigil, kes soovivad midagi sarnast ehitada, on peaaegu kindlasti probleeme
Relee energiatarbimise vähendamine - hoides versus pikendusvoolu: 3 sammu
Relee energiatarbimise vähendamine - hoidmine versus vastuvõtuvool: Enamik releed vajavad esialgu käivitamiseks rohkem voolu kui relee sisselülitamisel pärast kontaktide sulgemist. Relee hoidmiseks vajalik vool (hoidevool) võib olla oluliselt väiksem kui käivitamiseks vajalik esialgne vool
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada: 3 sammu
DIY MusiLED, muusika sünkroonitud LED-id ühe klõpsuga Windowsi ja Linuxi rakendusega (32-bitine ja 64-bitine). Lihtne taastada, lihtne kasutada, lihtne teisaldada .: See projekt aitab teil ühendada 18 LED-i (6 punast + 6 sinist + 6 kollast) oma Arduino plaadiga ja analüüsida arvuti helikaardi reaalajasignaale ning edastada need valgusdioodid, mis neid löögiefektide järgi süttivad (Snare, High Hat, Kick)
Odav, lihtne, Interneti -juhitav koduautomaatikasüsteem: 5 sammu (koos piltidega)
Odav, lihtne ja internetiga juhitav koduautomaatikasüsteem: kui teil on lemmikloomi/lapsi ja teil on vaja neid Interneti kaudu toita või peksta, võib see süsteem teile kasulik olla. See on väga lihtne ja odav viis kodus mootorite, LED -ide jms juhtimiseks mis tahes veebiga ühendatud arvutist. Kõik, mida vajame, on veebikaart
Kuidas teha mälupulk, mis kopeerib kasutajate failid vaikselt ja automaatselt: 7 sammu
Kuidas teha mälupulk, mis kopeerib kasutajate failid vaikselt ja automaatselt: ****** KÄESOLEV JUHTIMIS ON AINULT TEABE -EESMÄRGID EI OLE EBAÕIGUSLIK KOOPIDA MÕNI FILMI ilma nende loata Teavet kasutatakse valesti **************** Kuidas luua