Ինչպես պատրաստել Raspberry Pi-ի վրա հիմնված ռադիո

Ինչպես պատրաստել Raspberry Pi-ի վրա հիմնված ռադիո

Ռադիոն կարող է թվալ «հին» տեխնոլոգիա, բայց հենց դա է նրա գրավչությունը՝ պարզ, հուսալի և դեռևս խիստ արդիական ինչպես ժամանցային, այնպես էլ կրթական նախագծերի համար: Raspberry Pi-ի միջոցով դուք կարող եք ստեղծել ժամանակակից, ճկուն ռադիո. այն կարող է լինել ինտերնետային հոսքային ռադիո, տեղական երաժշտական ​​​​նվագարկիչ կամ նույնիսկ (լրացուցիչ մոդուլով) FM ռադիո: Այս հոդվածը ներկայացնում է, թե ինչպես գործնականում կառուցել Raspberry Pi-ի վրա հիմնված ռադիո՝ սկսած սարքային կարգավորումից մինչև ծրագրային կարգավորում:

-

1. Raspberry Pi-ի վրա հիմնված ռադիոյի կոնցեպտ

Ընդհանուր առմամբ, կան երկու հիմնական մոտեցում.

1. Ինտերնետային ռադիո (հոսքային հեռարձակում)
Raspberry Pi-ն ռադիոհաղորդումներ է նվագարկում ինտերնետից Wi-Fi/Ethernet-ի միջոցով: Սա ամենահեշտ և ամենատարածված մեթոդն է, քանի որ այն չի պահանջում որևէ հատուկ ռադիոհաճախականության սարքավորում:

2. FM/AM ռադիո (լրացուցիչ սարքով)
Պահանջվում է լարող մոդուլ (օրինակ՝ FM ընդունիչ I2C/SPI-ի միջոցով) կամ ծրագրային ապահովմամբ սահմանված ռադիո (SDR) սարք: Կարգավորումն ավելի բարդ է և հաճախ կախված է օգտագործվող սարքից:

Այս հոդվածում հիմնական ուշադրությունը կենտրոնացած է ինտերնետային ռադիոյի վրա, քանի որ այն ամենահարմարն է սկսնակների համար և հարմար է կարճ ժամանակում ստեղծագործելու համար։

-

2. Անհրաժեշտ սարքավորումներ

Ահա առաջարկվող բաղադրիչների ցանկը.

– Raspberry Pi (խորհուրդ է տրվում Pi 3/4/Zero 2 W)
– MicroSD՝ առնվազն 8–16 ԳԲ
– Կայուն սնուցման աղբյուր (5 Վ, հոսանքը՝ Pi մոդելի համաձայն)
- Ինտերնետ կապ (Wi-Fi կամ LAN մալուխ)
– Աուդիո ելք.
– Ակտիվ բարձրախոսներ 3.5 մմ միակցիչի միջոցով (աջակցվող մոդելների վրա), կամ
– USB բարձրախոս/ուժեղացուցիչ, կամ
– DAC աուդիո HAT (ըստ ցանկության, ավելի լավ որակ)
– Մոնիտոր և ստեղնաշար (սկզբնական կարգավորման համար) կամ SSH մուտք
– Նախագծի պատյան/տուփ (ըստ ցանկության՝ կոկիկության համար)

Եթե ​​ցանկանում եք ռադիո՝ ֆիզիկական կառավարման հնարավորությամբ, կարող եք ավելացնել՝
– Սեղմիչ կոճակ, պտտվող կոդավորիչ կամ OLED/LCD էկրան։

-

ՀԱՐՑ  Ռադիո պատրաստելու ուղեցույց՝ օգտագործելով պարզ սխեմա

3. Raspberry Pi օպերացիոն համակարգի տեղադրում

1. Ներբեռնեք և տեղադրեք Raspberry Pi Imager-ը ձեր համակարգչի/նոութբուքի վրա:
2. Տեղադրեք microSD քարտը, այնուհետև ռեսուրսների արդյունավետ օգտագործման համար տեղադրեք Raspberry Pi OS Lite-ը (առանց աշխատասեղանի), կամ աշխատասեղանի տարբերակը, եթե ցանկանում եք գրաֆիկական ինտերֆեյս։
3. Պատկերը գրելուց առաջ կարող եք սահմանել՝
– Wi-Fi (SSID և գաղտնաբառ)
- Օգտատիրոջ անուն և գաղտնաբառ
– SSH ակտիվացում
4. Միացրեք Raspberry Pi-ն և համոզվեք, որ ինտերնետը աշխատում է։

Համակարգ մուտք գործելուց հետո թարմացրեք փաթեթները՝

«Բաշ
sudo apt թարմացում
sudo- ի օպտիմալացում -y
««

-

4. Raspberry Pi-ի վրա ձայնի կարգավորում

Ստուգեք հայտնաբերված աուդիո սարքերը՝

«Բաշ
խաղալ -լ
««

Եթե ​​օգտագործում եք աուդիո HDMI-ի կամ միակցիչի միջոցով (կախված մոդելից), կարող եք ընտրել լռելյայն ելքը: Raspberry Pi OS-ի որոշ տարբերակներ ավտոմատ կերպով կկարգավորեն աուդիո կարգավորումները, բայց կարող եք ստուգել ելքը հետևյալ կերպ.

«Բաշ
խոսնակի թեստ -t wav -c 2
««

Եթե ​​օգտագործում եք USB ձայնային քարտ կամ DAC HAT, այն սովորաբար կհայտնվի որպես նոր սարք։ Համոզվեք, որ ձեր ելքը ճիշտ է՝ ռադիոն լսելու համար։

-

5. Ինտերնետային ռադիո նվագարկչի տեղադրում (MPD + MPC)

Ամենակայուն եղանակներից մեկը MPD-ի (Music Player Daemon) օգտագործումն է աուդիո նվագարկելու և MPC-ի՝ որպես տերմինալից կառավարիչի, համար։

Տեղադրեք փաթեթը՝

«Բաշ
sudo apt install -y mpd mpc
««

Համոզվեք, որ MPD-ն աշխատում է.

«Բաշ
sudo systemctl-ը միացնում է mpd-ն
sudo systemctl մեկնարկ mpd
««

Ստուգել կարգավիճակը՝

«Բաշ
systemctl կարգավիճակի mpd
««

-

6. Ռադիոկայանների ցանկի ավելացում

MPD-ն կարող է նվագարկել URL հոսքեր: Դուք կարող եք ռադիոկայաններ ավելացնել MPD երգացանկերին:

Մեկ ռադիոհոսք ավելացնելու օրինակ՝

«Բաշ
mpc-ն ավելացնում է http://streamurl-radio-anda:8000/stream
««

Ապա խաղացեք՝

«Բաշ
mpc նվագարկում
««

Ցանկը դիտելու համար՝

«Բաշ
mpc երգացանկ
««

Ստեղծեք սիրելի կայանների ցանկ
Կարող եք ստեղծել `.m3u` նվագարկչի ֆայլ՝

ՀԱՐՑ  Բարձր զգայունությամբ ռադիո պատրաստելու խորհուրդներ

1. Ստեղծեք նվագացանկի պանակ (եթե այն գոյություն չունի):
«Բաշ
mkdir -p ~/playlists
««

2. Ստեղծեք ֆայլ՝
«Բաշ
nano ~/playlists/radio.m3u
««

3. Լրացրեք որոշ հոսքային URL-ներ, օրինակ՝
««
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
««

Ավելացրեք դրանք MPD՝ առանձին-առանձին բեռնելով կամ ձեր MPD երաժշտության/երգացանկի գրացուցակը կարգավորելով: Արագ եղանակ՝ ավելացրեք դրանք անմիջապես ֆայլից (ըստ ցանկության՝ կախված ձեր MPD կարգավորումից) կամ պատճենեք երգացանկը ձեր MPD երգացանկի պանակում (սովորաբար `/var/lib/mpd/playlists/`):

-

7. MPD կոնֆիգուրացիա՝ ռադիոյի համար ավելի հարմար դարձնելու համար

Խմբագրել MPD կարգավորումը՝

«Բաշ
sudo nano /etc/mpd.conf
««

Որոշ կարևոր մասեր՝

– Համոզվեք, որ ձայնային ելքը ճիշտ է։ Հաճախակի օրինակներ՝
«`կոնֆ
աուդիո_ելք {
մուտքագրեք «ալսա»
անունը՝ «ALSA ելք»
խառնիչի_տիպի «ծրագրակազմ»
}
««

– Կարող եք կարգավորել բուֆերը՝ հոսքային հեռարձակումն ավելի կայուն դարձնելու համար (ըստ ցանկության՝ կախված ցանցի պայմաններից):

Ավարտելուց հետո վերագործարկեք MPD-ն։

«Բաշ
sudo systemctl վերագործարկում mpd
««

-

8. Ռադիոն ավտոմատ կերպով միացրեք բեռնման ժամանակ

Որպեսզի Raspberry Pi-ն միացնելուց անմիջապես հետո ռադիոն միացնի՝

1. Ստեղծեք պարզ սկրիպտ, օրինակ՝

«Բաշ
nano ~/start-radio.sh
««

Իսի:

«Բաշ
!/bin/bash
քնել 5
mpc մաքրել
mpc-ն ավելացնում է http://streamurl-radio-anda:8000/stream
mpc ծավալ 70
mpc նվագարկում
««

Պահպանել, ապա տալ կատարման թույլտվություն՝

«Բաշ
chmod +x ~/start-radio.sh
««

2. Ստեղծեք համակարգված ծառայություն.

«Բաշ
sudo nano /etc/systemd/system/radio.service
««

Իսի:

«`սա
[Unit]
Նկարագրություն=Ռադիոյի ավտոմատ նվագարկում
After=network-online.target mpd.service
Ցանկանում է=ցանց-առցանց.նպատակ

[Ծառայություն]
Օգտատեր=պի
ExecStart=/home/pi/start-radio.sh
Վերագործարկում=ձախողման դեպքում

[Տեղադրեք]
WantedBy = multi-user.target
««

Միացնել՝

«Բաշ
sudo systemctl daemon- վերբեռնել
sudo systemctl-ը թույլ է տալիս ռադիո.ծառայություն
sudo systemctl start radio.service
««

Նշում. եթե օգտատիրոջ անունը `pi` չէ, փոխեք ուղին և `User=`-ը։

-

9. Կառավարման տարրերի ավելացում (ըստ ցանկության)

Որպեսզի այն իրական ռադիոյի տպավորություն թողնի, կարող եք ավելացնել ֆիզիկական կառավարման տարրեր.

– Հաջորդ/Նախորդ կոճակը՝ կայանները փոխելու համար։
– `mpc հաջորդը`
– `mpc prev`
– Նվագարկել/Կանգնեցնել կոճակը՝
– `mpc անջատիչ`
– `mpc կանգառ`
– Հզորության պտտվող կոդավորիչ՝
– `mpc ծավալ +5`
– `mpc ծավալ -5`

ՀԱՐՑ  Ինչպես պատրաստել ռադիո՝ լավ ձայնի կարգավորմամբ

Կոճակները իրականացնելու համար կարող եք օգտագործել Python (GPIO) և կանչել `mpc` հրամանը: Այս համադրությունը շատ տարածված է, քանի որ այն պարզ է և հեշտ է մշակել:

-

10. Մշակման խորհուրդներ և խնդիրների լուծում

Որոշ տարածված խնդիրներ և դրանց լուծումներ.

1. Ձայն չկա
– Համոզվեք, որ ձայնային ելքը ճիշտ է (ALSA սարք):
– Փորձեք փոխել բարձրախոսը/USB ձայնային քարտը։
– Համոզվեք, որ ձայնի ուժգնությունը 0 չէ՝ `mpc volume 80`

2. Հոսքային հեռարձակումը ընդհատվող է
– Հնարավորության դեպքում օգտագործեք LAN կապ։
– Ավելացրեք ուշացում՝ բեռնավորման ժամանակ նվագարկելուց առաջ (`sleep 5` կամ `sleep 10`):
– Ընտրեք ավելի ցածր բիթռեյթ հոսք։

3. MPD-ն չի կարող URL նվագարկել
– Փորձեք համոզվել, որ URL-ը ճիշտ է և կարող է բացվել նույն ցանցից։
– Համոզվեք, որ աջակցության փաթեթները հասանելի են (սովորաբար բավարար են Raspberry Pi OS-ի վերջին տարբերակի դեպքում):

4. Ուզու՞մ եք ավելի «ռադիո» ինտերֆեյս
– Տեղադրեք ncmpcpp-ի (տերմինալի ինտերֆեյս) նման ինտերֆեյս կամ ստեղծեք պարզ վեբ ինտերֆեյս։

-

Penutup

Raspberry Pi-ի վրա հիմնված ռադիո կառուցելը և՛ զվարճալի է, և՛ արժեքավոր։ MPD-ն և MPC-ն համատեղելով՝ կարող եք ստեղծել կայուն ինտերնետային ռադիո, որը ավտոմատ կերպով կմեկնարկի մեկնարկից հետո և հեշտությամբ կարող է ընդլայնվել՝ ներառելով ֆիզիկական կոճակներով, փոքր էկրանով և նույնիսկ անհատական ​​պատյանով սարքեր։ Հիմնական տարբերակը ներբեռնելուց հետո կարող եք մեկ քայլ առաջ գնալ. ավելացնել OLED էկրան՝ կայանների անունները ցուցադրելու համար, ստեղծել նախադրված ընտրացանկ կամ նույնիսկ ավելացնել FM ռադիոյի համար լարող մոդուլ։

Եթե ​​ցանկանում եք, կարող եմ շարունակել ավելի կոնկրետ տարբերակներով. օրինակ՝ պատրաստի ինդոնեզական ռադիոկայանների ցանկ (URL), GPIO անջատիչի Python կոդի օրինակ կամ DAC HAT-ի օգտագործման ուղեցույց՝ շատ ավելի լավ ձայնի որակ ապահովելու համար։

Թողեք մեկնաբանություն