როგორ შევქმნათ 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 GB
– სტაბილური კვების წყარო (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 apt განახლება -y
""
-
4. აუდიოს დაყენება Raspberry Pi-ზე
შეამოწმეთ აღმოჩენილი აუდიო მოწყობილობები:
„ბაშ
aplay -l
""
თუ აუდიოს 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 start mpd
""
სტატუსის შემოწმება:
„ბაშ
systemctl სტატუსის mpd
""
-
6. რადიოსადგურების სიის დამატება
MPD-ს შეუძლია URL ნაკადების დაკვრა. თქვენ შეგიძლიათ დაამატოთ რადიოსადგურები MPD დასაკრავ სიებში.
ერთი რადიო ნაკადის დამატების მაგალითი:
„ბაშ
mpc-ის დამატება http://streamurl-radio-anda:8000/stream
""
შემდეგ ითამაშეთ:
„ბაშ
mpc-ის დაკვრა
""
სიის სანახავად:
„ბაშ
mpc დასაკრავი სია
""
შექმენით საყვარელი სადგურის დასაკრავი სია
შეგიძლიათ შექმნათ `.m3u` დასაკრავი სიის ფაილი:
1. შექმენით დასაკრავი სიის საქაღალდე (თუ ის არ არსებობს):
„ბაშ
mkdir -p ~/დასაკრავი სიები
""
2. შექმენით ფაილი:
„ბაშ
ნანო ~/ფლეილისტები/რადიო.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 კონფიგურაციის რედაქტირება:
„ბაშ
სუდო ნანო /etc/mpd.conf
""
რამდენიმე მნიშვნელოვანი ნაწილი:
– დარწმუნდით, რომ აუდიო გამომავალი სწორია. გავრცელებული მაგალითები:
„კონფ.“
აუდიო_გამომავალი {
აკრიფეთ „ალსა“
სახელი „ALSA გამომავალი“
მიქსერის_ტიპის „პროგრამული უზრუნველყოფა“
}
""
– შეგიძლიათ დააყენოთ ბუფერი, რათა სტრიმინგი უფრო სტაბილური იყოს (არასავალდებულოა, ქსელის პირობებიდან გამომდინარე).
დასრულების შემდეგ, გადატვირთეთ MPD:
„ბაშ
sudo systemctl restart mpd
""
-
8. ჩატვირთვისას რადიოს ავტომატურად ჩართვა
იმისათვის, რომ Raspberry Pi-მ ჩართვისთანავე ჩართოს რადიო:
1. შექმენით მარტივი სკრიპტი, მაგალითად:
„ბაშ
ნანო ~/start-radio.sh
""
შინაარსი:
„ბაშ
!/bin/bash
ძილი 5
mpc-ის გაწმენდა
mpc-ის დამატება http://streamurl-radio-anda:8000/stream
mpc მოცულობა 70
mpc-ის დაკვრა
""
შეინახეთ და შემდეგ მიეცით შესრულების ნებართვა:
„ბაშ
chmod +x ~/start-radio.sh
""
2. შექმენით systemd სერვისი:
„ბაშ
sudo nano /etc/systemd/system/radio.service
""
შინაარსი:
„ეს
[ერთეული]
აღწერა=რადიო ავტომატური დაკვრა
შემდეგ = network-online.target mpd.service
Wants=network-online.target
[სამსახური]
მომხმარებელი=პი
ExecStart=/home/pi/start-radio.sh
გადატვირთვა=შეცდომის შემთხვევაში
[ინსტალაცია]
WantedBy=მრავალმომხმარებლის.მიზნის
""
ჩართვა:
„ბაშ
sudo systemctl დემონის გადატვირთვა
sudo systemctl enable radio.service
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 (ტერმინალის ინტერფეისი), ან შექმენით მარტივი ვებ ინტერფეისი.
-
დახურვა
Raspberry Pi-ზე დაფუძნებული რადიოს შექმნა როგორც სახალისო, ასევე მომგებიანი პროექტია. MPD-სა და MPC-ს კომბინაციით, შეგიძლიათ შექმნათ სტაბილური ინტერნეტ რადიო, რომელიც ავტომატურად ჩაირთვება ჩატვირთვისას და ადვილად გაფართოვდება ფიზიკური ღილაკების, პატარა ეკრანის და ინდივიდუალური კორპუსის მქონე მოწყობილობების ჩათვლით. საბაზისო ვერსიის ჩამოტვირთვის შემდეგ, შეგიძლიათ კიდევ უფრო შორს წახვიდეთ: დაამატეთ OLED ეკრანი სადგურების სახელების საჩვენებლად, შექმენით წინასწარ დაყენებული მენიუ ან თუნდაც დაამატოთ ტიუნერის მოდული FM რადიოსთვის.
თუ გსურთ, შემიძლია გავაგრძელო უფრო კონკრეტული ვერსიებით: მაგალითად, გამოსაყენებლად მზა ინდონეზიური რადიოსადგურების სია (URL), GPIO კომუტატორის Python კოდის მაგალითი ან DAC HAT-ის გამოყენების სახელმძღვანელო გაცილებით უკეთესი ხმის ხარისხისთვის.