Obsah:

Rádio pre seniorov - Raspberry Pi: 8 krokov
Rádio pre seniorov - Raspberry Pi: 8 krokov

Video: Rádio pre seniorov - Raspberry Pi: 8 krokov

Video: Rádio pre seniorov - Raspberry Pi: 8 krokov
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Júl
Anonim
Rádio pre seniorov - Raspberry Pi
Rádio pre seniorov - Raspberry Pi

Projekt Senior Radio je internetové rádiové zariadenie s prístupom k zdroju s otvoreným zdrojovým kódom s hardvérovými aj softvérovými komponentmi. Je určený pre užívateľov oboznámených s ovládaním vreckového rádia, kde číselníky ovládajú hlasitosť a zvolenú rozhlasovú stanicu. Projekt je navrhnutý tak, aby bol zameraný na používateľa a bol zameraný na používateľa, ktorý chce podobnú veľkosť a ovládanie ako štandardné ručné rádio.

Bol postavený tak, aby uspokojil potreby umožnenia osobám so zdravotným postihnutím počúvať tisíce rôznych obsahov streamovaných cez internet, ktoré sú zvyčajne len bežne dostupné prostredníctvom internetového prehliadača. Mnoho ľudí nemá schopnosť používať také zariadenie ľahko, a preto si tento dizajn kladie za cieľ vytvoriť známe rozhranie pre modernú technológiu.

Základná funkcia je na Githube, uložená v programe python 3.7.3 s názvom seniorRadio.py. Číta a zapisuje súbor json na uloženie stavu rádia, takže keď ho vypnete, zapamätá si aktuálnu úroveň zvuku a zvolenú stanicu. Navyše číta online hostovaný súbor json, ktorý môžete zmeniť! To vám umožní diaľkovo aktualizovať rozhlasové stanice, ak ich dávate niekomu inému.

V súčasnosti je vytvorený na pripojenie k reproduktoru bluetooth, ale dá sa ľahko vytvoriť aj na prehrávanie integrovaného reproduktora.

Tvorcom tohto zariadenia pravdepodobne nie je používateľ a potrebuje aspoň určité skúsenosti s elektronikou a základné znalosti programovania. Skúsenosti s Linuxom sú tiež veľmi užitočné.

Pre používateľa je funkcia jednoduchá:

Po zapnutí bude prehrávať poslednú stanicu vybratú z predvoleného zvukového zariadenia. Ľavý volič ovláda stanicu, kde sa niekoľko kliknutí na číselník zmení na novú adresu URL. Prevráti sa po poslednom alebo prvom vstupe. Pravý volič ovláda úroveň zvuku. LED dióda indikuje, že program je zapnutý. A tlačidlo pozastaví alebo „vypne“rádio. Akonáhle je teda užívateľ zapnutý, môže ho jednoducho pozastaviť/prehrať stlačením alebo vypnúť/zapnúť, rádiom a dvoma voličmi ovládať.

Zásoby

Odkaz na každú položku je konkrétny, ktorý som použil. Celkom ma to stálo asi 60 dolárov s dostatkom zvyšných zásob!

Základné znalosti elektroniky a linuxu - pre montáž a ladenie

Raspberry Pi Zero W (Zero WH má hlavičky predspájkované a pravdepodobne užitočné)

Karta MicroSD-8 GB+ a možnosť o

Napájací adaptér MicroUSB 5V - Link obsahuje aj adaptér microHDMI a adaptér microUSB OTG na USB A na nastavenie, ak ich potrebujete

Bluetooth reproduktor

Prepojovacie káble M/F a M/M

2 Rotačný snímač - rovnaký odkaz ako vyššie

Malý chlebník

Tlačidlo

LED (voliteľné) - kúpená LED + tlačidlo vyššie

Krabica na balenie

Krok 1: Nastavenie (bez hlavy) Raspberry Pi W

Nastavenie (bez hlavy) Raspberry Pi W
Nastavenie (bez hlavy) Raspberry Pi W

Potrebujeme nastaviť operačný systém na Raspberry Pi, na ktorom bude spustený softvér. Nič z toho nie je pre tento projekt jedinečné. Na ladenie odporúčam nastaviť ho tak, aby ste k nemu mali prístup aj v bezhlavom režime. To znamená, že k pí cez Wi-Fi sieť pristupujete prostredníctvom rozhrania GUI alebo SSH a nepotrebujete klávesnicu, myš ani monitor, aby ste ich mohli používať vždy. Ak ste technicky zdatnejší, môžete to urobiť bez toho, aby ste sa museli pripájať k monitoru/myši/klávesnici. Tu nájdete niekoľko príkladov pokynov. Je to však menej priame a vpred je ďalší spôsob, ako to nastaviť.

Pri prvom použití budete pravdepodobne potrebovať:

  • Raspberry Pi W
  • Adaptér karty MicroSD na SD [na zápis OS na kartu SD]
  • Karta MicroSD (~ 8 GB+) [na uloženie operačného systému a nášho programu]
  • MicroUSB napájanie (5V)
  • MicroUSB na USB A [pre myš/klávesnicu]
  • Mini adaptér HDMI na HDMI [pre výstup displeja]
  • Klávesnica
  • Myš
  • Monitor

Najprv budete musieť flashovať operačný systém na kartu micro SD rPi.

Použil som raspian buster, ten stiahnete do počítača pomocou čítačky/zapisovacej karty SD a potom na kartu SD prenesiete raspian OS. BalenaEtcher je jednoduchý softvér, ako to urobiť

Potom vložte kartu SD do zásuvky pi, pripojte monitor, klávesnicu a napájanie. Pokračujte krokmi nastavenia, ku ktorým vás Raspian vyzve, vrátane pripojenia k sieti WiFi a spárovania reproduktora bluetooth pomocou grafického rozhrania. Osvedčeným postupom by bolo aktualizovať ho pomocou nasledujúcich príkazov

sudo apt-get aktualizácia

sudo apt-get upgrade

Ak chcete zahrnúť označovanie svojho pi bezhlavo, budeme musieť najskôr získať IP adresu pí. Prostredníctvom terminálu ho nájdete prostredníctvom

ifconfig

príkaz. Potom musíte povoliť SSH a VNC cez možnosti rozhrania v

sudo raspi-config

Po reštarte môžete teraz vyskúšať prístup k pí cez SSH alebo VNC. SSH je len koncové rozhranie a pre spárovanie reproduktora bluetooth môže byť jednoduchšie použiť GUI. Na ľahký prístup k svojmu pi na samostatnom počítači vo vašej sieti môžete použiť program, ako je pripojenie VNC. Na SSH do neho môžete použiť program ako tmel.

Okrem toho môžete nastaviť cloudový účet VNC, aby ste v prípade potreby mohli k zariadeniu pristupovať mimo siete

Krok 2: Nainštalujte softvér Senior Radio

Nainštalujte softvér Senior Radio
Nainštalujte softvér Senior Radio

To sa dá urobiť z okna terminálu malinového pi. Najprv sa uistite, že máte nainštalovaný git

sudo apt-get install git

V závislosti od toho, ktorý operačný systém ste nainštalovali, sa tieto kroky môžu líšiť, pretože budete musieť nainštalovať ďalšie balíky, systém vám to oznámi, ak áno. Najprv musíme stiahnuť starší rádiový kód z github. https://github.com/Bunborn/seniorRadio V ideálnom prípade robíte vlastné repo, aby ste mohli vykonávať zmeny a jednoducho meniť rozhlasové stanice rovnakým spôsobom ako ja. Ak je to tak, rozdajte repo

Môžete však použiť to isté, čo ja, bez problémov, ak chcete uložiť súbor json rádia na inom mieste

Potom naklonujte repo na akomkoľvek mieste, kde chcete byť. Predvolený adresár je v poriadku. Kliknutím na zelený klon alebo tlačidlo sťahovania získate adresu URL, pre ktorú chcete repo servera github.

Späť v okne terminálu, git klon

Teraz by ste mali pri pohľade pomocou ls vidieť ďalší adresár s názvom seniorRadio. Fantastické!

Kód má samodokumentovať, bolo by vhodné sa naň pozrieť. Zvlášť na účely ladenia a ak meníte systém.

Krok 3: Nainštalujte ďalší softvér

Nainštalujte ďalší softvér
Nainštalujte ďalší softvér

Predtým, ako prejdeme k obvodu a otestujeme ho, musíme si tiež stiahnuť VLC a python api. VLC už môžete mať nainštalovaný. Prvé dva príkazy aktualizujú pi a posledné dva nižšie uvedené príkazy nainštalujú VLC a potom apthon pythonu

sudo apt-get aktualizácia

sudo apt-get upgrade

sudo snap nainštalovať VLC

sudo apt-get install vlc-python

Okrem toho tiež nainštalujte gpiozero, ktoré použijeme na prepojenie s pinmi GPIO pí. V závislosti od operačného systému ho už môžete mať nainštalovaný.

sudo apt-get install gpiozero

Krok 4: Nájdite streamy rozhlasových staníc

Nájdite streamy rozhlasových staníc
Nájdite streamy rozhlasových staníc

Ďalej jedna z najzábavnejších častí! Čas na výber streamov, ktoré chcete.

V mojom súbore internetStations.json vidíte moje odkazy na streamy, hlavne na správy a hudbu. Ale hostiteľského obsahu je veľa. Tu je kľúčové nájsť adresu URL priameho streamu. Tu na tomto blogu nájdete napríklad spravodajské a hudobné stanice BBC. Tieto priame streamy nebudú mať žiadne grafické rozhranie a budú automaticky prehrávať stream prostredníctvom vášho prehrávača médií. Toto sú adresy URL, ktoré potrebujeme, aby ich VLC dokázal prečítať! Akýkoľvek odkaz môžete rýchlo otestovať vo svojom webovom prehľadávači alebo prostredníctvom VLC na svojom normálnom počítači, aby ste sa uistili, že bude fungovať na počítači.

Ak chcete nájsť tieto stanice, môžete vyhľadať priamy stream online, ak ho služba hostí. Rýchlym spôsobom môže byť tiež prehrávanie streamu, kliknutie pravým tlačidlom myši na prehliadač a kliknutie na „skontrolovať prvok“. Prejdite na kartu sieť a mala by uvádzať „priamu“adresu URL streamu. Toto video z youtube je toho dôkazom. Pomôcť by malo obnovenie stránky s otvorenou kartou.

Akonáhle budete mať svoje stanice, chcete ich dať online, aby ich mohol váš pythonový program seniorRadio zachytiť. Existuje mnoho možností, ako to urobiť, môžete použiť stránky ako Github, bitbucket alebo dokonca sourceforge. Hlavným účelom hosťovania tohto zoznamu online je, aby ho užívateľ, ktorý ho nastavuje, mohol vzdialene meniť zoznam streamov online.

Na začiatku programu python je premenná s názvom url, jednoducho zmeňte túto adresu URL na súbor json s odkazmi na adresu URL stanice

Môžete sledovať rovnaký formát ako môj súbor internetStation.json. Ak by ste chceli použiť aj github, jednoducho by ste mohli rozšíriť moje úložisko seniorRadio a upraviť svoj vlastný súbor internetStation.json a nasmerovať ho na túto „surovú“adresu URL. To nájdete nižšie v grafickom rozhraní Github po kliknutí na súbor.

Krok 5: Vytvorte obvody

Vytvorte obvody
Vytvorte obvody

Teraz musíme nastaviť obvod. To sa zmení podľa vášho vybavenia, ale nižšie je uvedené, ako som to svoje nastavil.

pinout.xyz/, kde nájdete informácie o tom, ktoré kolíky sú ktoré. Pretože používame knižnicu gpiozero, zaoberáme sa iba číslovaním pinov BCM. Všimnite si toho, že som si kúpil niekoľko ďalších rotačných snímačov KY040 - číselníky - aby som ich vyskúšal, pretože všetky nemajú rovnakú presnosť. Každý z nich by mal nejaký „poskakujúci“alebo jednoducho nesprávny výstup, takže som vybral ten najlepší z dvoch, ktoré som mal. V kóde si všimnete, že existujú aj kroky na obmedzenie tohto skákania.

Pripojil som svoje tlačidlo k kolíku 17 BCM a uzemneniu

Moja LED na 1k ohmový odpor potom BCM pin 27 a uzemnenie

Moje rotačné snímače KY040 mali + vodič na 5 V, GND na zem a SW odpojené. Tie boli prepojené cez mini breadboard

Kolíkový dt kodér stanice pripojený k pinu 21 BCM

Kolíkový kolíkový kodér stanice pripojený k kolíku 20 BCM

Kolík dt audio kodéra úrovne zvuku pripojený k kolíku 19 BCM

Kolík CLK otočného kodéra pripojený k kolíku 16 BCM

Ak zmeníte tieto piny, aktualizujte číslo tiež v programe python, kde nastavuje obslužné rutiny

Na uľahčenie som použil mini breadboard. Na uľahčenie rozhrania som použil aj prepojovacie vodiče M/M a M/F. Na kolíky tlačidla/LED, ktoré som kúpil predtým, som spájkoval niektoré prepojovacie vodiče. Na nespájkovanie by ste mohli dostať tlačidlá a diódy LED, ktoré už majú prepojovacie vodiče alebo sa k nim dajú ľahko pripojiť.

Krok 6: Otestujte to

Teraz by ste mali mať fungujúci systém! Vyskúšajme to. Prejdite do priečinka pomocou programu python, pravdepodobne:

cd seniorRadio

python3 seniorRadio.py

V súčasnosti je na začiatku programu 45 -sekundové oneskorenie, aby mal čas nájsť reproduktor Bluetooth pri zapnutí. Tento riadok môžete komentovať, ak ho počas testovania nepotrebujete. Program vám môže povedať, že musíte nainštalovať ďalšie balíky, ak áno, pokračujte. Možno bude potrebné nainštalovať aj novšiu verziu Pythonu.

sudo apt-get install python3.7

Niektoré možné problémy, aj keď je program spustený:

Nepočujem žiaden zvuk

Uistite sa, že je reproduktor vo vašom malinovom pi zapnutý. Prostredníctvom grafického používateľského rozhrania by ste ho mali mať možnosť spárovať a potom vybrať ako výstupné zvukové zariadenie. Okrem toho skontrolujte zvukové ovládače. Bežným problémom je, že možno budete musieť znova nainštalovať balík pulseaudio

Zvuk trhaný alebo rezaný dovnútra a von

Skúste zariadenie presunúť bližšie k smerovaču WiFi. Okrem toho sa uistite, že je v blízkosti reproduktor Bluetooth. Tiež môže byť problém s ovládačom zvuku

Krok 7: Vložte do trvalej skrinky

Vložte do trvalej ohrady
Vložte do trvalej ohrady

Potom ho vložte do škatule alebo podobného zariadenia, v ktorom bude trvale žiť. Odporúčam mať taký, ku ktorému budete mať prístup neskôr, na ladenie. Dostal som túto malú drevenú škatuľu v obchode s remeslami za 2 doláre a prepojil som ju na stránke s potrebami. Jeden z mojich priateľov mi odporučil krabičku cigariet.

Potom som vpredu vyrezal otvory pre tlačidlá a otočné spínače a v zadnej časti škatule som vyvŕtal otvor pre napájací kábel microUSB.

Otestoval som držiak a uistil som sa, že funguje, a voilà!

Nakoniec som pomocou super lepidla držal tlačidlo. Moja doska na pečenie mala v spodnej časti lepidlo, ktoré som spojil s časťou škatule. Na zaistenie zadnej časti pí k boxu som použil malý pásik lepiacej pásky, aby sa dal v prípade potreby neskôr presunúť.

Krok 8: Nastavte program, ktorý sa má spustiť pri spustení

Nakoniec budete pravdepodobne chcieť, aby sa tento program python spustil pri štarte Raspberry Pi, aby ste to nemuseli robiť ručne. Existuje mnoho spôsobov, ako to urobiť, ktoré nájdete na internete.

Osobne som to nastavil druhým spôsobom v tomto návode na SparkFun:

Tu čaká, kým systém vstúpi na grafickú plochu, než spustí program. Program python to potom oneskorí o 45 sekúnd, aby systém získal čas na opätovné pripojenie k reproduktoru bluetooth. Ak používate integrovaný reproduktor, môžete toto oneskorenie odstrániť. Upozorňujeme, že reproduktor Bluetooth by mal byť najskôr zapnutý! (pre riešenie bluetooth)

Teraz sa môžete pokúsiť vypnúť a znova zapnúť počítač Pi! Asi po 90 sekundách by vaše pi malo začať znova prehrávať rádiové streamy. Po stlačení tlačidla sa pauza/prehrávanie zastaví. Poznámka o týchto reštartoch znova číta súbor internetStations json, takže ak zmeníte svoje stanice, musíte reštartovať zariadenie, aby fungovalo. Gratulujem

Ak ste to urobili alebo ste urobili zmeny v projekte, dajte mi prosím vedieť!

Stránka Github:

Odporúča: