Բովանդակություն:

PAB: Անձնական աուդիո տուփ `5 քայլ
PAB: Անձնական աուդիո տուփ `5 քայլ

Video: PAB: Անձնական աուդիո տուփ `5 քայլ

Video: PAB: Անձնական աուդիո տուփ `5 քայլ
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Նոյեմբեր
Anonim
PAB: Անձնական աուդիո տուփ
PAB: Անձնական աուդիո տուփ

Այս նախագծի գաղափարը ծնվեց HiFi համակարգի երեք խոշոր բաղադրիչները քերծելու անհրաժեշտությունից, որոնք այժմ հասել էին իրենց կյանքի ավարտին: Բացի այդ, ինձ ավելի շատ տարածք էր հարկավոր դարակաշարում այլ օբյեկտների համար, ուստի ես առիթից օգտվեցի և սկսեցի սովորել Անձնական աուդիո տուփում ՝ փոխարինելու երեք խաղողի բերքահավաքի «հսկաների» բոլոր գործառույթները:

Թվում էր, որ Raspberry Pi3B+ - ը լավագույն ընտրությունն է հետևյալ պատճառներով.

  • Փոքր ձևի գործոն և ցածր էներգիայի սպառում;
  • Աուդիո PCM ելք ընդունելի որակով;
  • Mopidy- ի առկայությունը `mpd արձանագրություն իրականացնող ընդարձակ երաժշտական սերվեր;
  • Աղբյուրների բարձր ինտեգրում. Տեղական երաժշտություն, CDROM, ռադիոհաղորդումներ, Spotify, Tunein և այլն:

Ինտեգրելով այն մի քանի այլ բաղադրիչների հետ ՝ ես կարողացա ստեղծել ամբողջական և անգլուխ համակարգ, որն ունակ է երաժշտություն նվագարկել CD- ներից, տեղական ֆայլերից, առցանց ռադիոյից, Spotify տեսացանկերից, podcast- երից: Եվ ֆրոնտենդի միջոցով ես այժմ կարող եմ կառավարել դրա ամբողջ աշխատանքը LAN- ին միացված ցանկացած սարքից (սմարթֆոն, համակարգիչ, պլանշետ):

Պարագաներ

  • Ազնվամորի PI3B+
  • Հին DVD պատյան
  • CDROM ընթերցող
  • 5v-5A էլեկտրամատակարարում
  • Գերկոնդենսատորներ
  • Տարբեր բաղադրիչներ (տրանզիստորներ, LED, ռելե, Op-Amp). Տես նախագծի մանրամասները

Քայլ 1. Բաղադրիչների դեպք և դասավորություն

Բաղադրիչների գործը և դասավորությունը
Բաղադրիչների գործը և դասավորությունը
Բաղադրիչների գործը և դասավորությունը
Բաղադրիչների գործը և դասավորությունը
Բաղադրիչների գործը և դասավորությունը
Բաղադրիչների գործը և դասավորությունը
Բաղադրիչների գործը և դասավորությունը
Բաղադրիչների գործը և դասավորությունը

Առաջին խնդիրը, որին բախվեցի, համապատասխան պատյան ընտրելն ու գտնելն էր: Տանը ոչինչ չգտնելով, ես գտա այս էժան DVD նվագարկիչը Amazon- ում մի քանի դոլարով, բայց նմանատիպ ցանկացած բան բավական լավ կլինի: Գործի չափսերն են ՝ 27 սմ x 20 սմ x 3.5 սմ:

Ես ամբողջությամբ հեռացրեցի ամբողջ բովանդակությունը ՝ պահելով միայն փոքր տախտակը ՝ կառավարելու առջևի LED- ն, հոսանքի կոճակը և USB մուտքը: Հետո ես պլանավորեցի նոր բաղադրիչների ներքին դասավորությունը (տես նկարը):

Քայլ 2. Աուդիո ստերեո զգայարանների անջատիչ

Աուդիո ստերեո զգայունության անջատիչ
Աուդիո ստերեո զգայունության անջատիչ
Աուդիո ստերեո զգայունության անջատիչ
Աուդիո ստերեո զգայունության անջատիչ
Աուդիո ստերեո զգայունության անջատիչ
Աուդիո ստերեո զգայունության անջատիչ

Ինչու՞ ավտոմատ աուդիո անջատիչ: Անհրաժեշտությունը ծագում է այն բանից, որ ես հաճախ եմ հեռուստացույց լսում HiFi ուժեղացուցիչի միջոցով, բայց ես չէի ուզում ամեն անգամ ընտրել ուժեղացուցիչի աղբյուրի անջատիչը: Այս միացման դեպքում ուժեղացուցիչի մուտքը միշտ նույնն է, և աղբյուրը ինքնաբերաբար ընտրվում է Audio Stereo Sensing Switch- ի կողմից:

Սխեման ուղղակիորեն առաջ է: Երբ PAB- ը չի խաղում, HiFi- ի ձայնային աղբյուրը գալիս է հեռուստատեսությունից: Եթե PAB- ն նվագում է, ռելեն ընտրում է Raspberry- ից աուդիո:

Քայլ 3. Գերհզոր կոնդենսատորների արկղ

Super-Capacitors Box- ը
Super-Capacitors Box- ը
Super-Capacitors Box- ը
Super-Capacitors Box- ը

Ինչպես հայտնի է, Ազնվամորու էներգիայի մատակարարման հանկարծակի ընդհատումը հանգեցնում է անհապաղ անջատման ՝ առանց անջատման ընթացակարգի կատարման, ինչը կարող է վտանգել օպերացիոն համակարգը և, հետևաբար, դրա ամբողջական գործառույթը: Սուպերկոնդենսատորը ավանդական կոնդենսատորից տարբերվում է երկու էական բնութագրիչներով. Իր թիթեղներն իրականում ունեն ավելի մեծ տարածք և նրանց միջև հեռավորությունը շատ ավելի փոքր է, քանի որ միջերկրածովային մեկուսիչն այլ կերպ է աշխատում, քան սովորական դիէլեկտրիկը: Այս տեխնիկայով կարող են կատարվել շատ բարձր հզորություն (մի քանի տասնյակ Ֆարադների կարգի) կոնդենսատորներ ՝ պահպանելով փոքր չափերը: Հետևաբար, գաղափարն այն է, որ գերկոնդենսատորների միջոցով ստեղծվի 5 վ «բուֆեր» և ակտիվացնել անջատումը, երբ հայտնաբերվի մատակարարման լարման բացակայությունը: Այս կերպ, այլևս անհրաժեշտ չի լինի ձեռքով միջամտել անջատումը գործարկելու համար, այլ պարզապես հեռացնել վարդակից (կամ ակտիվացնել անջատիչը) `ապահով անջատումը ապահովելու համար:

Սխեմատիկ վկայակոչելով ՝ էներգիայի մատակարարումը կիրառվում է ձախ տերմինալի վրա, իսկ Schottky դիոդը կանխում է հոսանքի ցանկացած վերադարձ էլեկտրասնուցման աղբյուրին: Երկու 1.2Ω 5W հզորության ռեզիստորները զուգահեռաբար սահմանափակում են գերակոնդենսատորների լիցքավորման հոսանքը ՝ էներգիայի մատակարարումը պաշտպանելու համար: Առանց այդ դիմադրողների, լիցքաթափվող երկու գերակոնդենսատորների պահանջած գագաթնակետային հոսանքը գրեթե անկասկած կկարողանա վնասել էներգիայի մատակարարումը: Էլեկտրաէներգիայի դիոդը պետք է անպայման լինի Schottky տիպի, որպեսզի 5V սանդղակով շարքի մեջ տեղադրվի նվազագույն լարման անկում:

Երկու գերհզոր կոնդենսատորները միացված են շարքում `ապահովելու դրանց ծայրերում առավելագույն լարումը 5,4 վոլտ (յուրաքանչյուր գերակոնդենսատոր` 10F, 2.7V), իսկ հզորություններին զուգահեռ երկու դիմադրողականությունը հավասարակշռում են լիցքավորման հոսանքները և երաշխավորում դանդաղ լիցքաթափումը, երբ ազնվամորին շրջվում է: անջատված Մուտքի զուգահեռ երկու 1KΩ ռեզիստորները էներգիայի մատակարարման 5V- ը կիսում են կիսով չափ `հոսանքի խափանումը հայտնաբերելու համար անհրաժեշտ ազդանշանը վերցնելու համար (միացված է Raspberry GPIO 7 -ին): Ի տարբերություն ժամանակակից լիթիումի բջիջների, գերակոնդենսատորները երաշխավորում են գրեթե անսահմանափակ քանակությամբ լիցքավորման և լիցքաթափման ցիկլեր ՝ չկորցնելով որևէ բնութագիր:

Շղթան, հետևաբար, կկարողանա պահել Ազնվամորու սնուցումը և գործել այն ժամանակի ընթացքում, որն անհրաժեշտ է կանոնավոր անջատում կատարելու համար: Անջատման գործընթացի սկիզբը կբացահայտվի Raspberry- ով աշխատող ծրագրի միջոցով, որը կհետեւի GPIO 7 -ի կարգավիճակին, որին միացված է էներգիայի մակարդակը: Երբ հոսանքն անջատված է, GPIO- ի 7 -րդ կապն անցնում է ցածր մակարդակի վրա և առաջացնում անջատում: Սա ծածկագիրն է ՝

#!/usr/bin/env պիթոն

ներմուծել RPi. GPIO- ն որպես GPIO ներմուծել ենթամշակման GPIO.setmode (GPIO. BCM) # օգտագործել GPIO համարակալումը GPIO.setwarnings (False) INT = 7 # pin 26 մոնիտորներ Power Supply # օգտագործել թույլ pull_up ՝ բարձր GPIO.setup (INT, ստեղծելու համար) GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): while True: # ընդհատում դրեք ընկած եզրին և սպասեք, որ դա տեղի ունենա. մուտքագրում (INT) == 0: # դեռ ցածր, անջատում Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) if _name_ == '_main_': հիմնական ()

Mustրագիրը պետք է պահվի/usr/local/bin/.py- ում և կազմաձևվի, որ գործի, երբ ազնվամորին սկսվի: Իրականացված փորձարկումներից պարզվեց, որ երկու գերհզոր կոնդենսատորների կարողությունները բավարար են Ազնվամորիի անջատման ժամանակն ապահովելու համար: Եթե ավելի շատ ժամանակ պահանջվի, ապա բավարար կլինի գոյություն ունեցողներին զուգահեռ ներդնել երկու այլ գերակոնդենսատորներ կամ դրանք փոխարինել ավելի մեծ հզորությամբ երկուսով:

Քայլ 4: USB պորտերի հավաքում և օգտագործում

USB պորտերի հավաքում և օգտագործում
USB պորտերի հավաքում և օգտագործում

Արգելափակման սխեմատիկան ցույց է տալիս, թե ինչպես միացնել PAB- ի համար մի քանի սարքեր հիմնական 3 ավտոբուսում (+5v, USB և աուդիո ստերեո):

Նկատի ունեցեք, որ CD ընթերցողի սնուցման աղբյուրը միացված է անմիջապես հիմնական սնուցման աղբյուրին «Y» մալուխի միջոցով, մինչդեռ աուդիո մուտքը գնում է Ազնվամորի: Չորս USB ազնվամորու նավահանգիստներն օգտագործվել են հետևյալի համար.

  • CD ընթերցող;
  • 250 ԳԲ սպասք ՝ տեղական երաժշտական ֆայլերը (mp3, m4a, wma, flac և այլն) պահելու համար;
  • 16 ԳԲ միկրո SD քարտ (USB ադապտերով) `հիմնական Raspi SD- ի ամբողջական կրկնօրինակը պահելու համար (տես ստորև);
  • միացում արտաքին պատյանին USB պորտին:

Արտաքին USB պորտը կարող է օգտագործվել արտաքին երաժշտություն նվագարկելու կամ արտաքին սարքերը սնուցելու համար: Իմ դեպքում, ես սնուցում եմ արտաքին Bluetooth հաղորդիչ, քանի որ ես հեռացրել եմ Raspi- ի ներքինը ցածր տիրույթի և անկայունության պատճառով: Արտաքին bluetooth- ով ես քշում եմ 2 տարբեր ստերեո բարձրախոսներ տանը:

16 ԳԲ միկրո SD քարտը (USB ադապտերով) պարունակում է ազնվամորու ամբողջական պահուստավորում: Ես օգտագործում եմ rpi-clone- ը, որը պարզվել է, որ շատ լավ նախագիծ է, որը թույլ է տալիս ունենալ ազնվամորի լիարժեք աշխատանքային պահուստ ՝ առանց ներքին SD- ն հեռացնելու անհրաժեշտության: Ես շատ անգամ այս SD- ն փոխարինել եմ ներքինով, առանց որևէ խնդրի: Այսպիսով, ես ստեղծել եմ cronjob արմատային օգտվողի համար.

#Պահուստավորում sda- ում `յուրաքանչյուր չորեքշաբթի երեկոյան

15 2 * * 3/usr/sbin/rpi -clone sda -u | mail -s "PAB պահուստավորում SD- ում - կատարված է"

Այնուհետև ես նորից օգտագործեցի պատյանում տեղադրված սկզբնական հոսանքի կոճակը ՝ Ազնվամորին անջատելու և վերագործարկելու համար ՝ հետևելով այս ուղեցույցին ՝

Քայլ 5: Softwareրագրակազմ և օպերացիոն համակարգ

Softwareրագրային ապահովում և օպերացիոն համակարգ
Softwareրագրային ապահովում և օպերացիոն համակարգ
Softwareրագրային ապահովում և օպերացիոն համակարգ
Softwareրագրային ապահովում և օպերացիոն համակարգ
Softwareրագրային ապահովում և օպերացիոն համակարգ
Softwareրագրային ապահովում և օպերացիոն համակարգ

PAB- ի հիմնական օպերացիոն համակարգը պարզ Raspbian մինիմալն է (Debian Buster) ՝ մի քանի հատուկ հավելումներով.

  • rpi-clone հիմնական պահուստավորման համար;
  • ssmtp, պարզ ՏԿԱԻՆ համակարգից փոստը հեռացնելու համար;
  • udevil, թույլ տալ USB կրիչների ավտոմատ հավաքում;
  • abcde, վերցնել իմ CD հավաքածուն և սեղմել այն ցանկացած աուդիո ձևաչափի;
  • mopidy, լիարժեք Music Player Daemon ՝ մի փունջ պլագիններով:

Այնուհետև ես գրել եմ PAB Scheduler սերվերի ամբողջական ծրագիր ՝ օգտագործելով python3 և tornado, որոնց կոդը դուրս է այս հոդվածի շրջանակներից, բայց կարող եմ հրահանգներ տրամադրել ըստ պահանջի: Scheduler- ի միջոցով դուք կարող եք ստեղծել երգացանկեր ձեր օրվա ցանկացած ժամի ՝ տարբերելով աշխատանքային օրերը հանգստյան օրերից:

PAB- ով աշխատող հիմնական ծրագրաշարը մոպիդիան է: Mopidy- ի տեղադրման և կազմաձևման համար (բավականին ընդարձակ) խնդրում ենք հղում կատարել դրա փաստաթղթերին այստեղ ՝

Սրանք տեղադրված հավելումներն են.

  • Մոպիդի-Ալսամիքսեր
  • Mopidy-Internetarchive
  • Mopidy-Local-Sqlite
  • Mopidy-Podcast
  • Mopidy-Scrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-Cd
  • Մոպիդի-Իրիս
  • Mopidy-Local-Images
  • Mopidy-TuneIn

PAB- ի լիակատար վերահսկողություն ստանալու համար ես ընտրել եմ Iris- ի առջևի ընդլայնումը (տես նկարները): Սա շատ հզոր վեբ ծրագիր է ՝ հետևյալ հատկանիշներով.

  • Mopidy- ի համար վեբ վրա հիմնված ինտերֆեյսի ամբողջական վերահսկում
  • Բարելավված աջակցություն տեղական գրադարաններին (սնուցվում է Mopidy-Local-Sqlite- ի կողմից)
  • Seննեք և կառավարեք տեսացանկեր և հետքեր
  • Բացահայտեք նոր, հանրաճանաչ և հարակից երաժշտություն (գործարկված է Spotify- ի կողմից)
  • Ազատ հյուրընկալվել
  • Ինտեգրում ՝

    • Spotify
    • LastFM
    • Հանճարեղ
    • Snapcast
    • Icecast

Այսպիսով, ես ազատ եմ վերահսկել իմ երաժշտությունը գրեթե ցանկացած վայրից (համակարգիչ, պլանշետ, սմարթֆոն):

Խորհուրդ ենք տալիս: