Turinys:
- 1 veiksmas: nustatykite savo serverį
- 2 veiksmas: nustatykite „Pi“ir įdiekite „Darkice“
- 3 žingsnis: srauto mygtukas ir eterio ženklas
- 4 veiksmas: saugaus išjungimo mygtukas ir veiklos šviesos diodas
- 5 veiksmas: priverskite „Python“scenarijus paleisti iš įkrovos
- 6 žingsnis: sukurkite dėžutę
- 7 žingsnis: diegimas
Video: Vieno mygtuko radijo transliacijos dėžutė: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Aš sukūriau dėžutę savo draugo barui, kurios viduje yra „Raspberry Pi“, ir vienu mygtuko paspaudimu jis perduoda garsą į svetainę, naudodamas „Darkice“ir „Icecast“, tuo pačiu metu įžiebdamas „On-Air“ženklą. Maniau, kad tai buvo kažkas, ką žmonės jau daro, bet po išsamių paieškų nieko neradau ir nusprendžiau pats tai išsiaiškinti ir padaryti šį nurodymą.
Aš naudojau „Raspberry Pi 3+ B“, tačiau, kiek galiu pasakyti, jis veiktų su bet kokiu „Pi“(galbūt GPIO PIN kodai skirsis, tačiau to negaliu patvirtinti). OS naudoju NOOBS paketą ir įėjimui nusipirkau itin paprastą garso plokštę. Taip pat prie dėžutės pridėjau saugaus išjungimo mygtuką ir veiklos šviesos diodą, kad apsaugotų „Pi“.
Jums reikės:
Raspberry Pi
NOOBS paketas SD kortelėje
Įjungimo/išjungimo jungiklis (naudojau didelį raudoną avarinio sustabdymo mygtuką, tokį kaip šis, bet tai gali būti bet koks „paspaudimo“jungiklis)
Mygtukas
1 šviesos diodas
Ženklas „On-Air“, aš padariau savo su LED masyvu
Lituoklis ir maža jungčių plokštė (aš ką tik nupjoviau juostelę iš vienos, kurią turėjau aplink)
Garso plokštė (aš naudojau tokią labai paprastą)
1 veiksmas: nustatykite savo serverį
Tikros radijo stoties, kurią naudojame, aš šios dalies nepadariau, nes neturėjau prieigos prie serverio ir tai padarė mano draugas, tačiau „Icecast“svetainėje yra pagrindinis sąrankos vadovas ir man pavyko gauti pradžioje jis veikia tik iš „Pi“, kad pamatytų, kaip viskas vyksta. Arba galite gauti paskyrą internet-radio.com ir ji veikia su „Darkice“.
2 veiksmas: nustatykite „Pi“ir įdiekite „Darkice“
Įsigykite SD kortelę su NOOBS paketu. Atidarę „Raspbian“ir įdiegę visus naujinimus, atidarykite terminalo langą ir įveskite:
sudo apt-get atnaujinimas
sudo apt-get install darkice
„Darkice“yra „Debian“dalis, todėl ji bus įdiegta automatiškai, tai užtruks kelias akimirkas.
Kai jis bus baigtas pagal raginimo tipą:
tamsi
Tai duos klaidos pranešimą ir nebus paleistas, bet tai gerai. Laiške jis pasakys kažką panašaus:
Naudojant konfigūracijos failą: /etc/darkice.cfg
Turite redaguoti tą failą, todėl raginant įveskite:
sudo nano /etc/darkice.cfg
Redaguokite atidaromą failą naudodami šiame wiki esančią informaciją. Radijo nuorodos puslapis, kai baigsite, paspauskite CTRL-X, kad uždarytumėte, Y-išsaugokite ir turėtumėte grįžti į terminalo raginimą. Įdiegę naują programą visada gerai paleisti iš naujo, todėl įveskite:
perkrauti
ir kai „Pi“paleidžiamas iš naujo, atidarykite terminalo langą. Dabar, kai įvedate „Darkice“, jis turėtų veikti be jokių klaidų pranešimų. Jei einate į https:// YOURSERVERADDRESS: 8000/(8000 arba bet kuris prievadas, kuriam priskirtas jūsų ledų serveris), turėtumėte gauti statistikos puslapį, kuriame sakoma, kad esate prisijungę. Jei ne, pataisykite konfigūracijos failą (garso įvesties eilutė man sukėlė tam tikrų problemų, bet išbandžiau visas parinktis ir galiausiai radau savo garso plokštę). Kai „Darkice“veiks tinkamai, pereikite prie kito žingsnio.
3 žingsnis: srauto mygtukas ir eterio ženklas
Aš padariau daugybę skirtingų pamokų, nes nebuvo konkretaus veiksmo priskyrimo mygtukui „Python“. Didžiausia problema, su kuria susidūriau, buvo priversti „Darkice“veikti fone (ir neužšaldyti „Python“scenarijaus, kai ji pradėjo veikti), bet paprašiau draugo programuotojo ateiti padėti ir jis išsiaiškino, kaip tai padaryti rašant lapus. nesulauk. Matyt, tai taip pat gali būti įmanoma naudojant kodą „&“bet kode, bet nesu koduotojas ir tai, ką turiu, veikia, todėl nusprendžiau su juo nesikišti. Kai viskas susitvarkė, pradėjau kišti visus kabelius nuo duonos lentos, kol man liko tokia sąranka:
GPIO16 prie išorinės 3 taškų jungties.
GPIO7 prie teigiamo LED masyvo gnybto, skirto ON-Air ženklui.
GPIO25 prie paspaudimo jungiklio.
Kita spragtelėjimo jungiklio pusė pritvirtinama prie 3 taškų jungties.
Šviesos diodų masyvo neigiamas gnybtas taip pat pritvirtinamas prie 3 taškų jungties.
(Kiti diagramos komponentai paaiškinti kitame žingsnyje).
Python scenarijus, kurį mes baigėme, yra toks (atkreipkite dėmesį, kad tai yra viso projekto instrukcija, aš tikrai nežinau pakankamai, kad paaiškintų kodą. Aš jį sujungiau iš įvairių kitų skirtingų funkcijų vadovėlių):
importuoti laikąimportuoti importuoti RPi. GPIO kaip GPIO GPIO.setwarnings (klaidinga) GPIO.setmode (GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup (ledPin, GPIO. OUT) GPIO.setup (buttonPin, GPIO. IN, pull_up_down = GPIO. PUD_UP)
perjungti = klaidinga
def start_darkice ():
print ('call subprocess') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('atnaujinamas') def stop_darkice (): os.system ('screen -X -S darkice quit')
nors tiesa:
buttonState = GPIO.input (buttonPin) if buttonState == Tiesa: jei ne perjungti: toggle = Tikras spausdinimas („įjungus tamsą“) start_darkice () #print („BUTTON STATE TRUE“) GPIO.output (ledPin, GPIO. HIGH)
Kitas:
if toggle: toggle = False print ('stopping darkice') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)
Py failas pridedamas prie šios instrukcijos, galite ją tiesiog atsisiųsti ir, jei norite, atlikti 5 veiksmą.
4 veiksmas: saugaus išjungimo mygtukas ir veiklos šviesos diodas
Saugos sumetimais ir „Pi“tarnavimo laiko pratęsimui pridėjau saugaus išjungimo mygtuką ir išorinės veiklos šviesos diodą, kad žmonės žinotų, kada saugu atjungti dėžutę. Aš lengvai radau pamokas abiem, bet pastebėjau, kad „Raspberry Pi 3 B+“turi ACT LED priskirtą GPIO kaištį, o ankstesni modeliai to neturi, ir tai gali būti problemiška, jei turite senesnį „Pi“.
Pritvirtinkite teigiamą šviesos diodo gnybtą prie GPIO13, o neigiamą - prie GPIO26. Kad veiktų šviesos diodas ACT, turite redaguoti failą config.txt kataloge BOOT. Tai galite rasti „Raspbian“naršyklėje arba naudodami:
sudo nano /usr/boot/config.txt
Redaguodami failą tiesiog pridėkite šias eilutes:
# Naudokite išorinį šviesos diodą kaip SD ACT LED dtoverlay = pi3-act-led, gpio = 19
Dabar išorinis šviesos diodas mirksi, kai veikia SD kortelė.
Pritvirtinkite jungiklio gnybtus prie GPIO3 ir GPIO8. Iš mokymo programos radau šį kodą ir jis veikia gerai:
importavimo laikas iš gpiozero importavimo mygtukas iš papildomo proceso importuoti check_call iš signalo importavimo pauzės
išjungimas ():
check_call (['sudo', 'poweroff'])
shutdown_btn = Mygtukas (2, hold_time = 1)
shutdown_btn.when_held = išjungimas
Pauzė()
laikas. miegas (1)
Šis py failas taip pat pridedamas, kad galėtumėte atsisiųsti, jei norite. Mano mygtuką reikia palaikyti 1 sekundę, jei norite pakeisti tą reikšmę „hold-time =“.
5 veiksmas: priverskite „Python“scenarijus paleisti iš įkrovos
Vėlgi, yra daug vadovėlių šia tema, aš naudoju šį „Dexter Industries“ir atlikiau pirmą veiksmą, redaguodamas rc.local failą.
sudo nano /etc/rc.local
Čia dokumento pabaigoje turite pridėti visą failo kelią, o kiekvienos eilutės pabaigoje-„&“. Prie kiekvieno failo turėtumėte pridėti vieną eilutę:
sudo python/home/pi/YOURFILENAME, py &
sudo python /home/pi/YOURFILENAME2.py &
prieš pat eilutę
išeiti 0
Kiekvienos eilutės pabaigoje esantis „&“yra svarbus norint užtikrinti programos kilpas.
6 žingsnis: sukurkite dėžutę
Tai visiškai priklauso nuo jūsų. Tai tikrai turi būti tik „Pi“dydžio, tačiau į savo sistemą įdėjau kompresorių, kad radijo srautas būtų gana pastovus, todėl dėžutė yra šiek tiek didesnė. Mano priekyje yra skylė „On-Air“ženklui ir „Big Red Button“, be to, aš padariau nedidelę instrukcijų kortelę didžėjams ir įdėjau ją po mygtuku. Dėžutės šone yra skylė mygtukui, ACT LED ir garso įėjimui, taip pat įdėtos instrukcijos baro darbuotojams, kaip saugiai išjungti dėžutę.
7 žingsnis: diegimas
Pritvirtinkite visus atskirus komponentus į dėžę, turėdami omenyje, kad visada gerai leisti šiek tiek cirkuliuoti aplink Pi, kad būtų išvengta perkaitimo. Prijunkite garso kabelius iš maišytuvo, paspauskite mygtuką ir mėgaukitės transliacija!
Rekomenduojamas:
Vieno mygtuko servo pakabos blokavimas: 3 žingsniai
Vieno mygtuko servo pakabos blokavimas: Visiškai pakabinami kalnų dviračiai užtikrina sklandų važiavimą, tačiau dažnai reikia užrakinti pakabą, kai važiuojate įkalnę. Priešingu atveju pakaba suspaudžiama stovint ant pedalų, švaistant šias pastangas. Dviračių gamintojai tai žino ir teikia
Vieno mygtuko bufetas: 4 žingsniai
Vieno mygtuko bufetas: PASTABA: Kang Chiao valgymo sistemai nenaudinga, jei nesate mūsų mokykloje. Prietaisai naudojami dviem būdais. Jis gali būti naudojamas praleisti nuobodų patiekalų pasirinkimo procesą, tiesiog pasirenkant savitarnos stalą, kuris yra tikrai naudingas žmonėms, kurie nori tik valgyti
AVR mikrovaldiklis. Perjunkite šviesos diodus naudodami mygtuko jungiklį. Paspaudimo mygtuko išjungimas .: 4 žingsniai
AVR mikrovaldiklis. Perjunkite šviesos diodus naudodami mygtuko jungiklį. Mygtuko išjungimas. Šiame skyriuje mes išmoksime, kaip padaryti ATMega328PU programos C kodą, kad būtų galima perjungti trijų šviesos diodų būseną pagal mygtuko jungiklio įvestį. Be to, mes ištyrėme problemos „Switch Bounce“sprendimo būdus. Kaip paprastai, mes
RGB vieno mygtuko USB klaviatūra: 6 žingsniai (su paveikslėliais)
RGB vieno mygtuko USB klaviatūra: ar kada nors manėte, kad reikia turėti mažą, tačiau funkcionalią, RGB foninio apšvietimo klaviatūrą, ne didesnę nei vieno klavišo dydis? Ne? Kam tai rūpi, vis tiek pasigamink! Ši pamoka padės jums atlikti veiksmus, kurių reikia norint padaryti savo, šiek tiek nenaudingą
Persodinkite savo klasikinį vieno mygtuko „Mac“pelę: 5 žingsniai
Persodinkite savo klasikinį vieno mygtuko „Mac“pelę: ar sergate kvailomis naujomis pelėmis? pavargote nuo klasikinių vieno mygtuko „Mac“pelių, kurių trūksta … nieko, išskyrus vieną mygtuką? blogai parodysiu, kaip į „Mac“pelę persodinti pigios geros valios pelės vidų, kad būtų pasiektas puikus stiliaus balansas