Tartalomjegyzék:

Senior rádió - Raspberry Pi: 8 lépés
Senior rádió - Raspberry Pi: 8 lépés

Videó: Senior rádió - Raspberry Pi: 8 lépés

Videó: Senior rádió - Raspberry Pi: 8 lépés
Videó: Raspberry Pi - Что можно сделать? Готовые проекты. Есть ли смысл? Как научиться? 2024, November
Anonim
Senior rádió - Raspberry Pi
Senior rádió - Raspberry Pi

A Senior Radio projekt egy nyílt forráskódú, hozzáférhető, tervezett internetes rádióeszköz, amely hardveres és szoftveres összetevőket is tartalmaz. Olyan felhasználók számára készült, akik ismerik a zsebrádió vezérlését, ahol a tárcsázás szabályozza a hangerőt és a kiválasztott rádióállomást. A projekt felhasználóközpontú tervezéssel készült, olyan felhasználóra összpontosítva, aki hasonló méretet és vezérlőket szeretne, mint egy hagyományos kézi rádió.

Úgy tervezték, hogy kielégítse azokat az igényeket, amelyek lehetővé teszik a fogyatékkal élők számára, hogy meghallgathassák a több ezer különböző internetes streaming tartalmat, amelyek általában csak egy internetböngészőn keresztül érhetők el. Sokan nem képesek könnyen használni egy ilyen eszközt, ezért ennek a kialakításnak az a célja, hogy ismerős felületet hozzon létre egy modern technológia számára.

Az alapvető funkciók a Githubon találhatók, a python 3.7.3 programban, a seniorRadio.py néven. Json fájlt olvas és ír, hogy tárolja a rádió állapotát, így amikor kikapcsolja, emlékezni fog az aktuális hangerőre és a kiválasztott állomásra. Ezenkívül olvas egy online tárolt json fájlt, amelyet megváltoztathat! Ez lehetővé teszi a rádióállomások távoli frissítését, ha ezt valaki másnak adja át.

Jelenleg Bluetooth -hangszóróhoz való csatlakozáshoz készült, de könnyen beépíthető hangszóróval is lejátszható.

Ennek az eszköznek az alkotója valószínűleg nem a felhasználó, és legalább némi tapasztalattal kell rendelkeznie az elektronikában és az alapvető programozási ismeretekben. A Linux tapasztalat is nagyon hasznos.

A felhasználó számára a funkció egyszerű:

Bekapcsoláskor lejátssza az alapértelmezett audioeszközön utoljára kiválasztott állomást. A bal oldali tárcsa vezérli az állomást, ahol a tárcsa néhány kattintása új URL -re változik. Az utolsó vagy az első bejegyzés után felborul. A jobb tárcsa szabályozza a hangerőt. A LED jelzi, hogy a program be van kapcsolva. A nyomógomb pedig leállítja vagy "kikapcsolja" a rádiót. Tehát a bekapcsolás után a felhasználó csak megnyomhatja a gombot a szüneteltetéshez/lejátszáshoz, vagy "kikapcsolhatja/bekapcsolhatja" a rádiót és a két tárcsát a vezérléshez.

Kellékek

Az egyes elemekhez linkelt az a konkrét, amit használtam. Összesen körülbelül 60 dollárba kerül, rengeteg maradék készlettel!

Alapvető elektronikus és linux ismeretek - összeszereléshez és hibakereséshez

Raspberry Pi Zero W (a Zero WH fejlécei előre forrasztottak és valószínűleg hasznosak)

MicroSD kártya-8 GB+ és képesség o

MicroUSB 5V -os tápegység - A link tartalmazza a microHDMI adaptert és a microUSB OTG -USB A adaptert is, ha szüksége van rájuk

Bluetooth hangszóró

M/F és M/M áthidaló kábelek

2 Rotációs kódoló - ugyanaz a link, mint fent

Kis kenyérsütő

Nyomógomb

LED (opcionális) - vásárolt LED + nyomógomb fent

Doboz a csomagoláshoz

1. lépés: Beállítás (fejetlen) Raspberry Pi W

Beállítás (fejetlen) Raspberry Pi W
Beállítás (fejetlen) Raspberry Pi W

Be kell állítanunk az operációs rendszert a szoftvert futtató málna pi -n. Mindez nem egyedülálló erre a projektre. A hibakereséshez azt javaslom, hogy állítsa be, hogy fej nélküli módban is elérhesse. Ez azt jelenti, hogy a pi-hez a WiFi hálózaton keresztül GUI-n vagy SSH terminálon keresztül fér hozzá, és nincs szüksége billentyűzetre, egérre és monitorra a használathoz. Ezt megteheti anélkül, hogy monitorhoz/egérhez/billentyűzethez kellene csatlakoznia, ha technikailag hozzáértőbb. Néhány példa példa itt. Ez azonban kevésbé egyenes irányú, és alább egy másik módja annak beállítására.

Az első alkalommal valószínűleg szüksége lesz:

  • Raspberry Pi W
  • MicroSD - SD kártya adapter [az operációs rendszer SD kártyára írásához]
  • MicroSD kártya (~ 8 GB+) [az operációs rendszer és a program tárolására]
  • MicroUSB tápellátás (5V)
  • MicroUSB - USB A [egérhez/billentyűzethez]
  • Mini HDMI -HDMI adapter [a kijelző kimenetéhez]
  • Billentyűzet
  • Egér
  • Monitor

Először be kell villannia az operációs rendszert az rPi micro SD kártyára.

Én raspian buster -t használtam, ezt letöltöd egy számítógépre SD kártya olvasóval/íróval, majd a raspian OS -t az SD kártyára villanod. A BalenaEtcher egy egyszerű szoftver erre

Ezután helyezze az SD -kártyát a pi nyílásba, csatlakoztassa a monitort, a billentyűzetet és a tápellátást. Hajtsa végre a raspian által felkért beállítási lépéseket, beleértve a WiFi -hálózathoz való csatlakoztatását és a Bluetooth -hangszóró párosítását a grafikus felhasználói felületen keresztül. Jó gyakorlat az lenne, ha frissítené a következő parancsokkal

sudo apt-get update

sudo apt-get upgrade

Ha bele akarja foglalni a pi fej nélküli jelölését, akkor először meg kell szereznünk a pi IP -címét. Egy terminálon keresztül megtalálhatja a

ifconfig

parancs. Ezután engedélyeznie kell az SSH -t és a VNC -t az interfész lehetőségek között

sudo raspi-config

Az újraindítás után most tesztelheti a pi elérését SSH vagy VNC kapcsolaton keresztül. Az SSH csak egy terminál interfész, és talán könnyebben használhatja a GUI -t egy Bluetooth hangszóró párosításához. Használhat egy olyan programot, mint a VNC connect, hogy könnyedén elérhesse a pi -jét egy különálló számítógépen a hálózaton. Használhat olyan programot, mint a putty az SSH -hoz.

Ezenkívül beállíthat egy VNC felhőfiókot, hogy szükség esetén hozzáférjen az eszközhöz a hálózaton kívül

2. lépés: Telepítse a Senior Radio szoftvert

Telepítse a Senior Radio szoftvert
Telepítse a Senior Radio szoftvert

Ezt a málna pi terminál ablakából lehet megtenni. Először győződjön meg arról, hogy a git telepítve van

sudo apt-get install git

Attól függően, hogy melyik operációs rendszert telepítette, ezek a lépések eltérőek lehetnek, mivel szükség lehet további csomagok telepítésére, a rendszer megmondja, ha igen. Először le kell töltenünk a vezető rádió kódot a github -ról. https://github.com/Bunborn/seniorRadio Ideális esetben saját repo -t készít, így változtatásokat hajthat végre, és egyszerűen megváltoztathatja a rádióállomásokat, mint én. Ha igen, akkor villázza meg a repót

Azonban ugyanazt használhatja, mint az enyém, nem probléma, ha a rádió json fájlját egy másik helyen szeretné tárolni

Ezután klónozza le a repót tetszőleges helyen. Az alapértelmezett könyvtár rendben van. A zöld klón vagy letöltés gomb megnyomásával szerezze be azt az URL -t, amelyhez a github repót szeretné elérni.

Vissza a terminál ablakába, git klón

Az ls használatával való kereséskor most egy extra könyvtárat kell látnia, seniorRadio. Fantasztikus!

A kód öndokumentáló jellegű, érdemes átnézni. Különösen hibakeresési célokra és a rendszer megváltoztatásakor.

3. lépés: További szoftverek telepítése

További szoftver telepítése
További szoftver telepítése

Mielőtt áttérnénk az áramkörre és tesztelnénk, le kell töltenünk a VLC -t és a python api -t is. Lehet, hogy már telepítette a VLC -t. Az első két parancs frissíti a pi -t, és az utolsó két parancs telepíti a VLC -t, majd a python api -t

sudo apt-get update

sudo apt-get upgrade

sudo snap install VLC

sudo apt-get install vlc-python

Ezenkívül telepítse a gpiozero -t is, amelyet a pi GPIO csapjaival fogunk használni. Előfordulhat, hogy az operációs rendszertől függően már telepítve van.

sudo apt-get install gpiozero

4. lépés: Keresse meg a rádióállomások adatfolyamát

Rádióállomások adatfolyamok keresése
Rádióállomások adatfolyamok keresése

Következzen az egyik legszórakoztatóbb rész! Ideje kiválasztani a kívánt streameket.

Az internetStations.json fájlomban láthatod a stream linkjeimet, főleg hírekre és zenékre. De rengeteg tárolt tartalom van odakint. A legfontosabb itt a közvetlen adatfolyam URL -címének megtalálása. Például a BBC hírei és zenei állomásai itt találhatók ezen a blogon. Ezek a közvetlen adatfolyamok nem rendelkeznek grafikus felülettel, és automatikusan lejátszják az adatfolyamot a böngésző médialejátszóján keresztül. Ezekre az URL -ekre van szükségünk, hogy a VLC el tudja olvasni őket! Gyorsan tesztelhet bármilyen linket a webes broswer -ben, vagy a normál számítógép VLC -jén, hogy megbizonyosodjon arról, hogy működni fog a pi -n.

Ezen állomások megkereséséhez keresse meg a közvetlen adatfolyamot online, ha a szolgáltatás üzemelteti. Gyors módszer lehet az adatfolyam lejátszása is, kattintson a jobb gombbal a böngészőre, és nyomja meg az "elem vizsgálata" gombot. Navigáljon a Hálózat fülre, és jelezze a közvetítés közvetlen URL -jét. Ez a youtube videó ezt bizonyítja. Az oldal frissítése nyitott lappal segíthet.

Ha megvannak az állomások, online fel szeretné helyezni őket, hogy a seniorRadio python programja megragadhassa őket. Ennek számos lehetősége van, használhat olyan webhelyeket, mint a Github, bitbucket vagy akár a sourceforge. A lista online tárolásának fő célja, hogy a beállító felhasználó távolról módosítsa az adatfolyamlistát.

A python program elején van egy url nevű változó, egyszerűen módosítsa ezt a json fájl URL -jévé az állomás URL linkjeivel

Ugyanazt a formátumot követheti, mint az internetStation.json fájlom. Ha a githubot is használni szeretné, egyszerűen elágazhatja a seniorRadio tárházamat, és szerkesztheti saját internetStation.json fájlját, és rámutathat arra a "nyers" URL -re. Ezt a Github grafikus felhasználói felületén találja meg, miután rákattintott a fájlra.

5. lépés: Hozzon létre áramköröket

Hozzon létre áramköröket
Hozzon létre áramköröket

Most be kell állítanunk az áramkört. Ez a felszereltségtől függően változik, de az alábbiakban bemutatom az enyém beállítását.

pinout.xyz/ hivatkozhat arra, hogy melyek a csapok. Mivel a gpiozero könyvtárat használjuk, csak a BCM pin számozással foglalkozunk. Ne feledje, hogy megvettem néhány extra KY040 forgó jeladót - a tárcsákat -, hogy kipróbálhassam őket, mivel nem mindegyikük pontossága azonos. Mindegyiknek volt valami "ugráló" vagy egyszerűen hibás kimenete, ezért a kettő közül a legjobbat választottam. A kódban megjegyzi, hogy van néhány lépés, amely korlátozza ezt a pattogást is.

Csatlakoztattam a nyomógombomat a BCM 17 csaphoz és a földhöz

A LED -em 1k ohmos ellenállásra, majd BCM 27 -es tüskére és földelésre

A KY040 forgó jeladóim + 5 -ös vezetéke volt, a GND földelt és az SW levált. Ezeket egy mini kenyértáblán keresztül kötötték össze

Állomás forgó jeladó dt csap a BCM 21 csaphoz csatlakoztatva

Állomás forgó jeladó CLK csap csatlakozik a BCM 20 csaphoz

Audio szint forgó kódoló dt csap a BCM 19 csaphoz csatlakoztatva

Audió szintű forgó kódoló clk csap a BCM 16 tűhöz csatlakoztatva

Ha megváltoztatja ezeket a gombostűket, frissítse a számot a python programban is, ahol a kezelőket beállította

Én egy mini kenyértáblát használtam ennek megkönnyítésére. Az interfész megkönnyítésére M/M és M/F jumper vezetékeket is használtam. Néhány jumper huzalvezetéket forrasztottam a korábban vásárolt nyomógomb/LED csapjaira. Ha nem akar forrasztani, olyan nyomógombokat és LED -eket kaphat, amelyek már rendelkeznek áthidaló vezetékekkel, vagy könnyen csatlakoztathatók az egyikhez.

6. lépés: Teszteld

Most egy működő rendszernek kell lennie! Próbáljuk ki. Keresse meg a mappát a python programmal, valószínűleg:

cd seniorRadio

python3 seniorRadio.py

Jelenleg 45 másodperces késleltetés van a program indításakor, hogy legyen ideje megtalálni a bekapcsolt Bluetooth hangszórót. Megjegyzést fűzhet ehhez a sorhoz, ha a tesztelés során nincs rá szüksége. A program jelezheti, hogy további csomagokat kell telepítenie. Ha igen, akkor folytassa. Szükség lehet a Python újabb verziójának telepítésére is.

sudo apt-get install python3.7

Néhány lehetséges probléma, még akkor is, ha a program fut:

Nem hallok hangot

Győződjön meg arról, hogy a hangszóró be van kapcsolva és kiválasztva a málna pi -ben. A grafikus felhasználói felületen keresztül képesnek kell lennie arra, hogy párosítsa, majd válassza ki audio kimeneti eszközként. Ezenkívül ellenőrizze az audio -illesztőprogramokat. Gyakori probléma, hogy újra kell telepítenie a pulseaudio csomagot

Hang zavaros vagy ki -be vágás

Próbálja közelebb vinni az eszközt a WiFi útválasztóhoz. Ezenkívül győződjön meg arról, hogy a Bluetooth hangszóró közel van. Hangprobléma is lehet

7. lépés: Tegye be egy állandó házba

Tegye be egy állandó házba
Tegye be egy állandó házba

Ezután dobozba vagy hasonló eszközbe kell helyezni, hogy tartósan élhessen. Javaslom, hogy legyen olyan, amelyhez később is hozzáférhet hibakereséshez. Ezt a kis fadobozt 2 dollárért kaptam egy kézműves boltban, és linkeltem a kellékek oldalon. Az egyik barátom szivar dobozt ajánlott.

Ezután lyukakat vágtam ki az elején a nyomógombhoz és a forgókapcsolókhoz, és lyukat fúrtam a doboz hátuljába a microUSB tápkábelhez.

Kipróbáltam a rögzítést, és meggyőződtem róla, hogy működik, és voilà!

Végül szuper ragasztóval tartottam a nyomógombot. A kenyértáblám alján ragasztó volt, amelyet a doboz egy részéhez csatlakoztattam. Egy kis csík ragasztószalaggal rögzítettem a pi hátlapját a dobozhoz, így szükség esetén később áthelyezhető.

8. lépés: Állítsa be a programot indításkor

Végül valószínűleg azt szeretné, ha ez a python program a málna pi indításakor futna, így nem kell manuálisan tennie. Ennek számos módja van, amelyeket megtalálhat az interneten.

Személy szerint a SparkFun bemutatójának második módjával állítottam be:

Itt a program futtatása előtt megvárja, amíg a rendszer belép a grafikus asztalra. Ezt követően a python program 45 másodpercre késlelteti, hogy a rendszernek ideje legyen újra csatlakozni a bluetooth hangszóróhoz. Ha integrált hangszórót használ, akkor eltávolíthatja ezt a késleltetést. Ne feledje, hogy a bluetooth hangszórót kell először bekapcsolni! (a bluetooth megoldáshoz)

Most megpróbálhatja kikapcsolni és újra bekapcsolni a pi-t! Körülbelül 90 másodperc múlva a pi -nek újra el kell kezdenie a rádióadások lejátszását. Amikor megnyomja a nyomógombot, leáll/lejátsz. Megjegyzés ezekre az újraindításokra, újra olvassa az internetStations json fájlt, így ha megváltoztatja állomásait, újra kell indítania az eszközt, hogy működjenek. Gratulálunk!

Ha ezt megtette, vagy módosította a projektet, kérjük, tudassa velem!

Github oldal:

Ajánlott: