Obsah:

Senior Radio - Raspberry Pi: 8 kroků
Senior Radio - Raspberry Pi: 8 kroků

Video: Senior Radio - Raspberry Pi: 8 kroků

Video: Senior Radio - Raspberry Pi: 8 kroků
Video: Raspberry Pi - Что можно сделать? Готовые проекты. Есть ли смысл? Как научиться? 2024, Červenec
Anonim
Rádio pro seniory - Raspberry Pi
Rádio pro seniory - Raspberry Pi

Projekt Senior Radio je zařízení internetového rádia s přístupem k otevřenému zdroji s hardwarovými i softwarovými komponentami. Je určen pro uživatele obeznámené s ovládáním kapesního rádia, kde číselníky ovládají hlasitost a vybranou rozhlasovou stanici. Projekt je vytvořen s designem zaměřeným na uživatele, zaměřeným na uživatele, který chce podobnou velikost a ovládání jako standardní ruční rádio.

Byl postaven tak, aby uspokojil potřeby umožňující osobám se zdravotním postižením poslouchat tisíce různých obsahů streamovaných internetem, které jsou obvykle běžně dostupné pouze prostřednictvím internetového prohlížeče. Mnoho lidí nemá schopnost takové zařízení snadno používat, a proto si tento design klade za cíl vytvořit známé rozhraní pro moderní technologie.

Základní funkce je na Githubu, uložená v programu python 3.7.3 s názvem seniorRadio.py. Čte a zapisuje soubor json pro uložení stavu rádia, takže když ho vypnete, bude si pamatovat aktuální úroveň zvuku a zvolenou stanici. Kromě toho čte online hostovaný soubor json, který můžete změnit! To vám umožní vzdáleně aktualizovat rozhlasové stanice, pokud to dáváte někomu jinému.

V současné době je vytvořen pro připojení k reproduktoru bluetooth, ale lze jej snadno vyrobit i pro přehrávání integrovaného reproduktoru.

Tvůrcem tohoto zařízení pravděpodobně není uživatel a potřebuje alespoň určité zkušenosti s elektronikou a základními znalostmi programování. Velmi užitečné jsou také zkušenosti s Linuxem.

Pro uživatele je funkce jednoduchá:

Po zapnutí přehraje poslední stanici vybranou přes výchozí zvukové zařízení. Levý volič ovládá stanici, kde se několik kliknutí na číselník změní na novou adresu URL. Převrátí se po posledním nebo prvním vstupu. Pravý volič ovládá úroveň zvuku. LED indikuje, že program je zapnutý. A tlačítko pozastaví nebo „vypne“rádio. Jakmile je tedy uživatel zapnutý, stačí stisknout tlačítko pro pozastavení/přehrávání nebo „vypnout/zapnout“rádio a dva ciferníky pro ovládání.

Zásoby

Odkaz na každou položku je konkrétní, kterou jsem použil. Celkem mě to stálo asi 60 $ se spoustou zbylých zásob!

Základní znalosti elektroniky a linuxu - pro montáž a ladění

Raspberry Pi Zero W (Zero WH má hlavičky předpájené a pravděpodobně užitečné)

MicroSD karta-8 GB+ a schopnost o

Napájecí adaptér MicroUSB 5V - Link také obsahuje adaptér microHDMI a adaptér microUSB OTG na USB A pro nastavení, pokud je potřebujete

Bluetooth reproduktor

M/F a M/M propojovací kabely

2 Rotační kodér - stejný odkaz jako výše

Malé prkénko

Stiskněte tlačítko

LED (volitelně) - zakoupená LED + tlačítko výše

Krabice na balení

Krok 1: Nastavení (bez hlavy) Raspberry Pi W

Nastavení (bez hlavy) Raspberry Pi W
Nastavení (bez hlavy) Raspberry Pi W

Potřebujeme nastavit operační systém na Raspberry Pi, na kterém bude spuštěn software. Nic z toho není pro tento projekt jedinečné. Pro ladění bych doporučil jej nastavit, abyste k němu měli také přístup v bezhlavém režimu. To znamená, že přistupujete k pi prostřednictvím své WiFi sítě prostřednictvím GUI nebo terminálu SSH a nepotřebujete klávesnici, myš a monitor, abyste jej mohli používat pokaždé. Pokud jste technicky zdatnější, můžete to udělat bez nutnosti připojení k monitoru/myši/klávesnici. Zde několik příkladů pokynů. Je však méně přímočará a níže je další způsob, jak ji nastavit.

Poprvé budete pravděpodobně potřebovat:

  • Raspberry Pi W
  • Adaptér karty MicroSD na SD [pro zápis OS na kartu SD]
  • Karta MicroSD (~ 8 GB+) [pro uložení OS a našeho programu]
  • MicroUSB napájení (5V)
  • MicroUSB na USB A [pro myš/klávesnici]
  • Mini adaptér HDMI na HDMI [pro výstup z displeje]
  • Klávesnice
  • Myš
  • Monitor

Nejprve budete muset flashovat operační systém na kartu micro SD rPi.

Použil jsem raspian buster, ten stáhnete do počítače pomocí čtečky/zapisovače karet SD a poté na kartu SD přenesete raspian OS. BalenaEtcher je jednoduchý software, jak to udělat

Poté vložte kartu SD do slotu pi, připojte monitor, klávesnici a napájení. Proveďte kroky nastavení, ke kterým vás Raspian vyzve, včetně připojení k vaší síti WiFi a spárování reproduktoru bluetooth prostřednictvím grafického uživatelského rozhraní. Osvědčeným postupem by bylo jej aktualizovat pomocí následujících příkazů

sudo apt-get update

sudo apt-get upgrade

Pokud chcete zahrnout označení vašeho pi bezhlavě, budeme muset nejprve získat IP adresu pí. Prostřednictvím terminálu jej najdete prostřednictvím

ifconfig

příkaz. Poté musíte povolit SSH a VNC přes možnosti rozhraní v

sudo raspi-config

Po restartu můžete nyní vyzkoušet přístup k pi přes SSH nebo VNC. SSH je pouze koncové rozhraní a pro spárování reproduktoru bluetooth může být jednodušší použít GUI. Ke snadnému přístupu k pi na samostatném počítači ve vaší síti můžete použít program jako VNC connect. Do SSH můžete použít program jako tmel.

Kromě toho můžete nastavit cloudový účet VNC, abyste mohli v případě potřeby přistupovat k zařízení mimo síť

Krok 2: Nainstalujte software Senior Radio

Nainstalujte si software Senior Radio
Nainstalujte si software Senior Radio

To lze provést z terminálového okna malinového pi. Nejprve se ujistěte, že máte nainstalovaný git

sudo apt-get install git

V závislosti na operačním systému, který jste nainstalovali, se tyto kroky mohou lišit, protože možná budete muset nainstalovat další balíčky, systém vám řekne, pokud ano. Nejprve musíme stáhnout starší rádiový kód z github. https://github.com/Bunborn/seniorRadio V ideálním případě si vytváříte vlastní repo, abyste mohli provádět změny a snadno měnit rozhlasové stanice stejným způsobem jako já. Pokud ano, rozdělte repo

Můžete však použít totéž jako já, pokud chcete hostovat soubor json rádia na jiném místě

Poté naklonujte repo na libovolném místě, kde chcete. Výchozí adresář je v pořádku. Získejte adresu URL, pro kterou chcete repo githubu, stisknutím zeleného klonu nebo tlačítka pro stažení.

Zpět v okně terminálu, git klon

Při pohledu pomocí ls byste nyní měli vidět další adresář s názvem seniorRadio. Fantastický!

Kód má být samodokumentující, jeho prohlédnutí by bylo užitečné. Zvláště pro účely ladění a pokud měníte systém.

Krok 3: Nainstalujte další software

Nainstalujte si další software
Nainstalujte si další software

Než se přesuneme k obvodu a vyzkoušíme ho, musíme si také stáhnout VLC a python api. Možná už máte nainstalovaný VLC. První dva příkazy aktualizují pi a poslední dva níže uvedené příkazy nainstalují VLC a poté python api

sudo apt-get update

sudo apt-get upgrade

sudo snap nainstalovat VLC

sudo apt-get install vlc-python

Kromě toho také nainstalujte gpiozero, které použijeme k propojení s piny GPIO piny. V závislosti na operačním systému jej již můžete mít nainstalovaný.

sudo apt-get install gpiozero

Krok 4: Najděte toky rádiových stanic

Najděte streamy rozhlasových stanic
Najděte streamy rozhlasových stanic

Další, jedna z nejzábavnějších částí! Čas na výběr streamů, které chcete.

V mém souboru internetStations.json vidíte mé odkazy na streamy, hlavně pro zprávy a hudbu. Ale tam je spousta hostovaného obsahu. Klíčem je najít adresu URL přímého proudu. Tady na tomto blogu najdete například zpravodajské a hudební stanice BBC. Tyto přímé streamy nebudou mít žádné grafické rozhraní a budou automaticky přehrávat stream prostřednictvím přehrávače médií v prohlížeči. Toto jsou adresy URL, které potřebujeme, aby je VLC dokázalo přečíst! Jakýkoli odkaz můžete rychle otestovat ve svém webovém prohlížeči nebo prostřednictvím VLC na svém normálním počítači, abyste se ujistili, že bude fungovat na pí.

Chcete -li tyto stanice najít, můžete vyhledat přímý stream online, pokud je služba hostitelem. Rychlým způsobem by také mohlo být přehrání streamu, kliknutí pravým tlačítkem na prohlížeč a kliknutí na „zkontrolovat prvek“. Přejděte na kartu síť a měla by indikovat přímou adresu URL streamu. Toto video na youtube je toho důkazem. Obnovení stránky s otevřenou kartou by mělo pomoci.

Jakmile máte své stanice, chcete je dát online, aby je váš program seniorRadio python mohl chytit. K tomu existuje mnoho možností, můžete použít weby jako Github, bitbucket nebo dokonce sourceforge. Hlavním účelem hostování tohoto seznamu online je, aby uživatel, který jej nastavuje, mohl seznam streamů online vzdáleně změnit.

Na začátku programu python je proměnná s názvem url, jednoduše změňte toto na URL vašeho souboru json s odkazy na URL stanice

Můžete sledovat stejný formát jako můj soubor internetStation.json. Pokud byste chtěli použít také github, můžete jednoduše rozšířit mé úložiště seniorRadio a upravit svůj vlastní soubor internetStation.json a nasměrovat jej na tuto „surovou“adresu URL. To zjistíte níže v Github GUI po kliknutí na soubor.

Krok 5: Vytvořte obvody

Vytvářejte obvody
Vytvářejte obvody

Nyní musíme nastavit obvod. To se změní na základě vašeho vybavení, ale níže je uvedeno, jak jsem to své nastavil.

pinout.xyz/, kde jsou uvedeny odkazy na které piny. Protože používáme knihovnu gpiozero, zabýváme se pouze číslováním BCM pinů. Všimněte si, že jsem si koupil několik dalších rotačních kodérů KY040 - číselníky - abych je vyzkoušel, protože všechny nemají stejnou přesnost. Každý z nich by měl nějaký „poskakující“, nebo prostě nesprávný výstup, takže jsem vybral to nejlepší ze dvou, které jsem měl. V kódu si všimnete, že existuje také několik kroků, jak omezit i toto odskakování.

Připojil jsem své tlačítko k pinu 17 BCM a uzemnění

Moje LED na 1k ohmový odpor pak BCM pin 27 a uzemnění

Moje rotační kodéry KY040 měly + vodič na 5 V, GND na kostru a SW odpojené. Ty byly propojeny přes mini prkénko

Kolíkový dt kodér stanice připojený ke kolíku 21 BCM

Pin kolíkového kodéru stanice připojený k pinu 20 BCM

Kolík dt audio kodéru úrovně zvuku připojený ke kolíku 19 BCM

Pin audio rotačního kodéru připojený ke kolíku 16 BCM

Pokud tyto piny změníte, aktualizujte číslo také v programu python, kde nastavuje obslužné rutiny

Abych to usnadnil, použil jsem mini prkénko. Pro usnadnění rozhraní jsem použil také propojovací vodiče M/M a M/F. Na kolíky tlačítka/LED, které jsem koupil dříve, jsem připájel několik propojovacích vodičů. Chcete -li nepájet, můžete získat tlačítka a LED diody, které již mají propojovací vodiče nebo se k nim snadno připojí.

Krok 6: Otestujte to

Nyní byste měli mít fungující systém! Pojďme to vyzkoušet. Přejděte do složky pomocí programu python, pravděpodobně:

cd seniorRadio

python3 seniorRadio.py

V současné době je na začátku programu zpoždění 45 sekund, aby měl čas najít bluetooth reproduktor při zapnutí. Pokud to během testování nepotřebujete, můžete tento řádek okomentovat. Program vám může říci, že je třeba nainstalovat další balíčky, pokud ano, pokračujte. Také je třeba nainstalovat novější verzi Pythonu.

sudo apt-get install python3.7

Některé možné problémy, i když je program spuštěn:

Neslyším žádný zvuk

Ujistěte se, že je reproduktor ve vašem malinovém pi zapnutý. Prostřednictvím grafického uživatelského rozhraní byste jej měli mít možnost spárovat a poté vybrat jako výstupní zvukové zařízení. Kromě toho zkontrolujte zvukové ovladače. Častým problémem je, že budete možná muset přeinstalovat balíček pulseaudio

Zvuk trhaný nebo řezání dovnitř a ven

Zkuste zařízení přesunout blíže k routeru WiFi. Kromě toho se ujistěte, že je poblíž reproduktor bluetooth. Může to být také problém s ovladačem zvuku

Krok 7: Vložte do trvalé skříně

Vložte do trvalé skříně
Vložte do trvalé skříně

Dále jej vložte do krabice nebo podobného zařízení, ve kterém bude trvale žít. Doporučuji mít jeden, ke kterému budete mít přístup i později pro ladění. Tuto malou dřevěnou krabičku jsem dostal v obchodě s řemeslnými výrobky za 2 dolary a propojil jsem ji na stránce se zásobami. Jeden z mých přátel mi doporučil krabičku doutníků.

Poté jsem v přední části vyřízl otvory pro tlačítko a otočné spínače a v zadní části krabice jsem vyvrtal otvor pro napájecí kabel microUSB.

Otestoval jsem držák a ujistil se, že funguje, a voilà!

Nakonec jsem použil super lepidlo k držení tlačítka. Moje prkénko mělo na spodní straně lepidlo, které jsem připojil k části krabice. Pomocí malého proužku lepicí pásky jsem připevnil zadní část pí k krabici, takže ji bylo možné v případě potřeby později přesunout.

Krok 8: Nastavení programu, který se má spustit při spuštění

Nakonec budete pravděpodobně chtít, aby se tento pythonový program spustil při spuštění Raspberry Pi, takže to nemusíte dělat ručně. Existuje mnoho způsobů, jak to provést, které najdete na internetu.

Osobně jsem to nastavil pomocí druhého způsobu v tomto tutoriálu SparkFun:

Zde čeká, než systém vstoupí na grafickou plochu, než program spustí. Poté je programem python zpožděn o 45 sekund, aby systém získal čas na opětovné připojení k reproduktoru bluetooth. Pokud používáte integrovaný reproduktor, můžete toto zpoždění odstranit. Všimněte si, že bluetooth reproduktor by měl být nejprve zapnutý! (pro řešení bluetooth)

Nyní můžete zkusit vypnout a znovu zapnout pi! Asi po 90 sekundách by vaše pí mělo začít znovu přehrávat rádiové streamy. Po stisknutí tlačítka se přehrávání pozastaví/spustí. Poznámka k těmto restartům znovu načte soubor json internetStations, takže pokud změníte své stanice, musíte zařízení restartovat, aby fungovaly. Gratulujeme!

Pokud jste to provedli nebo jste provedli úpravy projektu, dejte mi prosím vědět!

Stránka Github:

Doporučuje: