Sisällysluettelo:

Senioriradio - Raspberry Pi: 8 vaihetta
Senioriradio - Raspberry Pi: 8 vaihetta

Video: Senioriradio - Raspberry Pi: 8 vaihetta

Video: Senioriradio - Raspberry Pi: 8 vaihetta
Video: BTT - Manta E3EZ - CB1 with EMMc install 2024, Marraskuu
Anonim
Vanhempi radio - Raspberry Pi
Vanhempi radio - Raspberry Pi

Senior Radio -hanke on avoimen lähdekoodin helppokäyttöinen suunniteltu Internet-radiolaite, jossa on sekä laitteisto- että ohjelmistokomponentteja. Se on tarkoitettu käyttäjille, jotka tuntevat taskuradion ohjauksen, jossa valitsimet säätävät äänenvoimakkuutta ja valittua radioasemaa. Projekti on tehty käyttäjäkeskeisellä suunnittelulla, joka on keskittynyt käyttäjään, joka haluaa saman kokoisen ja säätimen kuin tavallinen käsiradio.

Se rakennettiin tyydyttämään tarpeet, joiden avulla vammaiset voivat kuunnella tuhansia erilaisia Internet -suoratoistosisältöjä, jotka ovat yleensä vain normaalisti saatavilla Internet -selaimen kautta. Monilla ihmisillä ei ole mahdollisuutta käyttää tällaista laitetta helposti, joten tämän suunnittelun tarkoituksena on luoda tuttu käyttöliittymä nykyaikaiselle tekniikalle.

Perustoiminnot ovat Githubissa, ja ne on tallennettu python 3.7.3 -ohjelmaan nimeltä seniorRadio.py. Se lukee ja kirjoittaa json -tiedoston radion tilan tallentamiseksi, joten kun sammutat sen, se muistaa nykyisen äänitason ja valitun aseman. Lisäksi se lukee verkossa isännöityä json -tiedostoa, jonka voit muuttaa! Tämän avulla voit päivittää radioasemat etänä, jos annat sen jollekin toiselle.

Se on tällä hetkellä luotu muodostamaan yhteys Bluetooth -kaiuttimeen, mutta se voidaan helposti toistaa myös sisäisellä kaiuttimella.

Tämän laitteen luoja ei todennäköisesti ole käyttäjä, ja hän tarvitsee ainakin jonkin verran kokemusta elektroniikasta ja perustiedot ohjelmoinnista. Linux -kokemus on myös erittäin hyödyllinen.

Käyttäjälle toiminnot ovat yksinkertaisia:

Kun laite käynnistetään, se toistaa viimeksi valitun aseman oletusäänilaitteen kautta. Vasen valitsin ohjaa asemaa, jossa muutama valitsimen napsautus muuttuu uuteen URL -osoitteeseen. Se kääntyy edellisen tai ensimmäisen syötteen jälkeen. Oikea valitsin ohjaa äänitasoa. LED osoittaa, että ohjelma on päällä. Ja painike keskeyttää tai "sammuttaa" radion. Joten kun laite on kytketty päälle, käyttäjä voi vain painaa painiketta keskeyttääkseen/toistaakseen tai "sammuttaakseen/käynnistääkseen" radion ja kaksi valitsinta hallitakseen sitä.

Tarvikkeet

Jokaisessa tuotteessa on linkki siihen, mitä käytin. Maksoin yhteensä noin 60 dollaria ja runsaasti tarvikkeita!

Sähköisen ja linuxin perustiedot - kokoonpanoon ja virheenkorjaukseen

Raspberry Pi Zero W (Zero WH: n otsikot on valmiiksi juotettu ja todennäköisesti hyödyllinen)

MicroSD-kortti-8 Gt+ ja kyky o

MicroUSB 5V -virtasovitin - Link sisältää myös microHDMI -sovittimen ja microUSB OTG -USB A -sovittimen asennusta varten, jos tarvitset niitä

Bluetooth-kaiutin

M/F- ja M/M -hyppyjohdot

2 Pyörivä anturi - sama linkki kuin yllä

Pieni leipälauta

Paina nappia

LED (valinnainen) - ostettu LED + painike yllä

Laatikko pakkausta varten

Vaihe 1: Määritä (päätön) Raspberry Pi W

Asennus (päätön) Raspberry Pi W
Asennus (päätön) Raspberry Pi W

Meidän on asennettava käyttöjärjestelmä raspberry pi: lle, joka suorittaa ohjelmiston. Mikään näistä ei ole ainutlaatuista tälle projektille. Virheenkorjausta varten suosittelen asentamaan sen, jotta voit käyttää sitä myös päättömässä tilassa. Tämä tarkoittaa, että käytät pi: tä WiFi-verkon kautta graafisen käyttöliittymän tai SSH-päätelaitteen kautta, etkä tarvitse näppäimistöä, hiirtä ja näyttöä käyttääksesi sitä joka kerta. Voit tehdä tämän ilman, että sinun tarvitsee koskaan muodostaa yhteyttä näyttöön/hiireen/näppäimistöön, jos olet enemmän tekniikkaan perehtynyt. Tässä esimerkkejä ohjeista. Se on kuitenkin vähemmän suoraviivainen, ja alla on toinen tapa asettaa se.

Ensimmäisellä kerralla tarvitset todennäköisesti:

  • Raspberry Pi W
  • MicroSD -SD -korttisovitin [käyttöjärjestelmän kirjoittamiseen SD -kortille]
  • MicroSD -kortti (~ 8 Gt+) [käyttöjärjestelmän ja ohjelmamme tallentamiseen]
  • MicroUSB -virta (5V)
  • MicroUSB - USB A [hiirelle/näppäimistölle]
  • Mini -HDMI -HDMI -sovitin [näyttölähtöön]
  • Näppäimistö
  • Hiiri
  • Monitori

Ensin sinun on salattava käyttöjärjestelmä rPi micro SD -kortille.

Käytin raspian busteria, lataat tämän tietokoneelle, jossa on SD -kortin lukija/kirjoittaja, ja salakat sitten raspian -käyttöjärjestelmän SD -kortille. BalenaEtcher on helppo ohjelmisto tähän

Aseta seuraavaksi SD -kortti pi -korttipaikkaan, kytke näyttö, näppäimistö ja virta. Suorita raspianin kehottamat asennusvaiheet, mukaan lukien yhdistäminen WiFi -verkkoon ja pariliitos Bluetooth -kaiuttimeen graafisen käyttöliittymän kautta. Hyvä käytäntö olisi päivittää se seuraavilla komennoilla

sudo apt-get päivitys

sudo apt-get päivitys

Jos haluat sisällyttää pi: n merkitsemisen päättömäksi, meidän on ensin hankittava pi: n IP -osoite. Terminaalin kautta löydät sen

ifconfig

komento. Sinun on sitten otettava SSH ja VNC käyttöön liitäntävaihtoehdoissa

sudo raspi-config

Uudelleenkäynnistyksen jälkeen voit nyt testata pi: n käyttöä SSH: n tai VNC: n kautta. SSH on vain pääterajapinta, ja graafisen käyttöliittymän käyttäminen Bluetooth -kaiuttimen muodostamiseen voi olla helpompaa. Voit käyttää ohjelmaa, kuten VNC connect, päästäksesi helposti pi -laitteeseesi verkon erillisellä tietokoneella. Voit käyttää SSH: n kaltaista ohjelmaa siihen.

Lisäksi voit määrittää VNC -pilvitilin, jotta voit tarvittaessa käyttää laitetta verkon ulkopuolella

Vaihe 2: Asenna Senior Radio -ohjelmisto

Asenna Senior Radio -ohjelmisto
Asenna Senior Radio -ohjelmisto

Tämä voidaan tehdä vadelmapi: n pääteikkunasta. Varmista ensin, että git on asennettu

sudo apt-get install git

Asennetusta käyttöjärjestelmästä riippuen nämä vaiheet voivat olla erilaisia, koska saatat joutua asentamaan lisäpaketteja, järjestelmä ilmoittaa sinulle, jos näin on. Ensin meidän on ladattava vanhempi radiokoodi githubista. https://github.com/Bunborn/seniorRadio Ihannetapauksessa teet oman repomme, jotta voit tehdä muutoksia ja vaihtaa radioasemia helposti samalla tavalla kuin minä. Haasta repo, jos on

Voit kuitenkin käyttää samaa kuin minun ei ole ongelma, jos haluat isännöidä radio json -tiedostoa toisessa paikassa

Kloonaa sitten repo mihin tahansa paikkaan, jonka haluat sen olevan. Oletushakemisto on hyvä. Hanki haluamasi github -repon URL -osoite napsauttamalla vihreää kloonia tai latauspainiketta.

Takaisin pääteikkunaan, git klooni

Sinun pitäisi nyt nähdä ylimääräinen hakemisto nimeltä seniorRadio, kun käytät ls: ää. Fantastinen!

Koodin on tarkoitus olla itsedokumentoiva, ja sen katsominen olisi hyödyllistä. Erityisesti virheenkorjausta varten ja jos muutat järjestelmää.

Vaihe 3: Asenna lisäohjelmisto

Asenna lisäohjelmisto
Asenna lisäohjelmisto

Ennen kuin siirrymme piiriin ja testaamme sitä, meidän on myös ladattava VLC ja sen python -api. Sinulla voi olla jo VLC asennettuna. Kaksi ensimmäistä komentoa päivittävät pi: n, ja kaksi viimeistä komentoa alla asentavat VLC: n ja sitten python apin

sudo apt-get päivitys

sudo apt-get päivitys

sudo snap install VLC

sudo apt-get install vlc-python

Lisäksi asenna myös gpiozero, jota käytämme liittymään pi: n GPIO -nastoihin. Saatat jo asentaa sen käyttöjärjestelmästäsi riippuen.

sudo apt-get install gpiozero

Vaihe 4: Etsi radioasemia

Etsi radioasemia
Etsi radioasemia

Seuraavaksi yksi hauskimmista osista! Aika valita haluamasi striimit.

InternetStations.json -tiedostossani näet suoratoistolinkkini lähinnä uutisia ja musiikkia varten. Mutta siellä on paljon isännöityä sisältöä. Tärkeintä tässä on löytää suoravirran URL -osoite. Esimerkiksi BBC: n uutiset ja musiikkiasemat löytyvät täältä tästä blogista. Näillä suorilla virroilla ei ole graafista käyttöliittymää, ja ne toistavat virran automaattisesti selaimesi mediasoittimen kautta. Nämä ovat URL -osoitteita, joita tarvitsemme, jotta VLC voi lukea ne! Voit testata mitä tahansa linkkiä nopeasti web -selaimesi tai normaalin tietokoneen VLC: n kautta varmistaaksesi, että se toimii pi: llä.

Jos haluat löytää nämä asemat, voit etsiä suoraa suoratoistoa verkossa, jos palvelu isännöi sitä. Nopea tapa voisi olla myös toistaa stream, napsauttaa hiiren kakkospainikkeella selainta ja painaa "tarkastella elementtiä". Siirry verkko -välilehdelle, ja sen pitäisi osoittaa virran suora URL -osoite. Tämä youtube -video osoittaa tämän. Sivun päivittäminen välilehden ollessa auki auttaa.

Kun sinulla on asemat, haluat laittaa ne verkkoon, jotta seniorRadio -python -ohjelmasi voi napata ne. Tähän on monia vaihtoehtoja, voit käyttää sivustoja, kuten Github, bitbucket tai jopa sourceforge. Tämän luettelon online -ylläpidon päätarkoitus on, että sen määrittävä käyttäjä voi muuttaa stream -luetteloa etänä verkossa.

Python -ohjelman alussa on muuttuja nimeltä url, muuta tämä vain json -tiedoston URL -osoitteeksi aseman URL -linkkien avulla

Voit noudattaa samaa muotoa kuin InternetStation.json -tiedostoani. Jos haluat käyttää myös githubia, voit haarukoida seniorRadio -arkistoni ja muokata omaa InternetStation.json -tiedostoasi ja osoittaa sen "raakalle" URL -osoitteelle. Löydät sen alla Githubin käyttöliittymästä, kun olet napsauttanut tiedostoa.

Vaihe 5: Luo piirejä

Luo piirit
Luo piirit

Nyt meidän on asennettava piiri. Tämä muuttuu laitteistosi mukaan, mutta alla on miten asetan omani.

pinout.xyz/ viitteenä siitä, mitkä nastat ovat. Koska käytämme gpiozero -kirjastoa, olemme huolissamme vain BCM -pin -numeroinnista. Huomaa, että ostin muutamia ylimääräisiä KY040 -kiertokoodereita - valitsimia - testataksesi niitä, koska ne kaikki eivät ole yhtä tarkkoja. Jokaisella olisi "pomppiva" tai yksinkertaisesti väärä ulostulo, joten valitsin parhaan kahdesta. Koodissa huomaat, että on myös joitain vaiheita tämän poistumisen rajoittamiseksi.

Liitin painikkeen BCM -nastaan 17 ja maahan

Oma LED 1k ohmin vastukseen, sitten BCM -nasta 27 ja maa

KY040 -pyörivien anturien + -johto oli 5 V, GND maahan ja SW irrotettu. Nämä yhdistettiin minileipälevyn kautta

Aseman kiertokooderin dt -nasta yhdistetty BCM -nastaan 21

Aseman kiertokooderin clk -nasta on kytketty BCM -nastaan 20

Äänitason pyörivä enkooderin dt -nasta yhdistetty BCM -nastaan 19

Äänitasoinen pyörivä anturi clk -nasta kytketty BCM -nastaan 16

Jos muutat näitä nastoja, päivitä vain numero python -ohjelmassa samoin kuin se, missä se asettaa käsittelijät

Käytin pientä leipälautaa helpottamaan tätä. Käytin myös M/M- ja M/F -hyppyjohtimia käyttöliittymän helpottamiseksi. Juotin joitakin hyppyjohtojohtoja aiemmin ostamani painikkeen/LEDin nastoihin. Jos et juota, voit saada painikkeita ja LED -valoja, joissa on jo hyppyjohdinjohdot tai jotka voidaan helposti yhdistää yhteen.

Vaihe 6: Testaa

Nyt sinulla pitäisi olla toimiva järjestelmä! Testaa se. Siirry kansioon, jossa on python -ohjelma, todennäköisesti:

cd vanhempi radio

python3 seniorRadio.py

Tällä hetkellä ohjelman alussa on 45 sekunnin viive, jotta se voi löytää Bluetooth -kaiuttimen käynnistyksen aikana. Voit kommentoida tätä riviä, jos et tarvitse sitä testin aikana. Ohjelma saattaa kertoa, että sinun on asennettava lisäpaketteja. Jos näin on, jatka. Voi myös olla tarpeen asentaa uudempi Python -versio.

sudo apt-get install python3.7

Joitakin mahdollisia ongelmia, vaikka ohjelma toimisi:

En kuule ääntä

Varmista, että kaiutin on päällä ja valittuna vadelmapi -laitteestasi. Graafisen käyttöliittymän kautta sinun pitäisi pystyä yhdistämään se ja valitsemaan se sitten äänilähtölaitteeksi. Tarkista myös ääniohjaimet. Yleinen ongelma on, että sinun on ehkä asennettava pulseaudio -paketti uudelleen

Ääni katkeaa tai leikkautuu sisään ja ulos

Yritä siirtää laite lähemmäs WiFi -reititintä. Varmista myös, että Bluetooth -kaiutin on lähellä. Voi myös olla ongelma ääniohjaimessa

Vaihe 7: Laita pysyvä kotelo

Laita pysyvään koteloon
Laita pysyvään koteloon

Seuraavaksi laita se laatikkoon tai vastaavaan laitteeseen, jotta se voi elää pysyvästi. Suosittelen, että sinulla on sellainen, jota voit käyttää myöhemmin edelleen virheenkorjausta varten. Sain tämän pienen puulaatikon käsityökaupasta 2 dollarilla ja linkitin sen tarvikkeiden sivulle. Yksi ystävistäni suositteli sikarilaatikkoa.

Leikkasin sitten edessä reiät painikkeelle ja kiertokytkimille ja porasin reiän laatikon takaosaan microUSB -virtajohdolle.

Testasin telineen ja varmistin, että se toimii, ja voilà!

Lopuksi käytin superliimaa pitämään painiketta painettuna. Leipälaudan pohjassa oli liima, jonka liitin osaan laatikkoa. Käytin pientä kangasnauhaa pi: n takaosan kiinnittämiseen laatikkoon, joten sitä voidaan tarvittaessa siirtää myöhemmin.

Vaihe 8: Asenna ohjelma käynnistyksen yhteydessä

Lopuksi haluat todennäköisesti tämän python -ohjelman käynnistyvän vadelmapi käynnistettäessä, joten sinun ei tarvitse tehdä sitä manuaalisesti. On monia tapoja tehdä tämä, jotka löydät verkosta.

Henkilökohtaisesti asetin sen tämän SparkFun-opetusohjelman toisella tavalla:

Täällä se odottaa järjestelmän siirtymistä graafiselle työpöydälle ennen ohjelman suorittamista. Tämän jälkeen python -ohjelma viivästyttää sitä 45 sekuntia, jotta järjestelmällä on aikaa muodostaa yhteys Bluetooth -kaiuttimeen. Jos käytät integroitua kaiutinta, voit poistaa tämän viiveen. Huomaa, että bluetooth -kaiuttimen pitäisi olla ensin päällä! (bluetooth -ratkaisulle)

Nyt voit yrittää sammuttaa ja käynnistää pi: n uudelleen! Noin 90 sekunnin kuluttua piisi pitäisi aloittaa radiovirtojen toisto uudelleen. Kun painat painiketta, se pysähtyy/toistaa. Huomaa näistä uudelleenkäynnistyksistä, että se lukee uudelleen InternetStations json -tiedoston, joten jos vaihdat asemia, sinun on käynnistettävä laite uudelleen, jotta ne toimivat. Onnittelut!

Jos teit tämän tai teit muutoksia projektiin, kerro siitä minulle!

Github -sivu:

Suositeltava: