Mundarija:

PAB: shaxsiy audio quti: 5 qadam
PAB: shaxsiy audio quti: 5 qadam

Video: PAB: shaxsiy audio quti: 5 qadam

Video: PAB: shaxsiy audio quti: 5 qadam
Video: Shu yaxshimi endi). ACTIVIST 2024, Noyabr
Anonim
PAB: shaxsiy ovoz qutisi
PAB: shaxsiy ovoz qutisi

Loyihaning g'oyasi, endi umrining oxirigacha etib borgan HiFi tizimining uchta katta komponentini qirib tashlash zaruratidan kelib chiqdi. Bundan tashqari, menga javonda boshqa narsalar uchun ko'proq joy kerak edi, shuning uchun men uchta vintage "gigant" ning barcha funktsiyalarini almashtirish uchun shaxsiy audio qutida o'qishni boshlash imkoniyatidan foydalandim.

Raspberry Pi3B+ quyidagi sabablarga ko'ra eng yaxshi tanlov bo'lib tuyuldi:

  • Kichik shakl faktor va kam quvvat sarfi;
  • Qabul qilinadigan sifatli PCM audio chiqishi;
  • Mpd protokolini amalga oshiruvchi kengaytiriladigan musiqali server - mopidy mavjudligi;
  • Manbalarning yuqori integratsiyasi: mahalliy musiqa, CDROM, radio oqimlari, Spotify, Tunein va boshqalar.

Boshqa bir nechta komponentlar bilan birlashtirib, men kompakt va boshsiz tizimni yaratishga muvaffaq bo'ldim, u CD, mahalliy fayllar, onlayn radio, Spotify pleylistlari, podkastlardan musiqa ijro etishga qodir. Frontend yordamida men endi uning barcha ishlarini LANga ulangan har qanday qurilmadan (smartfon, kompyuter, planshet) boshqarishim mumkin.

Ta'minotlar

  • Malinali PI3B+
  • Eski DVD qutisi
  • CDROM o'quvchi
  • 5V-5A quvvat manbai
  • Superkondansatkichlar
  • Har xil komponentlar (tranzistorlar, LED, o'rni, Op-Amp): loyiha tafsilotlarini ko'ring

1 -qadam: Komponentlarning holati va tartibi

Komponentlarning holati va joylashuvi
Komponentlarning holati va joylashuvi
Komponentlarning holati va joylashuvi
Komponentlarning holati va joylashuvi
Komponentlarning holati va joylashuvi
Komponentlarning holati va joylashuvi
Komponentlarning holati va joylashuvi
Komponentlarning holati va joylashuvi

Men duch kelgan birinchi muammo - tegishli ishni tanlash va topish. Uyda hech narsa topolmay, Amazonda bu arzon DVD pleerni bir necha dollarga topdim, lekin shunga o'xshash narsa etarlicha yaxshi bo'ladi. Koson quyidagi o'lchamlarga ega: 27 sm x 20 sm x 3,5 sm.

Men oldingi LEDni, quvvat tugmachasini va USB kirishini boshqarish uchun faqat kichik taxtani ushlab, barcha tarkibni butunlay olib tashladim. Keyin men yangi komponentlar uchun ichki tartibni rejalashtirdim (rasmga qarang).

2 -qadam: Audio Stereo Sensor Switch

Ovozli stereo sensorli kalit
Ovozli stereo sensorli kalit
Ovozli stereo sensorli kalit
Ovozli stereo sensorli kalit
Ovozli stereo sensorli kalit
Ovozli stereo sensorli kalit

Nima uchun avtomatik audio kalit? Men tez -tez televizorni HiFi kuchaytirgichi orqali tinglayotganimdan kelib chiqaman, lekin har safar kuchaytirgichning manba kalitini tanlashni xohlamaganman. Ushbu sxemada kuchaytirgichning kirishi har doim bir xil bo'ladi va manba avtomatik ravishda Audio Stereo Sensing Switch orqali tanlanadi.

Sxema to'g'ridan-to'g'ri. Agar PAB ishlamasa, HiFi -ga audio manbai televizordan keladi. Agar PAB o'ynasa, o'rni Raspberry -dan ovozni tanlaydi.

3-qadam: Super-kondansatkichlar qutisi

Superkondansatkichlar qutisi
Superkondansatkichlar qutisi
Superkondansatkichlar qutisi
Superkondansatkichlar qutisi

Ma'lumki, Raspberry -ga elektr ta'minotining to'satdan uzilishi, o'chirish protsedurasi bajarilmasdan, zudlik bilan o'chirilishiga olib keladi, bu operatsion tizim va shuning uchun uning umumiy funksiyasini buzish xavfini tug'diradi. Supero'tkazgich an'anaviy kondansatkichdan ikkita muhim xususiyat bilan farq qiladi: uning plitalari aslida kattaroq maydonga ega va ular orasidagi masofa ancha kichikdir, chunki o'zaro izolyator an'anaviy dielektrikdan farq qiladi. Ushbu usullar yordamida kichik o'lchamlarni saqlab turganda, juda yuqori quvvatli (bir necha o'nlab Faradlar tartibida) kondansatkichlar tayyorlanishi mumkin. Shunday qilib, g'oya superkondansatörler orqali 5V "bufer" yaratish va besleme zo'riqishining yo'qligi aniqlanganda o'chirishni faollashtirishdan iborat. Shu tarzda, o'chirishni boshlash uchun qo'lda aralashish kerak bo'lmaydi, lekin xavfsiz o'chirishni ta'minlash uchun vilkasini olib tashlang (yoki kalitni yoqing).

Sxemaga asoslanib, quvvat manbai chap terminalda qo'llaniladi va Schottky diodi tokning quvvat manbaiga qaytishini oldini oladi. Quvvat manbasini himoya qilish uchun ikkita 1,2Ω 5 Vt quvvat qarshiligi parallel ravishda superkondensatorlarning zaryad oqimini cheklaydi. Bu rezistorlarsiz, zaryadsizlangan ikkita superkondansatkich talab qiladigan yuqori oqim deyarli elektr ta'minotiga zarar etkazishi mumkin. 5V chiziqli ketma -ket minimal voltaj tushishini kiritish uchun quvvat diodi Shottki tipida bo'lishi kerak.

Ikkita superkondansatkich ketma -ket ulanadi, ularning uchlarida maksimal 5,4 voltli kuchlanish (har bir superkondansatör 10F, 2,7V) va sig'imlarga parallel ravishda ikkita rezistor zaryadlovchi oqimlarni muvozanatlashtiradi va malina aylantirilganda sekin tushirish kafolatlanadi. o'chirilgan Kirishga parallel bo'lgan ikkita 1KΩ rezistor 5V quvvat manbasini ikkiga bo'linadi va elektr uzilishlarini aniqlash uchun zarur signalni oladi (Raspberry GPIO 7 ga ulangan). Zamonaviy lityum hujayralardan farqli o'laroq, superkondansatkichlar hech qanday xususiyatini yo'qotmasdan deyarli cheksiz ko'p zaryad va tushirish davrlarini kafolatlaydi.

Shunday qilib, sxema Raspberry -ni doimiy ravishda o'chirish uchun zarur bo'lgan vaqt davomida quvvatini saqlab turishi mumkin. O'chirish jarayonining boshlanishi Raspberry -da ishlaydigan dastur tomonidan aniqlanadi, u quvvat darajasi ulangan GPIO 7 holatini kuzatadi. Quvvat uzilganda, GPIO pin 7 past darajada o'tadi va o'chirishni boshlaydi. Bu kod:

#!/usr/bin/env python

RPi. GPIO -ni GPIO sifatida import qilish GPIO.setmode (GPIO. BCM) pastki protsessi # GPIO raqamlanishidan foydalanish GPIO.setwarnings (Noto'g'ri) INT = 7 # pin 26 monitorlar Quvvat manbai # yuqori GPIO.setup (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): while True: # tushayotgan chetga uzilish qo'ying va uning sodir bo'lishini kuting GPIO.wait_for_edge (INT, GPIO. FALLING) # GPIO bo'lsa pin darajasini yana tekshiring..input (INT) == 0: # hali ham past, o'chirish Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) if _name_ == '_main_': asosiy ()

Dastur/usr/local/bin/.py -da saqlanishi va Raspberry ishga tushganda ishlash uchun sozlanishi kerak. Amalga oshirilgan sinovlar natijasida ikkita superkondansatkichning imkoniyatlari malinaning yopilish vaqtini ta'minlash uchun etarli ekanligi isbotlandi. Agar ko'proq vaqt kerak bo'lsa, mavjud bo'lganlarga parallel ravishda ikkita boshqa superkondansatkichni kiritish yoki ularni ikkita kattaroq quvvatga almashtirish etarli bo'ladi.

4 -qadam: USB portlarini yig'ish va ishlatish

USB portlarni yig'ish va ulardan foydalanish
USB portlarni yig'ish va ulardan foydalanish

Blok sxemasi asosiy 3 -avtobusda (+5v, USB va audio stereo) PAB uchun bir nechta qurilmalarni qanday ulash kerakligini ko'rsatadi.

E'tibor bering, CD o'quvchining quvvat manbai to'g'ridan -to'g'ri "Y" kabeli orqali asosiy quvvat manbaiga ulangan. To'rt USB Raspberry porti quyidagilar uchun ishlatilgan:

  • CD o'quvchi;
  • mahalliy musiqa fayllarini (mp3, m4a, wma, flac va boshqalar) saqlash uchun 250 Gb hajmli pendrive;
  • asosiy Raspi SD-ning to'liq zaxira nusxasini saqlash uchun 16 gigabaytli micro SD-karta (USB adapteri bilan);
  • sumkaning tashqi USB portiga ulanish.

Tashqi USB port tashqi musiqani ijro etish yoki tashqi qurilmalarni quvvatlantirish uchun ishlatilishi mumkin. Menimcha, men tashqi Bluetooth uzatgichini quvvatlantiryapman, chunki men past diapazon va beqarorlik tufayli Raspi -ning ichki qurilmasini tashladim. Tashqi bluetooth bilan men uyda 2 xil stereo karnay boshqaraman.

16 gigabaytli micro SD karta (USB adapteri bilan) to'liq malinali zaxiraga ega. Men rpi-clone-dan foydalanmoqdaman, bu juda yaxshi loyiha bo'lib, u ichki SD-ni olib tashlamasdan Raspberry-ning to'liq zaxira nusxasini yaratishga imkon beradi. Men bu SD -ni ko'p marta ichki bilan almashtirdim, muammosiz. Shunday qilib, men root foydalanuvchisi uchun cronjob -ni o'rnatdim:

#Zaxiralash sda - har chorshanba kuni kechqurun

15 2 * * 3/usr/sbin/rpi -klon sda -u | "SD -da PAB -ni zaxiralash - bajarildi" pochta -xabarlari

Keyin men ushbu qo'llanmani bajarib, Raspberry-ni o'chirish va qayta ishga tushirish uchun korpusning asl quvvat tugmasini qayta ishlatdim:

5 -qadam: dasturiy ta'minot va operatsion tizim

Dasturiy ta'minot va operatsion tizim
Dasturiy ta'minot va operatsion tizim
Dasturiy ta'minot va operatsion tizim
Dasturiy ta'minot va operatsion tizim
Dasturiy ta'minot va operatsion tizim
Dasturiy ta'minot va operatsion tizim

PABning asosiy operatsion tizimi bir nechta o'ziga xos qo'shimchalar bilan oddiy Raspbian minimal (Debian Buster) hisoblanadi:

  • asosiy zaxira uchun rpi-klon;
  • ssmtp, tizimdan pochta olish uchun oddiy MTA;
  • USB -drayverlarni avtomatik yig'ish uchun ruxsat berish;
  • abcde, kompakt -disklarimni yig'ib, har qanday audio formatga siqish;
  • mopidy, plaginlar to'plami bilan to'la Music Player Daemon.

Keyin men python3 va tornado yordamida PAB Scheduler serverining to'liq dasturini yozdim, uning kodi ushbu maqola doirasidan tashqarida, lekin men so'rov bo'yicha ko'rsatmalarni bera olaman. Rejalashtiruvchi yordamida siz kunning istalgan vaqti uchun pleylistlarni o'rnatishingiz mumkin, bu esa dam olish kunlaridan farq qiladi.

PAB ishlaydigan asosiy dasturiy ta'minot - bu mopidiya. Mopidiyni o'rnatish va sozlash uchun (juda keng) uning hujjatlariga qarang:

Bu o'rnatilgan plaginlar:

  • Mopidi-Alsamixer
  • Mopidiya-Internet-arxiv
  • Mopidy-Local-Sqlite
  • Mopidi-podkast
  • Mopidi-Skrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-CD
  • Mopidi-Iris
  • Mopidiya-Mahalliy-Rasmlar
  • Mopidy-TuneIn

PABni to'liq nazorat qilish uchun men Iris frontend kengaytmasini tanladim (rasmlarga qarang). Bu quyidagi xususiyatlarga ega bo'lgan juda kuchli veb -ilovadir:

  • Mopidy uchun to'liq veb-interfeys nazorati
  • Mahalliy kutubxonalarni qo'llab-quvvatlash yaxshilandi (Mopidy-Local-Sqlite tomonidan quvvatlanadi)
  • Pleylist va treklarni ko'rib chiqing va boshqaring
  • Yangi, mashhur va tegishli musiqalarni kashf eting (Spotify tomonidan quvvatlanadi)
  • Erkin qabul qilingan
  • Bilan integratsiya:

    • Spotify
    • LastFM
    • Daho
    • Snapcast
    • Muzqaymoq

Shunday qilib, men o'z musiqamni deyarli istalgan joydan (kompyuter, planshet, smartfon) boshqarishim mumkin.

Tavsiya: