Përmbajtje:
- Hapi 1: Konfiguroni serverin tuaj
- Hapi 2: Vendosni Pi dhe instaloni Darkice
- Hapi 3: Butoni i transmetimit dhe shenja në ajër
- Hapi 4: Butoni i mbylljes së sigurt dhe LED i aktivitetit
- Hapi 5: Bëni që Shkrimet Python të ekzekutohen nga boot
- Hapi 6: Ndërtoni Kutinë
- Hapi 7: Instalimi
Video: Kutia e transmetimit të radios me një buton: 7 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Unë ndërtova një kuti për shiritin e mikut tim që ka një Raspberry Pi brenda dhe me shtypjen e një butoni transmeton audio në një faqe në internet duke përdorur Darkice dhe Icecast, ndërsa ndez njëkohësisht një shenjë "On-Air". Mendova se kjo ishte diçka që njerëzit tashmë po bënin, por pas kërkimeve të gjera nuk gjeta asgjë dhe vendosa ta kuptoj vetë dhe ta bëj këtë të udhëzueshëm.
Kam përdorur një Raspberry Pi 3+ B, por me aq sa mund të them se do të funksiononte në çdo Pi (mbase numrat e kunjit GPIO do të ndryshonin, megjithatë nuk mund ta dëshmoj këtë). Përdora paketën NOOBS për OS dhe bleva një kartë zanore super të thjeshtë për hyrjen. Unë gjithashtu shtova një buton të sigurt të mbylljes dhe LED të aktivitetit në kuti për të mbrojtur Pi.
Do t'ju duhet:
Raspberry Pi
Paketa NOOBS në një kartë SD
Çelësi i ndezjes/fikjes (kam përdorur një buton të madh të kuq të ndalimit të urgjencës si ky, por mund të jetë çdo lloj çelësi 'klik')
Butoni i Shtypjes
1 LED
Një shenjë "On-Air", e bëra timen me një grup LED
Hekuri i saldimit dhe bordi i vogël lidhës (sapo kam prerë një shirit nga një prej këtyre që kisha përreth)
Kartë zanore (kam përdorur një super të thjeshtë si kjo)
Hapi 1: Konfiguroni serverin tuaj
Për stacionin aktual të radios që ne po përdorim nuk e bëra këtë pjesë pasi nuk kisha qasje në server dhe shoku im e bëri atë, por ka një udhëzues themelor të konfigurimit në faqen e internetit të Icecast dhe unë arrita të marr funksionon nga Pi në fillim vetëm për të parë se si shkon. Përndryshe, ju mund të merrni një llogari në internet-radio.com dhe funksionon me Darkice.
Hapi 2: Vendosni Pi dhe instaloni Darkice
Merrni një kartë SD me paketën NOOBS. Pasi të keni hapur Raspbian dhe të keni instaluar të gjitha azhurnimet, hapni një dritare të Terminalit dhe shkruani:
përditësim sudo apt-get
sudo apt-get install darkice
Darkice është pjesë e Debian kështu që do të instalohet automatikisht, duhen disa momente.
Pasi të përfundojë në llojin e shpejtë:
errësirë
Do të japë një mesazh gabimi dhe nuk do të funksionojë, por kjo është në rregull. Në mesazh do të thotë diçka si:
Duke përdorur skedarin e konfigurimit: /etc/darkice.cfg
Ju duhet ta redaktoni atë skedar, kështu që në llojin e shpejtë shkruani:
sudo nano /etc/darkice.cfg
Ndryshoni skedarin që hapet duke përdorur informacionin në këtë faqe wiki. Radioreferencë, kur të keni mbaruar shtypni CTRL-X për ta mbyllur, Y për të ruajtur dhe duhet të ktheheni në kërkesën e Terminalit. Alwaysshtë gjithmonë mirë të rindizni pas instalimit të një programi të ri, kështu që shkruani:
ristartoj
dhe kur Pi është rifilluar, rihapni një dritare të Terminalit. Tani kur shtypni 'Darkice' duhet të funksionojë pa asnjë mesazh gabimi. Nëse shkoni në https:// YOURSERVERADDRESS: 8000/(8000 ose cilësdo porti ku i është caktuar serveri juaj i akullit) duhet të merrni një faqe statistikash që thotë se jeni lidhur. Nëse jo, ndryshoni skedarin e konfigurimit (linja e hyrjes audio më dha disa probleme, por unë provova të gjitha opsionet dhe përfundimisht gjeta kartën time të zërit). Pasi Darkice po funksionon siç duhet, kaloni në hapin tjetër.
Hapi 3: Butoni i transmetimit dhe shenja në ajër
Unë bëra një mori mësimesh të ndryshme për këtë pasi nuk kishte asnjë specifik për caktimin e një veprimi në një buton në Python. Problemi më i madh me të cilin u ballafaqua ishte që Darkice të funksiononte në sfond (dhe kështu të mos ngrinte shkrimin Python kur filloi të funksiononte), por i kërkova një shoku kodues të vinte dhe të ndihmonte dhe ai gjeti një mënyrë për ta bërë këtë duke shkruar fletë, diçka që unë mos merrni. Me sa duket mund të jetë gjithashtu e mundur duke përdorur një '&' diku në kod, por unë nuk jam kodues dhe ajo që kam funksionon kështu që zgjodha të mos ngatërrohem me të. Sapo kisha funksionuar gjithçka, fillova t'i heq të gjitha kabllot nga pjata e bukës derisa më lanë konfigurimin e mëposhtëm:
GPIO16 në një lidhës të jashtëm me 3 pika.
GPIO7 në terminalin pozitiv të grupit LED për shenjën ON-Air.
GPIO25 te çelësi i klikimit.
Ana tjetër e çelësit të klikimit i bashkohet lidhësit me 3 pika.
Terminali negativ i grupit LED gjithashtu i bashkëngjitet lidhësit me 3 pika.
(Komponentët e tjerë në diagram shpjegohen në hapin tjetër).
Skenari Python me të cilin përfunduam është si më poshtë (ju lutemi vini re se ky është një udhëzues për të gjithë projektin, me të vërtetë nuk di mjaftueshëm për të shpjeguar kodin. Unë e bashkova atë nga mësime të ndryshme të tjera për funksione të ndryshme):
koha e importit os import RPi. GPIO si 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)
kaloni = E gabuar
def start_darkice ():
print ('thirrja e nënprocesit') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('rifillimi') def stop_darkice (): os.system ('screen -X -S darkice quit')
ndërsa e vërtetë:
buttonState = GPIO.input (buttonPin) nëse buttonState == E vërtetë: nëse jo kaloni: toggle = Printim i vërtetë ('ndezja e errësirës') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin, GPIO. HIGH)
tjeter:
if toggle: toggle = Printimi i rremë ('ndalimi i errësirës') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)
Skedari py është i bashkangjitur këtij udhëzuesi, thjesht mund ta shkarkoni dhe ndiqni hapin 5 nëse dëshironi.
Hapi 4: Butoni i mbylljes së sigurt dhe LED i aktivitetit
Vetëm për siguri dhe për të zgjatur jetën e Pi, shtova një buton fikjeje të sigurt dhe një LED të aktivitetit të jashtëm, në mënyrë që njerëzit të dinë kur është e sigurt të shkëputni kutinë nga priza. Gjeta lehtësisht mësime për të dyja këto, por vura re që Raspberry Pi 3 B+ ka një pin ACT të caktuar GPIO LED, ndërsa modelet e mëparshme nuk e bëjnë këtë dhe kjo mund të jetë problematike nëse keni një Pi më të vjetër.
Bashkangjitni terminalin pozitiv të ZHEL në GPIO13 dhe atë negativ në GPIO26. Që ACT LED të funksionojë ju duhet të redaktoni skedarin config.txt në drejtorinë BOOT. Këtë mund ta gjeni në shfletuesin Raspbian ose me:
sudo nano /usr/boot/config.txt
Kur redaktoni skedarin, thjesht shtoni rreshtat e mëposhtëm:
# Përdorni LED të jashtëm si SD ACT LED dtoverlay = pi3-act-led, gpio = 19
Tani LED i jashtëm do të dridhet me aktivitetin e kartës SD.
Bashkangjitni terminalet e ndërprerësit shtytës në GPIO3 dhe GPIO8. Gjeta kodin e mëposhtëm nga një tutorial dhe funksionon mirë:
koha e importimit nga gpiozero Butoni i importit nga nënprocesi i importit check_call nga pauza e importit të sinjalit
def mbyllje ():
check_call (['' sudo ',' poweroff '])
shutdown_btn = Butoni (2, koha e mbajtjes = 1)
mbyllje_btn.when_held = mbyllje
pauzë ()
koha. gjumi (1)
Ky skedar py është bashkangjitur gjithashtu për ta shkarkuar nëse dëshironi. Butoni im duhet të mbahet për 1 sekondë, nëse doni ta ndryshoni atë ndryshoni vlerën 'hold-time ='.
Hapi 5: Bëni që Shkrimet Python të ekzekutohen nga boot
Përsëri, ka shumë mësime mbi këtë temë, unë e përdor këtë nga Dexter Industries dhe ndoqa hapin e parë duke redaktuar skedarin rc.local.
sudo nano /etj/rc.local
Këtu ju duhet të shtoni skedarin e plotë të skedarit në fund të dokumentit, të plotësuar me një & në fund të secilës rresht. Ju duhet të shtoni një rresht për secilën prej skedarëve:
sudo python/home/pi/YOURFILENAME, py &
sudo python /home/pi/YOURFILENAME2.py &
pak para rreshtit
dalja 0
'&' Në fund të secilës rresht është e rëndësishme për të siguruar sythe programi.
Hapi 6: Ndërtoni Kutinë
Kjo varet plotësisht nga ju. Me të vërtetë duhet të jetë vetëm madhësia e Pi, por unë vendos një kompresor në konfigurimin tim për të mbajtur transmetimin e radios në një nivel mjaft të qëndrueshëm, kështu që kutia është pak më e madhe. E imja ka një vrimë në pjesën e përparme për shenjën On-Air dhe një për Butonin e Kuq të Madh, plus bëra një kartë udhëzimi të vogël për DJ-të dhe e futa atë nën butonin. Në anën e kutisë ka një vrimë për butonin shtypës, ACT LED dhe hyrjen audio, plus udhëzime të futura për stafin e shiritit se si ta mbyllin me siguri kutinë.
Hapi 7: Instalimi
Fiksoni të gjithë përbërësit e veçantë në kutinë tuaj, duke pasur parasysh se është gjithmonë mirë të lejoni qarkullimin e ajrit rreth Pi për të parandaluar mbinxehjen. Bashkangjitni kabllot audio nga mikseri juaj, goditni butonin dhe kënaquni me transmetimin!
Recommended:
Kutia muzikore e radios FM e bazuar në PIC16F1847 dhe AR1010: 5 hapa
Kutia muzikore e radios FM e bazuar në PIC16F1847 dhe AR1010: Ky është postimi im i parë i udhëzueshëm. Bëra një kuti Radio FM dixhitale duke përdorur këtë modul të lirë marrës AR1010 FM Radio që bleva nga Ebay dhe një Mikrokontrollues PIC16F1847 nga MICROCHIP. Pse PIC -të? Pse të mos përdorni Arduino? Sepse kam një mori të
Qarku i fikur i fiksimit me UC. Një buton me një shtytje. Një kunj. Komponenti diskret .: 5 hapa
Qarku i fikur i fiksimit me UC. Një buton me një shtytje. Një kunj. Komponenti Diskret .: Përshëndetje të gjithëve, po kërkoni një qark on/off në rrjet. Gjithçka që gjeta nuk ishte ajo që kërkoja. Po flisja me veten, ka domosdoshmërisht një mënyrë për këtë. Kjo ishte ajo për të cilën kisha nevojë.-Vetëm një buton për të aktivizuar dhe fikur.-Duhet të përdoret vetëm
Altoparlant Bluetooth i Linjës së Transmetimit të Betonit: 7 Hapa (me Fotografi)
Gjuha Betoni e Transmetimit Bluetooth Altoparlant: Përshëndetje, unë jam Ben dhe më pëlqen të bëj gjëra. Sot do t'ju tregoj se si të bëni një altoparlant Bluetooth të Linjës së Transmetimit të Betonit. Kam dashur të bëj një altoparlant me pamje moderne për dhomën time, prandaj zgjodha beton për rastin. Kam pasur shumë
Robot Raspberry Pi Wifi i kontrolluar i transmetimit të videove: 8 hapa (me fotografi)
Robot Raspberry Pi Wifi i kontrolluar i transmetimit të videove: A keni menduar ndonjëherë për ndërtimin e një roboti të lezetshëm me një aparat fotografik mbi të? Epo, keni ardhur në vendin e duhur, unë do t'ju tregoj hap pas hapi se si të ndërtoni këtë robot. Me këtë ju mund të shkoni në gjueti fantazmash gjatë natës duke kontrolluar dhe parë videon që ushqehet me pajisjen tuaj
Shtoni një buton të zjarrit të shpejtë në miun tuaj duke përdorur një kohëmatës 555: 5 hapa (me fotografi)
Shtoni një buton të zjarrit të shpejtë në miun tuaj duke përdorur një kohëmatës 555: A lodhet gishti lehtë kur luani video lojëra? A keni dëshiruar ndonjëherë që ju të arrini n00bs më shpejt se shpejtësia e dritës pa e thyer ndonjëherë djersën? Ky udhëzues do t'ju tregojë se si