Kazalo:

Radio za starejše - Raspberry Pi: 8 korakov
Radio za starejše - Raspberry Pi: 8 korakov

Video: Radio za starejše - Raspberry Pi: 8 korakov

Video: Radio za starejše - Raspberry Pi: 8 korakov
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Julij
Anonim
Radio za starejše - Raspberry Pi
Radio za starejše - Raspberry Pi

Projekt Senior Radio je odprtokodno dostopna zasnovana internetna radijska naprava s strojno in programsko komponento. Namenjen je uporabnikom, ki poznajo upravljanje žepnega radia, kjer številčnice nadzorujejo glasnost in izbrano radijsko postajo. Projekt je narejen z zasnovo, osredotočeno na uporabnika, osredotočeno na uporabnika, ki želi podobno velikost in nadzor kot standardni ročni radio.

Zgrajen je bil tako, da bi omogočil invalidom, da lahko poslušajo na tisoče različnih vsebin za pretakanje v internetu, ki so običajno običajno na voljo le prek spletnega brskalnika. Mnogi ljudje nimajo možnosti enostavne uporabe takšne naprave, zato je namen te zasnove narediti znani vmesnik za sodobno tehnologijo.

Osnovna funkcionalnost je v Githubu, shranjena v programu python 3.7.3, imenovanem seniorRadio.py. Prebere in zapiše datoteko json za shranjevanje stanja radia, zato si bo ob izklopu zapomnil trenutno izbrano raven zvoka in postajo. Poleg tega bere spletno datoteko json, ki jo lahko spremenite! To vam omogoča, da radijske postaje posodabljate na daljavo, če to daste nekomu drugemu.

Trenutno je ustvarjen za povezavo z zvočnikom bluetooth, vendar bi ga bilo mogoče enostavno predvajati tudi na vgrajenem zvočniku.

Ustvarjalec te naprave verjetno ni uporabnik in potrebuje vsaj nekaj izkušenj z elektroniko in osnovnim znanjem programiranja. Tudi izkušnje z Linuxom so zelo uporabne.

Uporabniku je funkcija preprosta:

Ob vklopu bo predvajal zadnjo postajo, izbrano na privzeti zvočni napravi. Levi gumb za upravljanje nadzoruje postajo, kjer se z nekaj kliki številčnice spremeni v nov URL. Premaknila se bo po zadnjem ali prvem vnosu. Desni gumb za nadzor nivoja zvoka. LED lučka označuje, da je program vklopljen. Gumb začasno ustavi ali "izklopi" radio. Torej, ko je vklopljen, lahko uporabnik samo pritisne gumb, da ustavi/predvaja ali "izklopi/vklopi", radio in dva številčnika, da ga nadzira.

Zaloge

Na vsakem artiklu je povezan tisti, ki sem ga uporabil. Skupaj me je stalo približno 60 USD z veliko zalog!

Osnovno znanje o elektroniki in linuxu - za sestavljanje in odpravljanje napak

Raspberry Pi Zero W (Zero WH ima glave že spajkane in verjetno uporabne)

Kartica MicroSD-8 GB+ in sposobnost o

Napajalnik MicroUSB 5V - povezava vključuje tudi adapter microHDMI in adapter microUSB OTG na USB A za nastavitev, če jih potrebujete

Bluetooth zvočnik

M/Ž in M/M mostični kabli

2 Rotacijski dajalnik - ista povezava kot zgoraj

Majhna plošča

Pritisni gumb

LED (neobvezno) - kupljena LED + gumb zgoraj

Škatla za pakiranje

1. korak: Namestitev (brez glave) Raspberry Pi W

Namestitev (brez glave) Raspberry Pi W
Namestitev (brez glave) Raspberry Pi W

Operacijski sistem moramo nastaviti na maline pi, ki bo zagnala programsko opremo. Nič od tega ni edinstveno za ta projekt. Za odpravljanje napak priporočam, da ga nastavite tako, da do njega dostopate tudi v načinu brez glave. To pomeni, da dostopate do pi prek omrežja WiFi prek grafičnega vmesnika ali terminala SSH in ne potrebujete tipkovnice, miške in monitorja za vsakokratno uporabo. To lahko storite, ne da bi se morali povezati z monitorjem/miško/tipkovnico, če ste bolj podkovani v tehnologiji. Nekaj primerov navodil tukaj. Vendar je to manj naravnost, spodaj pa je še en način za njegovo nastavitev.

Prvič boste verjetno potrebovali:

  • Malina Pi W
  • Adapter za kartico MicroSD na SD [za zapis operacijskega sistema na kartico SD]
  • Kartica MicroSD (~ 8 GB+) [za shranjevanje operacijskega sistema in našega programa]
  • Napajanje MicroUSB (5V)
  • MicroUSB na USB A [za miško/tipkovnico]
  • Mini adapter HDMI na HDMI [za prikaz na zaslonu]
  • Tipkovnica
  • Miška
  • Monitor

Najprej morate operacijski sistem prestaviti na kartico rPi micro SD.

Uporabil sem raspian buster, to naložite na računalnik z bralnikom/zapisovalnikom kartic SD, nato pa raspian OS prestavite na kartico SD. BalenaEtcher je preprosta programska oprema za to

Nato vstavite kartico SD v režo pi, priključite monitor, tipkovnico in napajanje. Nadaljujte skozi korake namestitve, na katere vas Raspian pozove, vključno z njihovo povezavo z omrežjem WiFi in povezovanjem zvočnika Bluetooth prek grafičnega vmesnika. Dobra praksa bi bila, da ga posodobite z naslednjimi ukazi

sudo apt-get posodobitev

sudo apt-get nadgradnja

Če želite vključiti oznako pi brez glave, bomo morali najprej vzeti pi -jev naslov ip. Prek terminala ga najdete prek

ifconfig

ukaz. Nato morate omogočiti SSH in VNC prek možnosti vmesnika v

sudo raspi-config

Po ponovnem zagonu lahko zdaj preizkusite dostop do pi prek SSH ali VNC. SSH je le terminalski vmesnik in morda boste lažje uporabili grafični vmesnik za povezovanje zvočnika Bluetooth. Za preprost dostop do pi v ločenem računalniku v omrežju lahko uporabite program, kot je VNC connect. Vanj lahko uporabite program, kot je kit, za SSH.

Poleg tega lahko nastavite račun v oblaku VNC, tako da lahko po potrebi dostopate do naprave brez omrežja

2. korak: Namestite programsko opremo Senior Radio

Namestite programsko opremo Senior Radio
Namestite programsko opremo Senior Radio

To lahko storite iz terminalnega okna maline pi. Najprej se prepričajte, da imate nameščen git

sudo apt-get install git

Odvisno od operacijskega sistema, ki ste ga namestili, se lahko ti koraki razlikujejo, saj boste morda morali namestiti dodatne pakete, sistem vam bo povedal, če je tako. Najprej moramo prenesti starejšo radijsko kodo iz github -a. https://github.com/Bunborn/seniorRadio V idealnem primeru naredite naš lastni repo, tako da lahko spreminjate in preprosto spreminjate radijske postaje na enak način kot jaz. Če je tako, potrdite repo

Lahko pa uporabite isto kot moja brez problema, če želite datoteko radia json gostiti na drugem mestu

Nato klonirajte repo na katerem koli mestu, ki ga želite. Privzeti imenik je v redu. S pritiskom na zeleni klon ali gumb za prenos pridobite URL, za katerega želite github repo.

Nazaj v terminalskem oknu, git clone

Ko bi iskali z uporabo ls, bi morali videti dodaten imenik z imenom seniorRadio. Fantastično!

Koda naj bi bila samodejno dokumentirana, zato bi bilo koristno, če bi jo pregledali. Še posebej za namene odpravljanja napak in če spreminjate sistem.

3. korak: Namestite dodatno programsko opremo

Namestite dodatno programsko opremo
Namestite dodatno programsko opremo

Preden preidemo na vezje in ga preizkusimo, moramo zanj prenesti tudi VLC in python api. Morda imate že nameščen VLC. Prva dva ukaza bosta posodobila pi, zadnja dva spodnja ukaza pa bosta namestila VLC in nato python api

sudo apt-get posodobitev

sudo apt-get nadgradnja

sudo snap namestite VLC

sudo apt-get install vlc-python

Poleg tega namestite tudi gpiozero, ki ga bomo uporabili za vmesnik s pi -jevimi zatiči GPIO. Morda ste ga že namestili, odvisno od operacijskega sistema.

sudo apt-get install gpiozero

4. korak: Poiščite tokove radijskih postaj

Poiščite tokove radijskih postaj
Poiščite tokove radijskih postaj

Nato eden najbolj zabavnih delov! Čas je, da izberete vse tokove, ki jih želite.

V moji datoteki internetStations.json si lahko ogledate moje povezave s pretočnim predvajanjem, predvsem za novice in glasbo. Obstaja pa ogromno gostovanih vsebin. Ključno pri tem je najti naslov URL za neposredni tok. Novice in glasbene postaje BBC lahko na primer najdete tukaj na tem blogu. Ti neposredni tokovi ne bodo imeli nobenega grafičnega vmesnika in bodo samodejno predvajali tok prek predvajalnika v brskalniku. To so URL -ji, ki jih potrebujemo, da jih lahko VLC prebere! Vsako povezavo lahko hitro preizkusite v spletnem brskalniku ali prek VLC v običajnem računalniku, da zagotovite, da bo delovala na pi.

Če želite poiskati te postaje, lahko poiščete neposredni tok na spletu, če ga storitev gosti. Hiter način je lahko tudi predvajanje toka, z desno miškino tipko kliknite brskalnik in pritisnite »pregledaj element«. Pomaknite se na zavihek omrežje in na njem mora biti naveden neposredni URL toka. Ta videoposnetek na YouTubu to dokazuje. Osvežitev strani z odprtim zavihkom bi morala pomagati.

Ko imate svoje postaje, jih želite objaviti na spletu, da jih lahko prevzame vaš program seniorRadio python. Za to obstaja veliko možnosti, lahko uporabite spletna mesta, kot so Github, bitbucket ali celo sourceforge. Glavni namen spletnega gostovanja tega seznama je, da lahko uporabnik, ki ga nastavi, na daljavo spremeni seznam pretočnih vsebin na spletu.

Na začetku programa python je spremenljivka, imenovana url, preprosto spremenite to kot URL vaše datoteke json s povezavami do URL postaje

Lahko sledite isti obliki kot moja datoteka internetStation.json. Če bi želeli uporabiti tudi github, bi lahko preprosto razcepili moje skladišče seniorRadio in uredili svojo datoteko internetStation.json ter jo usmerili na ta "surov" URL. To lahko najdete spodaj v grafičnem vmesniku Github, ko kliknete datoteko.

5. korak: Ustvarite vezja

Ustvarite vezja
Ustvarite vezja

Zdaj moramo nastaviti vezje. To se bo spremenilo glede na vašo opremo, spodaj pa je, kako sem nastavil svojo.

pinout.xyz/ za referenco o tem, kateri zatiči so. Ker uporabljamo knjižnico gpiozero, se ukvarjamo samo z oštevilčenjem nožic BCM. Upoštevajte, da sem kupil nekaj dodatnih rotacijskih kodirnikov KY040 - številčnic -, da jih preizkusim, saj nimajo vsi enake natančnosti. Vsak bi imel nekaj "odbijajočih" ali preprosto napačnih izhodov, zato sem izbral najboljšega od obeh, ki sem jih imel. V kodi boste opazili, da obstaja tudi nekaj korakov za omejitev tega odbijanja.

Svoj gumb sem priključil na BCM pin 17 in maso

Moja LED na 1k ohmski upor, nato BCM pin 27 in ozemljitev

Moji rotacijski dajalniki KY040 so imeli vodilo + na 5V, GND na maso in SW odklopljen. Ti so bili povezani prek mini mize

Dt pin rotacijskega dajalnika postaje, priključen na pin 21 BCM

Clk pin rotacijskega dajalnika postaje priključen na BCM pin 20

Vtič dt vrtljivega dajalnika nivoja zvoka, priključen na pin 19 BCM

Clk pin vrtljivega dajalnika nivoja zvoka, priključen na pin 16 BCM

Če spremenite te zatiče, samo posodobite številko v programu python, kjer nastavi nastavitve

Za lažje delo sem uporabil mini ploščico. Za olajšanje vmesnika sem uporabil tudi mostičke M/M in M/F. Spajal sem nekaj mostičnih žic na zatiče gumba/LED, ki sem jih kupil prej. Če ne spajkate, lahko dobite potisne gumbe in LED diode, ki že imajo mostične kable ali pa bi se z njimi enostavno priključili.

6. korak: Preizkusite

Zdaj bi morali imeti delujoč sistem! Preizkusimo. Pomaknite se do mape s programom python, verjetno:

cd seniorRadio

python3 seniorRadio.py

Trenutno je pri zagonu programa 45 -sekundna zamuda, da dobimo čas, da najde zvočnik Bluetooth ob vklopu. To vrstico lahko komentirate, če je med testiranjem ne potrebujete. Program vam lahko pove, da morate namestiti dodatne pakete, če je tako. Morda bo treba namestiti tudi novejšo različico Pythona.

sudo apt-get install python3.7

Nekaj možnih težav, tudi če program deluje:

Ne slišim zvoka

Prepričajte se, da je zvočnik vklopljen in izbran v vašem maline pi. Skozi grafični vmesnik bi ga morali seznaniti in nato izbrati za avdio izhodno napravo. Poleg tega preverite zvočne gonilnike. Pogosta težava je, da boste morda morali znova namestiti paket pulseaudio

Zvok je prelomljen ali se vklopi in izklopi

Poskusite napravo približati usmerjevalniku WiFi. Poleg tega se prepričajte, da je zvočnik Bluetooth v bližini. Lahko je tudi težava z gonilnikom zvoka

7. korak: Postavite v trajno ohišje

Postavite v trajno ohišje
Postavite v trajno ohišje

Nato ga dajte v škatlo ali podobno napravo, v kateri bo lahko stalno živel. Priporočam, da imate eno, do katere lahko dostopate pozneje, za odpravljanje napak. To majhno leseno škatlo sem dobil v obrtni trgovini za 2 USD in jo povezal na strani z zalogami. Eden od mojih prijateljev je priporočil škatlo za cigare.

Nato sem izrezal luknje na sprednji strani za potisno tipko in vrtljiva stikala ter na zadnji strani škatle izvrtal luknjo za napajalni kabel microUSB.

Preizkusil sem nosilec in se prepričal, da deluje, in voilà!

Nazadnje sem uporabil super lepilo za držanje gumba. Moja plošča je imela na dnu lepilo, ki sem ga priključila na del škatle. Za pritrditev hrbtne strani pi na škatlo sem uporabil majhen trak lepilnega traku, zato ga je bilo mogoče pozneje premakniti, če je bilo potrebno.

8. korak: Nastavitev programa za zagon ob zagonu

Končno boste verjetno želeli, da se ta program python zažene ob zagonu maline pi, zato vam tega ni treba narediti ročno. Obstaja veliko načinov za to, ki jih najdete na spletu.

Osebno sem ga nastavil na drugi način v tej vadnici SparkFun:

Tu počaka, da sistem vstopi v grafično namizje, preden zažene program. Program Python ga nato zamudi za 45 sekund, kar daje sistemu čas za ponovno povezavo z zvočnikom Bluetooth. Če uporabljate vgrajen zvočnik, lahko to zakasnitev odstranite. Upoštevajte, da mora biti najprej vklopljen zvočnik bluetooth! (za rešitev bluetooth)

Zdaj lahko poskusite izklopiti in znova vklopiti pi! Po približno 90 sekundah bi moral vaš pi znova začeti predvajati radijske tokove. Ko pritisnete gumb, se bo ustavil/predvajal. Upoštevajte, da se pri teh ponovnih zagonih znova prebere datoteka json internetStations, zato morate, če spremenite svoje postaje, znova zagnati napravo, da lahko delujejo. Čestitamo!

Če ste to storili ali spremenili v projektu, mi to sporočite!

Stran Github:

Priporočena: