Mundarija:
- 1-qadam: Serverni sozlash
- 2-qadam: Pi-ni o'rnating va Darkice-ni o'rnating
- 3-qadam: oqim tugmasi va efir belgisi
- 4 -qadam: Xavfsiz o'chirish tugmasi va faollik LED
- 5 -qadam: Python skriptlarini yuklashdan ishga tushiring
- 6 -qadam: qutini yarating
- 7 -qadam: O'rnatish
Video: Bir tugmachali radio oqim qutisi: 7 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Men do'stimning bariga quti qurdim, uning ichida Raspberry Pi bor va bitta tugmani bosish bilan u Darkice va Icecast yordamida veb-saytga audio uzatadi, shu bilan birga "efirda" belgisini yoqadi. Men bu odamlar allaqachon qilayotgan ish deb o'yladim, lekin izlanishlardan so'ng men hech narsa topa olmadim va buni o'zim tushunishga qaror qildim.
Men Raspberry Pi 3+ B dan foydalanardim, lekin aytishim mumkinki, u har qanday Pi da ishlaydi (ehtimol GPIO pin raqamlari turlicha bo'lishi mumkin, lekin men buni tasdiqlay olmayman). Men OS uchun NOOBS paketidan foydalandim va kirish uchun juda oddiy ovoz kartasini sotib oldim. Men, shuningdek, Pi-ni himoya qilish uchun qutiga xavfsiz o'chirish tugmasi va faollik LEDini qo'shdim.
Sizga kerak bo'ladi:
Raspberry Pi
SD kartadagi NOOBS to'plami
Yoqish/o'chirish tugmasi (men katta qizil favqulodda to'xtatish tugmachasini ishlatardim, lekin bu har qanday "bosish" tugmasi bo'lishi mumkin)
Bosish tugmasi
1 LED
"Efirda" belgisi, men o'zimni LED qator bilan yaratdim
Lehimlash dazmollari va kichik ulagichlar paneli (men shunchaki yonimda bo'lgan chiziqlarni kesib tashladim)
Ovoz kartasi (men shunday oddiy ishlatardim)
1-qadam: Serverni sozlash
Biz foydalanayotgan haqiqiy radiostansiya uchun men bu qismni qilmadim, chunki menda serverga kirish imkoni yo'q edi va do'stim buni qildi, lekin Icecast veb-saytida sozlash bo'yicha asosiy ko'rsatma bor va men uni olishga muvaffaq bo'ldim. u qanday ketayotganini ko'rish uchun boshida Pi dan ishlaydi. Shu bilan bir qatorda, internet-radio.com saytida hisob qaydnomasini olishingiz mumkin va u Darkice bilan ishlaydi.
2-qadam: Pi-ni o'rnating va Darkice-ni o'rnating
NOOBS to'plami bilan SD -kartani oling. Raspbian -ni ochganingizdan va barcha yangilanishlarni o'rnatganingizdan so'ng, terminal oynasini oching va yozing:
sudo apt-get yangilanishi
sudo apt-get install darkice
Darkice Debian -ning bir qismidir, shuning uchun u avtomatik ravishda o'rnatiladi, bir necha daqiqa vaqt ketadi.
Buyruq satri tugagandan so'ng:
qorong'i
Bu xato xabari beradi va ishlamaydi, lekin bu yaxshi. Xabarda u shunday bir narsa aytiladi:
Konfiguratsiya faylidan foydalanish: /etc/darkice.cfg
Siz ushbu faylni tahrirlashingiz kerak, shuning uchun buyruq satrida:
sudo nano /etc/darkice.cfg
Ushbu wiki. Radioreference sahifasidagi ma'lumotlar yordamida ochiladigan faylni tahrir qiling, tugatgandan so'ng CTRL-X tugmachasini bosing, saqlash uchun Y tugmasini bosing va siz terminal so'roviga qaytishingiz kerak. Yangi dasturni o'rnatgandan so'ng, uni qayta ishga tushirish har doim yaxshi, shuning uchun quyidagilarni yozing:
qayta yuklash
va Pi qayta ishga tushirilganda, terminal oynasini qayta oching. Endi siz "Darkice" ni kiritganingizda, u hech qanday xato xabarisiz ishlashi kerak. Agar siz https:// YOURSERVERADDRESS: 8000/(8000 yoki icecast serveringiz qaysi portga tayinlangan bo'lsa) ga kirsangiz, siz ulanganligingiz haqida statistika sahifasini olishingiz kerak. Agar shunday bo'lmasa, konfiguratsiya faylini o'zgartiring (audio kirish liniyasi menga ba'zi muammolarni berdi, lekin men barcha variantlarni sinab ko'rdim va oxir -oqibat ovoz kartamni topdim). Darkice to'g'ri ishlagandan so'ng, keyingi bosqichga o'ting.
3-qadam: oqim tugmasi va efir belgisi
Men buning uchun juda ko'p turli xil darsliklar qildim, chunki Python -dagi tugmachalarga biron -bir harakatni tayinlash uchun aniq hech kim yo'q edi. Men duch kelgan eng katta muammo Darkice -ni orqa fonda ishlashga majburlash edi (va shu bilan Python skriptini ishga tushirishda muzlatib qo'ymadi), lekin men koder do'stimdan yordam so'rab keldim va u buni qanday qilib varaqlarni yozishni bildi. olmang. Ko'rinib turibdiki, bu kodning biron bir joyida "&" yordamida ham bo'lishi mumkin, lekin men kodlovchi emasman va menda nima bor, shuning uchun men u bilan aralashmaslikni tanladim. Men hamma narsani ishlay boshlagach, men non panelidagi barcha kabellarni o'chira boshladim va menda quyidagi sozlamalar qoldi:
GPIO16 tashqi 3 nuqtali ulagichga.
GPIO7 ON-Air belgisi uchun LED massivining musbat terminaliga.
GPIO25 tugmachasini bosing.
Klik tugmachasining boshqa tomoni 3 nuqtali ulagichga ulanadi.
LED massivining manfiy terminali ham 3 nuqtali ulagichga ulanadi.
(Diagrammadagi boshqa komponentlar keyingi bosqichda tushuntiriladi).
Biz tugatgan Python skripti quyidagicha (iltimos, bu butun loyiha uchun ko'rsatma, men kodni tushuntirish uchun etarli ma'lumotga ega emasman. Men uni turli funktsiyalar uchun boshqa darsliklardan to'pladim):
import vaqtini import qilish RPi. GPIO ni 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)
o'tish = noto'g'ri
def start_darkice ():
print ('subprocess chaqiruvi') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') chop etish ('qayta tiklanmoqda') def stop_darkice (): os.system ('ekran -X -S qorong'ilikdan chiqish')
rost bo'lsa:
buttonState = GPIO.input (buttonPin) if buttonState == True: agar o'zgartirilmasa: toggle = Haqiqiy chop etish ("qorong'ilikni yoqish") start_darkice () #print ('TUGMA STATE TRUE') GPIO.output (ledPin, GPIO. HIGH))
boshqa:
if toggle: toggle = Soxta bosib chiqarish ('qorong'ilikni to'xtatish') stop_darkice () #print ('TUGMASI STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)
Py fayli ushbu yo'riqnomaga biriktirilgan, agar xohlasangiz, uni yuklab olishingiz va 5 -qadamni bajarishingiz mumkin.
4 -qadam: Xavfsiz o'chirish tugmasi va faollik LED
Faqat xavfsizlik uchun va Pi xizmat qilish muddatini uzaytirish uchun men xavfsiz o'chirish tugmachasini va tashqi faollik LEDini qo'shdim, shunda odamlar qutini elektr tarmog'idan uzish qachon xavfsizligini bilishadi. Men ikkalasi uchun ham darsliklarni osonlik bilan topdim, lekin men Raspberry Pi 3 B+ ning ACT LEDli GPIO piniga ega ekanligini payqadim, oldingi modellarda esa yo'q va agar sizda eski Pi bo'lsa, bu muammo bo'lishi mumkin.
LEDning ijobiy terminalini GPIO13 ga, salbiyini esa GPIO26 ga ulang. ACT LEDining ishlashi uchun siz BOOT katalogidagi config.txt faylini tahrir qilishingiz kerak. Buni Raspbian brauzerida yoki quyidagicha topishingiz mumkin.
sudo nano /usr/boot/config.txt
Faylni tahrir qilayotganda quyidagi satrlarni qo'shing:
# Tashqi LEDni SD ACT LED dtoverlay = pi3-act-led, gpio = 19 sifatida ishlating
Endi tashqi LED SD -karta faolligi bilan miltillaydi.
Bosish tugmachalari terminallarini GPIO3 va GPIO8 ga ulang. Men darslikdan quyidagi kodni topdim va u yaxshi ishlaydi:
import vaqtidan gpiozero importi Subprocess import check_call dan signal import pauzasidan
def o'chirish ():
check_call (['sudo', 'poweroff'])
shutdown_btn = tugma (2, hold_time = 1)
shutdown_btn.when_held = o'chirish
pauza ()
uyqu (1)
Agar xohlasangiz, yuklab olish uchun bu py fayl ham biriktirilgan. Mening tugmachamni 1 soniya ushlab turish kerak, agar siz "hold-time =" qiymatini o'zgartirmoqchi bo'lsangiz.
5 -qadam: Python skriptlarini yuklashdan ishga tushiring
Shunga qaramay, bu mavzu bo'yicha juda ko'p darsliklar bor, men buni Dexter Industries -dan foydalanganman va rc.local faylini tahrir qilish orqali birinchi qadamni bajarganman.
sudo nano /etc/rc.local
Bu erda siz hujjatning oxiriga har bir satr oxirida "&" belgisi qo'yilgan to'liq fayl yo'lini qo'shishingiz kerak. Har bir fayl uchun bitta qator qo'shish kerak:
sudo python/home/pi/YOURFILENAME, py &
sudo python /home/pi/YOURFILENAME2.py &
chiziqdan oldin
chiqish 0
Har bir satr oxiridagi '&' belgisi dasturning aylanishini ta'minlash uchun muhimdir.
6 -qadam: qutini yarating
Bu butunlay sizga bog'liq. Bu, albatta, faqat Pi o'lchamiga to'g'ri keladi, lekin men radio oqimini ancha barqaror darajada ushlab turish uchun o'zim o'rnatgan kompressorni qo'ydim, shuning uchun quti biroz kattaroq. Menikining old tomonida Efirda va Katta Qizil tugmachada teshik bor, bundan tashqari men DJlar uchun kichik ko'rsatma kartasini tayyorladim va uni tugma ostiga qo'ydim. Qutining yon tomonida tugma, ACT LED va audio-kirish uchun teshik bor, shuningdek, bar xodimlariga qutini qanday qilib xavfsiz o'chirish bo'yicha ko'rsatma berilgan.
7 -qadam: O'rnatish
Barcha alohida komponentlarni qutingizga joylashtiring, shuni yodda tutingki, qizib ketishining oldini olish uchun Pi atrofida havo aylanishiga ruxsat berish har doim yaxshi. Mikserdan audio kabellarni ulang, tugmani bosing va efirdan zavqlaning!
Tavsiya:
Muqobil oqim va to'g'ridan -to'g'ri oqim o'rtasidagi farq: 13 qadam
(Alternativ tok va to'g'ridan -to'g'ri oqim) o'rtasidagi farq: Har kim biladiki, elektr toki asosan DC, lekin boshqa turdagi elektr toki qanday? Ac ni bilasizmi? AC nimani anglatadi? DCdan keyin foydalanish mumkinmi? Ushbu tadqiqotda biz elektr energiyasi turlari, manbalari, qo'llanilishi o'rtasidagi farqni bilib olamiz
Pandora - Mobil siqish qutisi LMS qutisi: 5 qadam (rasmlar bilan)
Pandora - Mobil Squeezebox LMS Box: u qayta ishlangan qismlarga to'la, juda baland va juda ko'p qirrali.+ Ajoyib ko'rinadi
Suv oqimi o'lchagichlari bilan oqim o'lchami (ultratovushli): 5 qadam (rasmlar bilan)
Suv oqimini o'lchash asboblari yordamida o'lchash (Ultrasonik): Suv - sayyoramiz uchun muhim manba, biz odamlar har kuni suvga muhtojmiz. Suv har xil sanoat uchun zarur va biz odamlar har kuni bunga muhtojmiz. Suv qimmatlasha boshlagach, odamlarni samarali kuzatib borish zarur
Barbi qutisi: Mp3 pleeringiz uchun kamuflyajli quti/ bum qutisi: 4 qadam (rasmlar bilan)
Barbie qutisi: Mp3 pleeringiz uchun kamuflyajli sumka/ bum qutisi: bu sizning mp3 pleeringiz uchun to'ldirilgan himoya sumkasi, u eshitish vositasi uyasini chorak dyuymga aylantiradi, bum qutisi vazifasini bajaradi va mp3 pleeringizni to'qsoninchi yillarning boshidagi lenta pleyeri yoki shunga o'xshash past o'g'irlik sifatida yashiradi
Sidar (puro?) Qutisi Karnay qutisi: 8 qadam (rasmlar bilan)
Sidar (puro?) Qutisi karnay qutisi: Munni karnaylaridan ilhomlangan, lekin 10 dollardan ko'proq pul sarflamoqchi emasman, bu erda eski kompyuter karnaylari, tejamkor do'kondan yog'och quti va ko'plab issiq elim yordamida ko'rsatma beraman