INHOUDSOPGAWE:
- Stap 1: Stel u bediener op
- Stap 2: Stel die Pi op en installeer Darkice
- Stap 3: Stroomknoppie en teken op die lug
- Stap 4: Knoppie vir veilige afsluit en LED vir aktiwiteit
- Stap 5: Laat die Python -skripte van die opstart af loop
- Stap 6: Bou die boks
- Stap 7: Installasie
Video: Radio-stroomboks met een knoppie: 7 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Ek het 'n boks vir die maat van my vriend gebou met 'n Raspberry Pi aan die binnekant en met 'n druk van een knoppie stroom dit klank na 'n webwerf met Darkice en Icecast, terwyl ek tegelyk 'n 'On-Air'-bordjie aansteek. Ek het gedink dit is iets wat mense alreeds doen, maar na uitgebreide soektog het ek niks gevind nie en besluit om dit self uit te vind en te leer.
Ek het 'n Raspberry Pi 3+ B gebruik, maar sover ek kan weet, sal dit op enige Pi werk (miskien kan die GPIO -speldnommers verskil, maar ek kan dit nie getuig nie). Ek het die NOOBS -pakket vir die bedryfstelsel gebruik en 'n super eenvoudige klankkaart vir die invoer gekoop. Ek het ook 'n veilige afsluitknoppie en aktiwiteits-LED by die boks gevoeg om die Pi te beskerm.
Jy sal nodig hê:
Framboos Pi
NOOBS -pakket op 'n SD -kaart
Aan/uit -skakelaar (ek het 'n groot rooi noodstopknoppie soos hierdie gebruik, maar dit kan enige soort 'klik' -skakelaar wees)
Druk knoppie
1 LED
As 'n 'On-Air' teken, het ek my eie gemaak met 'n LED-skikking
Soldeerbout en klein aansluitbord (ek het net 'n strook daarvan afgesny wat ek gehad het)
Klankkaart (ek het 'n super-eenvoudige een soos hierdie gebruik)
Stap 1: Stel u bediener op
Vir die werklike radiostasie wat ons gebruik, het ek hierdie deel nie gedoen nie, aangesien ek nie toegang tot die bediener gehad het nie en my vriend dit gedoen het, maar daar is 'n basiese opstellingsgids op die Icecast-webwerf en ek het daarin geslaag dit werk aan die begin van die Pi af net om te sien hoe dit gaan. U kan ook 'n rekening op internet-radio.com kry en dit werk met Darkice.
Stap 2: Stel die Pi op en installeer Darkice
Verkry 'n SD -kaart met die NOOBS -pakket. Nadat u Raspbian oopgemaak het en al die opdaterings geïnstalleer het, maak u 'n Terminal -venster oop en tik:
sudo apt-get update
sudo apt-get installeer darkice
Darkice is deel van Debian, dus dit sal outomaties geïnstalleer word, dit neem 'n paar oomblikke.
Sodra dit klaar is met die vinnige tipe:
donkerkop
Dit gee 'n foutboodskap en word nie uitgevoer nie, maar dit is goed. In die boodskap sal dit iets sê soos:
Gebruik config -lêer: /etc/darkice.cfg
U moet die lêer wysig, so by die vinnige tipe:
sudo nano /etc/darkice.cfg
Wysig die lêer wat oopmaak met behulp van die inligting op hierdie wiki. Radioverwysingsbladsy, as u klaar is, druk CTRL-X om te sluit, Y om te stoor en u moet terugkeer na die Terminal-prompt. Dit is altyd goed om weer te begin nadat u 'n nuwe program geïnstalleer het, tik dus:
herlaai
en as die Pi weer begin, maak 'n Terminal-venster weer oop. As u 'Darkice' intik, moet dit sonder foutboodskappe werk. As u na https:// YOURSERVERADDRESS: 8000/(8000 of watter poort u ook aan die icecast -bediener toewys) gaan, moet u 'n statistiekbladsy kry wat sê dat u gekoppel is. As dit nie die geval is nie, pas die konfigurasielêer aan (die klankinvoerlyn het 'n paar probleme opgelewer, maar ek het al die opsies probeer en uiteindelik my klankkaart gevind). Sodra Darkice behoorlik werk, gaan na die volgende stap.
Stap 3: Stroomknoppie en teken op die lug
Ek het 'n klomp verskillende tutoriale hiervoor gedoen, aangesien daar geen spesifieke een was om 'n aksie aan 'n knoppie in Python toe te ken nie. Die grootste probleem waarmee ek te kampe gehad het, was om Darkice op die agtergrond te laat hardloop (en dus nie die Python -script te vries toe dit begin loop nie), maar ek het 'n kodeerdervriend gevra om te kom help, en hy het 'n manier uitgevind om dit te skryf, en ek het kry nie. Blykbaar kan dit ook moontlik wees om 'n '&' êrens in die kode te gebruik, maar ek is nie 'n kodeerder nie en wat ek het, werk, so ek het besluit om nie daarmee te mors nie. Toe ek alles aan die werk gehad het, het ek al die kabels van die broodbord afgehaal totdat ek met die volgende opstelling oorgebly het:
GPIO16 na 'n eksterne 3-punt-aansluiting.
GPIO7 na die positiewe terminaal van die LED-skikking vir die ON-Air-teken.
GPIO25 na die klikskakelaar.
Die ander kant van die klikskakelaar word aan die 3-punt-aansluiting geheg.
Die negatiewe terminaal van die LED-skikking word ook aan die 3-punt-aansluiting geheg.
(Die ander komponente op die diagram word in die volgende stap verduidelik).
Die Python -skrif waarmee ons beland het, is soos volg (let op: dit is 'n instruksie vir die hele projek; ek weet nie regtig genoeg om die kode te verduidelik nie. Ek het dit saamgevoeg uit verskillende tutoriale vir verskillende funksies):
import timeimport os import RPi. GPIO as 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)
wissel = Onwaar
def start_darkice ():
print ('roep subproses') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('hervat') def stop_darkice (): os.system ('screen -X -S darkice quit')
terwyl dit waar is:
buttonState = GPIO.input (buttonPin) if buttonState == True: indien nie toggle: toggle = True print ('draai donkersky aan') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin, GPIO. HIGH)
anders:
if toggle: toggle = Onjuiste druk ('stop darkice') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)
Die py -lêer is by hierdie instruksies aangeheg; u kan dit net aflaai en stap 5 volg as u wil.
Stap 4: Knoppie vir veilige afsluit en LED vir aktiwiteit
Net vir die veiligheid en om die lewensduur van die Pi te verleng, het ek 'n veilige afsluitknoppie en 'n eksterne LED vir aktiwiteite bygevoeg, sodat mense weet wanneer dit veilig is om die boks uit te skakel. Ek het maklik tutoriale vir albei gevind, maar ek het opgemerk dat die Raspberry Pi 3 B+ 'n ACT LED -GPIO -pen het, terwyl vorige modelle dit nie doen nie, en dit kan problematies wees as u 'n ouer Pi het.
Koppel die positiewe terminaal van die LED aan GPIO13 en die negatiewe aan GPIO26. Om die ACT -LED te laat werk, moet u die config.txt -lêer in die BOOT -gids wysig. U kan dit vind in die Raspbian -blaaier of met:
sudo nano /usr/boot/config.txt
Voeg die volgende reëls by wanneer u die lêer redigeer:
# Gebruik eksterne LED as SD ACT LED dtoverlay = pi3-act-led, gpio = 19
Nou flikker die eksterne LED met SD -kaartaktiwiteit.
Koppel die drukknopsklemme aan GPIO3 en GPIO8. Ek het die volgende kode uit 'n tutoriaal gevind en dit werk goed:
invoer tyd vanaf gpiozero invoer knoppie vanaf subproses invoer tjek_oproep vanaf sein invoer pouse
def shutdown ():
check_call (['sudo', 'poweroff'])
shutdown_btn = Knoppie (2, hold_time = 1)
shutdown_btn.when_held = afsluiting
pouse ()
tyd. slaap (1)
Hierdie py -lêer is ook aangeheg om af te laai as u wil. My knoppie moet 1 sekonde ingedruk gehou word, as u die waarde 'hold-time =' wil verander.
Stap 5: Laat die Python -skripte van die opstart af loop
Weereens, daar is baie tutoriale oor hierdie onderwerp; ek het hierdie van Dexter Industries gebruik en stap een gevolg deur die rc.local -lêer te wysig.
sudo nano /etc/rc.local
Hier moet u die volledige lêerpad na die einde van die dokument voeg, met 'n '&' aan die einde van elke reël. U moet een reël vir elk van die lêers byvoeg:
sudo python/home/pi/YOURFILENAME, py &
sudo python /home/pi/YOURFILENAME2.py &
net voor die ry
uitgang 0
Die '&' aan die einde van elke reël is belangrik om te verseker dat die program loop.
Stap 6: Bou die boks
Dit is heeltemal aan jou. Dit hoef eintlik net die grootte van die Pi te wees, maar ek het 'n kompressor in my opset gesit om die radiostroom op 'n redelik konsekwente vlak te hou, sodat die boks 'n bietjie groter is. Myne het 'n gaatjie aan die voorkant vir die On-Air-bord en een vir die Big Red Button, plus ek het 'n klein instruksiekaartjie vir die DJ's gemaak en dit onder die knoppie ingesit. Aan die kant van die boks is 'n gaatjie vir die drukknop, die ACT-LED en die klankinvoer, plus instruksies vir die kroegpersoneel oor hoe om die boks veilig af te sluit.
Stap 7: Installasie
Plaas al die afsonderlike komponente in u boks, met in gedagte dat dit altyd goed is om lugsirkulasie rondom die Pi moontlik te maak om oorverhitting te voorkom. Koppel die klankkabels uit u menger, druk op die knoppie en geniet die uitsending!
Aanbeveel:
Uitsluiting van 'n servo -ophanging met een knoppie: 3 stappe
Een -knoppie -servo -ophanging: bergfietse met volledige vering bied 'n gladde rit, maar vereis dikwels dat die vering gesluit word wanneer u opdraande trap. Anders druk die vering saam terwyl u op die pedale staan, en vermors die moeite. Die fietsvervaardigers weet dit, en voorsien
N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer: 7 stappe (met foto's)
N Toepassing van 'n uitbreidbare knoppie met trillingsterugvoer: In hierdie tutoriaal gaan ons u eers wys hoe u 'n Arduino Uno kan gebruik om 'n vibrasiemotor te beheer via 'n verlengde knoppie. Die meeste tutoriale oor drukknoppies behels die knoppie op die fisiese broodbord, terwyl die knoppie in hierdie tutoriaal
RGB USB -sleutelbord met een knoppie: 6 stappe (met foto's)
RGB USB -sleutelbord met een knoppie: het u ooit die behoefte gehad om 'n klein, maar funksionele, RGB -sleutelbord met agtergrond te hê, nie groter as die grootte van 'n enkele sleutel nie? Geen? Wie gee om, maak tog een! Hierdie instruksies sal u lei deur die stappe wat u nodig het om u eie, effens nuttelose, op
Bemeester u mikro: bietjie met Arduino IDE-knoppie en ander GPIO: 3 stappe (met foto's)
Bemeester jou mikro: bit Met Arduino IDE-Knoppie en ander GPIO: In ons vorige blog Master Your Micro: bit met Arduino IDE - - Light LED, ons het gepraat oor hoe om micro: bit biblioteek op Arduino IDE te installeer en hoe om LED op mikro: bit met Arduino IDE aan te dryf. In hierdie artikel gaan ons u vertel
Voeg 'n vinnige knoppie by u muis met 'n 555-timer: 5 stappe (met foto's)
Voeg 'n vinnige knoppie by u muis met 'n 555-timer: word u vinger maklik moeg terwyl u videospeletjies speel? Wens u ooit dat u n00bs vinniger kon wees as die ligspoed sonder om ooit te sweet? Hierdie instruksies sal jou wys hoe