Tartalomjegyzék:
- 1. lépés: Állítsa be a szervert
- 2. lépés: A Pi beállítása és a Darkice telepítése
- 3. lépés: Stream gomb és On-Air jel
- 4. lépés: Biztonságos kikapcsolás gomb és tevékenység LED
- 5. lépés: Indítsa el a Python -parancsfájlokat a rendszerindításról
- 6. lépés: Készítse el a dobozt
- 7. lépés: Telepítés
Videó: Egygombos rádióadási doboz: 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
É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
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
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
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
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:
Egygombos szervo felfüggesztés reteszelés: 3 lépés
Egygombos szervo felfüggesztés reteszelés: A teljes felfüggesztésű hegyikerékpárok zökkenőmentes haladást biztosítanak, de gyakran felfüggesztést igényelnek, amikor felfelé pedáloznak. Ellenkező esetben a felfüggesztés összenyomódik, amikor a pedálokra áll, és pazarolja ezt az erőfeszítést. A kerékpárgyártók tudják ezt, és biztosítják
WW2 rádióadási időgép: 13 lépés (képekkel)
Második világháborús rádióadási időgép: Ennek az volt az ötlete, hogy használok néhány heverő alkatrészt, és egy hangrögzítőt építek egy régi rádióban. Hogy még több célt szolgálhassak a háttérben, úgy döntöttem, hogy megtöltöm régi rádióadásokkal a második világháborúból, majd újraszervezem a
RGB egygombos USB billentyűzet: 6 lépés (képekkel)
RGB egygombos USB billentyűzet: Érezte valaha, hogy szükség van egy apró, mégis funkcionális, RGB háttérvilágítású billentyűzetre, amely nem nagyobb, mint egyetlen gomb mérete? Nem? Akit érdekel, készítsen egyet! Ez az oktatóanyag végigvezeti Önt azon lépéseken, amelyekre szüksége van ahhoz, hogy saját, kissé haszontalan legyen
Cédrus (szivar?) Doboz hangszóró doboz: 8 lépés (képekkel)
Cedar (szivar?) Doboz hangszóró doboz: A Munny hangszórók ihlette, de nem hajlandó többet költeni, mint 10 dollár, itt az én útmutatásom a régi számítógépes hangszórók, a fából készült doboz a takarékboltból és sok forró ragasztó segítségével
Egygombos billentyűzettörő: 4 lépés (képekkel)
Egygombos billentyűzettörő: értékes másodperceket pazarol a kód beírásával minden alkalommal, amikor ki kell nyitnia az ajtót? Ez a kis „eszköz” leegyszerűsíti a folyamatot a megfelelő gombok megnyomásával, és elrejthető a tenyerében, így egyszerűen összetörheti a kezét a billentyűzettel és - az alkalmazással