Tartalomjegyzék:

Egygombos rádióadási doboz: 7 lépés (képekkel)
Egygombos rádióadási doboz: 7 lépés (képekkel)

Videó: Egygombos rádióadási doboz: 7 lépés (képekkel)

Videó: Egygombos rádióadási doboz: 7 lépés (képekkel)
Videó: Японский онсэн-рёкан, как в фильме Ghibli «Унесенные призраками» | Секизенкан | АСМР 2024, November
Anonim
Egygombos rádióadási doboz
Egygombos rádióadási doboz

Építettem egy dobozt a barátom bárjához, amelyben van egy Raspberry Pi, és egy gombnyomással hangot továbbít egy weboldalra a Darkice és az Icecast segítségével, miközben megvilágítja az „On-Air” feliratot. Azt hittem, ezt az emberek már csinálják, de alapos keresgélés után nem találtam semmit, és úgy döntöttem, hogy kitalálom magam, és elkészítem ezt az utasítást.

Raspberry Pi 3+ B -t használtam, de amennyire meg tudom mondani, bármelyik Pi -n működne (talán a GPIO pin -számok változnak, ezt azonban nem tudom igazolni). Az operációs rendszerhez a NOOBS csomagot használtam, és vásároltam egy szuper egyszerű hangkártyát a bemenethez. A pi védelme érdekében egy biztonságos leállító gombot és aktivitás LED-et is hozzáadtam a dobozhoz.

Szükséged lesz:

Raspberry Pi

NOOBS csomag SD kártyán

Be/Ki kapcsoló (nagy piros vészleállító gombot használtam, de ez lehet bármilyen kattintó kapcsoló)

Nyomógomb

1 LED

Egy "On-Air" jel, én készítettem egy saját LED-es tömböt

Forrasztópáka és kis csatlakozólap (most levágtam egy csíkot az egyikről, ami körülöttem volt)

Hangkártya (ilyen szuper egyszerűt használtam)

1. lépés: Állítsa be a szervert

Az általunk használt rádióállomás esetében ezt a részt nem én csináltam, mivel nem volt hozzáférésem a szerverhez, és a barátom tette, de van egy alapvető beállítási útmutató az Icecast webhelyen, és sikerült beszereznem az elején a Pi -ből működik, csak hogy lássa, hogyan megy. Alternatív megoldásként szerezhet fiókot az internet-radio.com webhelyen, és működik a Darkice-nal.

2. lépés: A Pi beállítása és a Darkice telepítése

Szerezzen be egy SD -kártyát a NOOBS csomaggal. A Raspbian megnyitása és az összes frissítés telepítése után nyisson meg egy Terminal ablakot, és írja be:

sudo apt-get update

sudo apt-get install darkice

A Darkice a Debian része, ezért automatikusan települ, néhány pillanatba telik.

Miután befejezte a parancssort, írja be:

sötétség

Hibaüzenetet ad, és nem fut, de ez rendben van. Az üzenetben ezt fogja mondani:

A konfigurációs fájl használata: /etc/darkice.cfg

Szerkesztenie kell a fájlt, ezért a parancssorba írja be:

sudo nano /etc/darkice.cfg

Szerkessze a megnyíló fájlt a wiki információi segítségével. Rádióreferencia oldal, ha befejezte, nyomja meg a CTRL-X billentyűt a bezáráshoz, az Y gombot a mentéshez, és vissza kell térnie a Terminál parancssorba. Mindig jó újraindítani egy új program telepítése után, ezért írja be:

újraindítás

és amikor a Pi újraindult, nyissa meg újra a Terminál ablakot. Most, amikor beírja a "Darkice" parancsot, hibaüzenetek nélkül kell futnia. Ha felkeresi a https:// YOURSERVERADDRESS: 8000/webhelyet (8000 vagy bármelyik porthoz van hozzárendelve a jégkiszolgáló szerver), akkor kap egy statisztikai oldalt, amely azt jelzi, hogy csatlakozik. Ha nem, módosítsa a konfigurációs fájlt (az audio bemeneti sor némi problémát okozott, de kipróbáltam az összes lehetőséget, és végül megtaláltam a hangkártyámat). Miután a Darkice megfelelően fut, folytassa a következő lépéssel.

3. lépés: Stream gomb és On-Air jel

Stream gomb és On-Air jel
Stream gomb és On-Air jel

Csomó különféle oktatóanyagot készítettem ehhez, mivel nem volt konkrét, hogy a Python egyik gombjához műveletet rendeljen. A legnagyobb problémám az volt, hogy a Darkice -t a háttérben futtassam (és így ne fagyassza le a Python -szkriptet, amikor elkezdte futni), de megkértem egy kódoló barátot, hogy jöjjön segíteni, és kitalálta a módját, hogy lapokat írjon. ne kapj. Nyilvánvalóan az is lehetséges, hogy valahol a kódban egy "&" -t használok, de nem vagyok kódoló, és ami van, működik, ezért úgy döntöttem, hogy nem kavarok vele. Miután minden rendben volt, elkezdtem lehúzni az összes kábelt a kenyértábláról, amíg meg nem marad a következő beállítás:

GPIO16 külső 3 pontos csatlakozóhoz.

GPIO7 az ON-Air jel LED-tömbjének pozitív pólusához.

GPIO25 a kattintáskapcsolóhoz.

A kattintáskapcsoló másik oldala a 3 pontos csatlakozóhoz csatlakozik.

A LED tömb negatív kivezetése is a 3 pontos csatlakozóhoz csatlakozik.

(A diagram többi összetevőjét a következő lépésben ismertetjük).

A Python -szkript a következő:

importálási időimport os import RPi. GPIO mint GPIO GPIO.setwarnings (False) GPIO.setmode (GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup (ledPin, GPIO. OUT) GPIO.setup (buttonPin, GPIO. IN, pull_up_down = GPIO. PUD_UP)

toggle = Hamis

def start_darkice ():

print ('hívó alfolyamat') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('folytatás') def stop_darkice (): os.system ('screen -X -S darkice quit')

míg igaz:

buttonState = GPIO.input (buttonPin) if buttonState == True: ha nem toggle: toggle = True print ('bekapcsolva a darkice') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin, GPIO. HIGH)

más:

if toggle: toggle = False print ('stopping darkice') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)

A py fájl csatolva van ehhez az utasításhoz, egyszerűen töltse le és kövesse az 5. lépést, ha úgy tetszik.

4. lépés: Biztonságos kikapcsolás gomb és tevékenység LED

Biztonságos kikapcsolás gomb és tevékenység LED
Biztonságos kikapcsolás gomb és tevékenység LED

Csak a biztonság kedvéért és a Pi élettartamának meghosszabbítása érdekében hozzáadtam egy biztonságos leállító gombot és egy külső tevékenységet jelző LED -et, hogy az emberek tudják, mikor biztonságos kihúzni a dobozt. Könnyen találtam oktatóanyagokat mindkettőhöz, de észrevettem, hogy a Raspberry Pi 3 B+ rendelkezik ACT LED -es GPIO tűvel, míg a korábbi modellek nem, és ez problémás lehet, ha régebbi Pi van.

Csatlakoztassa a LED pozitív kapcsát a GPIO13 -hoz, a negatívot pedig a GPIO26 -hoz. Az ACT LED működéséhez szerkeszteni kell a config.txt fájlt a BOOT könyvtárban. Ezt megtalálhatja a Raspbian böngészőben vagy a következővel:

sudo nano /usr/boot/config.txt

A fájl szerkesztésekor egyszerűen adja hozzá a következő sorokat:

# Használjon külső LED-et SD ACT LED-ként dtoverlay = pi3-felvonásos led, gpio = 19

Most a külső LED villogni kezd az SD -kártya aktivitásával.

Csatlakoztassa a nyomókapcsoló kapcsokat a GPIO3 és GPIO8 készülékekhez. A következő kódot találtam egy oktatóanyagból, és jól működik:

import timefrom gpiozero import Button from subprocess import check_call from signal import pause

def shutdown ():

check_call (['sudo', 'poweroff'])

shutdown_btn = Gomb (2, hold_time = 1)

shutdown_btn.when_held = leállítás

szünet()

time.sleep (1)

Ezt a py fájlt is mellékeljük, ha szeretné letölteni. A gombot 1 másodpercig le kell nyomni, ha meg akarja változtatni a „hold-time =” értéket.

5. lépés: Indítsa el a Python -parancsfájlokat a rendszerindításról

Ismét sok oktatóanyag van ebben a témában, ezt a Dexter Industries -től használtam, és az első lépést az rc.local fájl szerkesztésével követtem.

sudo nano /etc/rc.local

Itt hozzá kell adnia a teljes fájl elérési útját a dokumentum végéhez, minden sor végén egy "&" karakterrel. Minden fájlhoz egy sort kell hozzáadnia:

sudo python/home/pi/YOURFILENAME, py &

sudo python /home/pi/YOURFILENAME2.py &

közvetlenül a sor előtt

kilépés 0

Az egyes sorok végén található "&" fontos a programhurok biztosításához.

6. lépés: Készítse el a dobozt

Építsd meg a dobozt
Építsd meg a dobozt
Építsd meg a dobozt
Építsd meg a dobozt
Építsd meg a dobozt
Építsd meg a dobozt

Ez teljesen rajtad múlik. Valójában csak a Pi méretének kell lennie, de egy kompresszort tettem a rendszerbe, hogy a rádiófolyamot meglehetősen konzisztens szinten tartsam, így a doboz kicsit nagyobb. Az enyém elején lyuk van az On-Air jelzéshez, a másik pedig a Big Red Buttonhoz, ráadásul készítettem egy kis utasításkártyát a DJ-k számára, és berakom a gomb alá. A doboz oldalán lyuk található a nyomógomb, az ACT LED és az audiobemenet számára, valamint berakásos utasítások a bár személyzetének a doboz biztonságos leállításáról.

7. lépés: Telepítés

Telepítés
Telepítés
Telepítés
Telepítés
Telepítés
Telepítés
Telepítés
Telepítés

Rögzítse az összes különálló alkatrészt a dobozába, szem előtt tartva, hogy mindig jó, ha a Pi körüli levegő kering, hogy megakadályozza a túlmelegedést. Csatlakoztassa az audio kábeleket a keverőjéhez, nyomja meg a gombot, és élvezze a sugárzást!

Ajánlott: