Yuav Ua Li Cas Thiaj Ua Tau Lub Xov Tooj Cua Raspberry Pi

Yuav Ua Li Cas Thiaj Ua Tau Lub Xov Tooj Cua Raspberry Pi

Xov tooj cua tej zaum yuav zoo li yog ib yam thev naus laus zis "qub", tab sis qhov ntawd yog nws qhov kev nyiam: yooj yim, txhim khu kev qha, thiab tseem muaj feem cuam tshuam rau kev lom zem thiab kev kawm. Nrog Raspberry Pi, koj tuaj yeem tsim lub xov tooj cua niaj hnub, hloov pauv tau - nws tuaj yeem yog xov tooj cua streaming hauv internet, lub tshuab ua suab paj nruag hauv zos, lossis txawm tias (nrog ib qho module ntxiv) xov tooj cua FM. Tsab xov xwm no qhia txog yuav ua li cas los tsim lub xov tooj cua Raspberry Pi hauv txoj hauv kev siv tau, los ntawm kev teeb tsa kho vajtse mus rau kev teeb tsa software.

-

1. Lub Tswv Yim Xov Tooj Cua Raws Li Raspberry Pi

Feem ntau, muaj ob txoj hauv kev tseem ceeb:

1. Xov Tooj Cua Hauv Is Taws Nem (Streaming)
Lub Raspberry Pi ua si xov tooj cua tshaj tawm hauv internet dhau Wi-Fi / Ethernet. Qhov no yog txoj kev yooj yim tshaj plaws thiab siv ntau tshaj plaws, vim nws tsis xav tau cov khoom siv RF tshwj xeeb.

2. Xov tooj cua FM/AM (nrog rau cov khoom siv xaiv tau)
Yuav tsum muaj lub tuner module (piv txwv li, lub FM receiver ntawm I2C/SPI) lossis lub Software Defined Radio (SDR). Kev teeb tsa nyuaj dua thiab feem ntau nyob ntawm lub cuab yeej siv.

Hauv tsab xov xwm no, lub ntsiab lus tseem ceeb yog Internet Radio vim nws yog qhov yooj yim tshaj plaws rau cov neeg pib tshiab thiab tsim nyog rau kev tsim hauv lub sijhawm luv luv.

-

2. Cov Khoom Siv Yuav Tsum Muaj

Nov yog daim ntawv teev cov khoom uas pom zoo:

– Raspberry Pi (Pi 3/4/Zero 2 W pom zoo)
– MicroSD tsawg kawg yog 8–16 GB
- Lub zog ruaj khov (5V, tam sim no raws li Pi qauv)
- Kev sib txuas hauv internet (Wi-Fi lossis LAN cable)
– Cov zis suab:
- Cov neeg hais lus nquag siv 3.5mm jack (rau cov qauv txhawb nqa), lossis
– Lub tso suab/amp USB, los yog
- DAC audio HAT (xaiv tau, zoo dua)
- Saib xyuas & keyboard (rau kev teeb tsa thawj zaug) lossis nkag mus rau SSH
- Lub thawv/lub thawv rau qhov project (xaiv tau, rau kev huv si)

Yog tias koj xav tau lub xov tooj cua uas muaj kev tswj lub cev, koj tuaj yeem ntxiv:
- Khawm nias, lub encoder rotary, lossis OLED/LCD screen.

-

3. Kev Txhim Kho Raspberry Pi Operating System

1. Rub tawm thiab nruab Raspberry Pi Imager rau hauv koj lub PC/laptop.
2. Ntxig lub microSD, tom qab ntawd flash Raspberry Pi OS Lite (tsis muaj desktop) rau kev siv cov peev txheej txuag tau, lossis Desktop version yog tias koj xav tau lub graphical interface.
3. Ua ntej sau daim duab, koj tuaj yeem teeb tsa:
- Wi-nkaus (SSID thiab password)
- Lub npe neeg siv thiab lo lus zais
- Kev qhib SSH
4. Khau raj Raspberry Pi thiab xyuas kom meej tias internet ua haujlwm.

Tom qab nkag mus rau hauv lub system, hloov kho cov pob khoom:

"`bash
sudo apt hloov tshiab
sudo apt txawj tej yam ntxiv -yog
“

-

4. Teeb tsa Suab rau Raspberry Pi

Tshawb xyuas cov khoom siv suab uas tau ntes tau:

"`bash
aplay -l
“

Yog tias koj siv lub suab los ntawm HDMI lossis lub qhov (nyob ntawm tus qauv), koj tuaj yeem xaiv qhov tso zis tawm. Qee cov qauv ntawm Raspberry Pi OS yuav teeb tsa cov chaw teeb tsa suab, tab sis koj tuaj yeem sim cov zis los ntawm:

"`bash
kev sim hais lus -t wav -c 2
“

Yog koj siv daim npav suab USB lossis DAC HAT, feem ntau nws yuav tshwm sim ua lub cuab yeej tshiab. Xyuas kom tseeb tias koj cov zis tawm yog qhov tseeb kom hnov ​​​​​​lub xov tooj cua.

-

5. Txhim Kho Internet Radio Player (MPD + MPC)

Ib txoj hauv kev ruaj khov tshaj plaws yog siv MPD (Music Player Daemon) los ua si suab thiab MPC ua tus tswj hwm los ntawm lub davhlau ya nyob twg.

Nruab lub pob khoom:

"`bash
sudo apt nruab -y mpd mpc
“

Xyuas kom tseeb tias MPD khiav:

"`bash
sudo systemctl qhib mpd
sudo systemctl pib mpd
“

Xyuas seb puas muaj xwm txheej:

"`bash
systemctl xwm txheej mpd
“

-

6. Ntxiv Daim Ntawv Teev Cov Chaw Nres Tsheb Xov Tooj Cua

MPD tuaj yeem tso cov kwj deg URL. Koj tuaj yeem ntxiv cov chaw xov tooj cua rau hauv MPD playlists.

Piv txwv ntawm kev ntxiv ib qho xov tooj cua:

"`bash
mpc ntxiv http://streamurl-radio-anda:8000/stream
“

Ces ua si:

"`bash
mpc ua si
“

Yog xav saib daim ntawv teev npe:

"`bash
mpc playlist
“

Tsim ib daim ntawv teev cov chaw nres tsheb uas koj nyiam
Koj tuaj yeem tsim cov ntaub ntawv playlist `.m3u`:

1. Tsim ib daim nplaub tshev playlist (yog tias tsis muaj ib qho):
"`bash
mkdir -p ~/playlists
“

2. Tsim ib daim ntawv:
"`bash
nano ~/playlists/xov tooj cua.m3u
“

3. Sau qee cov URL streaming, piv txwv li:
“
http://example.com/stream1
http://example.com/stream2
http://example.com/stream3
“

Ntxiv lawv rau hauv MPD los ntawm kev thauj lawv ib leeg lossis los ntawm kev teeb tsa koj daim nplaub tshev suab paj nruag / daim ntawv teev suab paj nruag MPD. Txoj kev ceev: ntxiv lawv ncaj qha los ntawm cov ntaub ntawv (xaiv tau nyob ntawm koj qhov kev teeb tsa MPD), lossis theej daim ntawv teev suab paj nruag rau hauv koj daim nplaub tshev MPD playlist (feem ntau `/var/lib/mpd/playlists/`).

-

7. Kev Teeb tsa MPD kom Ua rau nws haum rau Xov Tooj Cua

Kho kom raug MPD kev teeb tsa:

"`bash
sudo nano /etc/mpd.conf
“

Qee qhov tseem ceeb:

– Xyuas kom tseeb tias lub suab tso tawm yog qhov tseeb. Piv txwv li:
"`conf
tso zis suab {
ntaus "alsa"
lub npe "ALSA Output"
hom sib tov khoom "software"
}
“

- Koj tuaj yeem teeb tsa lub buffer kom ua rau streaming ruaj khov dua (xaiv tau, nyob ntawm cov xwm txheej ntawm network).

Thaum ua tiav lawm, rov pib dua MPD:

"`bash
sudo systemctl pib dua mpd
“

-

8. Ua kom lub xov tooj cua tig tau thaum khau raj

Yuav kom Raspberry Pi ua si xov tooj cua tam sim ntawd thaum qhib:

1. Tsim ib tsab ntawv yooj yim, piv txwv li:

"`bash
nano ~/start-radio.sh
“

Cov Ntsiab Lus:

"`bash
!/bin/bash
pw 5
mpc meej
mpc ntxiv http://streamurl-radio-anda:8000/stream
mpc ntim 70
mpc ua si
“

Txuag ces muab kev tso cai ua tiav:

"`bash
chmod +x ~/start-radio.sh
“

2. Tsim ib qho kev pabcuam systemd:

"`bash
sudo nano /etc/systemd/system/radio.service
“

Cov Ntsiab Lus:

"`qhov no
[Txiav Txim]
Kev piav qhia = Xov tooj cua ua si tsis siv neeg
Tom qab = network-online.target mpd.service
Xav tau = network-online.target

[Kev Pab]
Tus neeg siv = pi
ExecStart=/home/pi/start-radio.sh
Restart = on-failure

[Nruab]
Xav tauBy = multi-user.target
“

Qhib kom ua haujlwm:

"`bash
sudo systemctl daemon-reload
sudo systemctl pab kom xov tooj cua.kev pabcuam
sudo systemctl pib xov tooj cua.kev pabcuam
“

Lus Cim: yog tias lub npe neeg siv tsis yog `pi`, kho txoj kev thiab `User=`.

-

9. Ntxiv Kev Tswj (Xaiv Tau)

Yuav kom nws zoo li lub xov tooj cua tiag tiag, koj tuaj yeem ntxiv cov kev tswj hwm lub cev:

– Khawm Tom Ntej/Yav dhau los hloov chaw nres tsheb:
– `mpc tom ntej`
– `mpc yav dhau los`
– Khawm Ua Si/Nres:
– `mpc toggle`
– `mpc nres`
- Rotary encoder rau ntim:
– `mpc ntim +5`
– `mpc ntim -5`

Yuav kom siv tau cov nyees khawm, koj siv tau Python (GPIO) thiab hu rau cov lus txib `mpc`. Qhov kev sib xyaw ua ke no nrov heev vim nws yooj yim thiab yooj yim rau kev tsim kho.

-

10. Cov Lus Qhia Txog Kev Txhim Kho thiab Kev daws teeb meem

Qee qhov teeb meem uas tshwm sim thiab lawv cov kev daws teeb meem:

1. Tsis muaj suab
- Xyuas kom tseeb tias lub suab tso tawm yog qhov tseeb (ALSA device).
– Sim hloov lub tso suab/USB daim npav suab.
– Xyuas kom tseeb tias lub ntim tsis yog 0: `mpc ntim 80`

2. Kev tshaj tawm tsis tu ncua
- Siv kev sib txuas LAN yog tias ua tau.
- Ntxiv kev ncua ua ntej ua si thaum khau raj (`pw tsaug zog 5` lossis `pw tsaug zog 10`).
- Xaiv cov kwj deg bitrate qis dua.

3. MPD tsis tuaj yeem ua si URL
- Sim xyuas kom tseeb tias URL yog qhov tseeb thiab tuaj yeem qhib tau los ntawm tib lub network.
- Xyuas kom tseeb tias cov pob khoom txhawb nqa muaj (feem ntau txaus rau ntawm Raspberry Pi OS tshiab kawg).

4. Xav tau ib qho interface "xov tooj cua" ntau dua
- Nruab ib lub frontend zoo li ncmpcpp (terminal UI), lossis tsim ib lub web UI yooj yim.

-

Kev kaw

Kev tsim lub xov tooj cua Raspberry Pi yog ib qho project lom zem thiab muaj txiaj ntsig. Los ntawm kev sib koom ua ke MPD thiab MPC, koj tuaj yeem tsim lub xov tooj cua hauv internet ruaj khov uas pib ua haujlwm thaum khau raj, thiab yooj yim nthuav dav kom suav nrog cov khoom siv nrog cov nyees khawm lub cev, lub vijtsam me me, thiab txawm tias lub thawv tshwj xeeb. Thaum koj tau txais qhov version yooj yim, koj tuaj yeem ua nws ib kauj ruam ntxiv: ntxiv lub vijtsam OLED los tso saib cov npe chaw nres tsheb, tsim cov ntawv qhia zaub mov preset, lossis txawm tias ntxiv lub tuner module rau xov tooj cua FM.

Yog tias koj xav tau, kuv tuaj yeem txuas ntxiv nrog cov qauv tshwj xeeb ntxiv: piv txwv li daim ntawv teev cov chaw nres tsheb hauv xov tooj cua Indonesian uas npaj siv tau (URL), piv txwv Python code rau GPIO hloov, lossis phau ntawv qhia siv DAC HAT rau lub suab zoo dua.

Sau ib qho lus tawm tswv yim