Სარჩევი:

რადიო ნაკადის ერთი ღილაკი: 7 ნაბიჯი (სურათებით)
რადიო ნაკადის ერთი ღილაკი: 7 ნაბიჯი (სურათებით)

ვიდეო: რადიო ნაკადის ერთი ღილაკი: 7 ნაბიჯი (სურათებით)

ვიდეო: რადიო ნაკადის ერთი ღილაკი: 7 ნაბიჯი (სურათებით)
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, სექტემბერი
Anonim
რადიო ნაკადის ერთი ღილაკი
რადიო ნაკადის ერთი ღილაკი

მე ავაშენე ყუთი ჩემი მეგობრის ბარისთვის, რომელსაც შიგნით აქვს Raspberry Pi და ერთი ღილაკის დაჭერით ავრცელებს აუდიოს ვებსაიტზე Darkice და Icecast გამოყენებით, ხოლო ერთდროულად ანათებს "On-Air" ნიშანს. ვფიქრობდი, რომ ეს იყო ის, რასაც ხალხი უკვე აკეთებდა, მაგრამ ფართო ძიების შემდეგ ვერაფერი აღმოვაჩინე და გადავწყვიტე, რომ მე თვითონ გამერკვია და ეს დამრიგებელი გამეხადა.

მე გამოვიყენე Raspberry Pi 3+ B, მაგრამ რამდენადაც შემიძლია გითხრათ, ის ნებისმიერ Pi- ზე იმუშავებს (შესაძლოა GPIO- ს პინის ნომრები განსხვავდებოდეს, თუმცა ამას ვერ დავამტკიცებ). მე გამოვიყენე NOOBS პაკეტი OS– სთვის და შევიძინე სუპერ მარტივი ხმოვანი ბარათი შეყვანისთვის. მე ასევე დავამატე უსაფრთხო დახურვის ღილაკი და აქტივობის LED ყუთში Pi- ს დასაცავად.

თქვენ დაგჭირდებათ:

ჟოლო პი

NOOBS პაკეტი SD ბარათზე

ჩართვა/გამორთვა (მე გამოვიყენე დიდი წითელი გადაუდებელი გაჩერების მსგავსი ღილაკი, მაგრამ ეს შეიძლება იყოს ნებისმიერი სახის "დაწკაპუნების" გადამრთველი)

დააჭირეთ ღილაკს

1 LED

"On-Air" ნიშანი, მე თვითონ გავაკეთე LED მასივით

შედუღების რკინა და პატარა შემაერთებელი დაფა (მე მხოლოდ ერთ-ერთი მათგანი ამოვიღე ზოლები, რაც მე მქონდა გარშემო)

ხმის ბარათი (მე გამოვიყენე სუპერ მარტივი მსგავსი)

ნაბიჯი 1: დააყენეთ თქვენი სერვერი

ფაქტობრივი რადიოსადგურისთვის, რომელსაც ჩვენ ვიყენებთ, მე არ გავაკეთე ეს ნაწილი, რადგან მე არ მქონდა წვდომა სერვერზე და ეს გააკეთა ჩემმა მეგობარმა, მაგრამ Icecast– ის ვებსაიტზე არის ძირითადი გზამკვლევი და მე მოვახერხე ის მუშაობს Pi– ს დასაწყისში მხოლოდ იმის სანახავად, თუ როგორ მიდის. ალტერნატიულად შეგიძლიათ მიიღოთ ანგარიში internet-radio.com და ის მუშაობს Darkice– თან.

ნაბიჯი 2: დააინსტალირეთ Pi და დააინსტალირეთ Darkice

მიიღეთ SD ბარათი NOOBS პაკეტით. მას შემდეგ რაც გახსენით Raspbian და დააინსტალირეთ ყველა განახლება გახსენით ტერმინალის ფანჯარა და ჩაწერეთ:

sudo apt-get განახლება

sudo apt-get დააინსტალირეთ darkice

Darkice არის Debian– ის ნაწილი, ასე რომ ის ავტომატურად დაინსტალირდება, ამას რამდენიმე წამი სჭირდება.

მას შემდეგ რაც დასრულდება მოთხოვნის ტიპი:

სიბნელე

ის შეცდომის შეტყობინებას მისცემს და არ გაუშვებს, მაგრამ ეს ნორმალურია. შეტყობინებაში ის იტყვის დაახლოებით ასე:

კონფიგურაციის ფაილის გამოყენებით: /etc/darkice.cfg

თქვენ უნდა შეცვალოთ ეს ფაილი, ასე რომ მოთხოვნისთანავე ჩაწერეთ:

sudo nano /და ა.შ. /darkice.cfg

შეცვალეთ ფაილი, რომელიც იხსნება ამ ვიკიში არსებული ინფორმაციის გამოყენებით. რადიაორეფერენციის გვერდზე, როდესაც დასრულდება, დააჭირეთ CTRL-X დახურვას, Y შესანახად და თქვენ უნდა დაუბრუნდეთ ტერმინალის მოთხოვნას. ყოველთვის კარგია გადატვირთვა ახალი პროგრამის დაყენების შემდეგ, ასე რომ ჩაწერეთ:

გადატვირთვა

და როდესაც Pi განახლდება ხელახლა გახსენით ტერმინალის ფანჯარა. ახლა, როდესაც აკრიფებთ 'Darkice', ის უნდა მუშაობდეს ყოველგვარი შეცდომის შეტყობინების გარეშე. თუ გადახვალთ https:// YOURSERVERADDRESS: 8000/(8000 ან რომელ პორტზეა თქვენი icecast სერვერი დანიშნული) თქვენ უნდა მიიღოთ სტატისტიკის გვერდი, რომელშიც ნათქვამია, რომ თქვენ ხართ დაკავშირებული. თუ არა, შეცვალეთ კონფიგურაციის ფაილი (აუდიო შეყვანის ხაზმა მომცა გარკვეული პრობლემები, მაგრამ მე შევეცადე ყველა ვარიანტი და საბოლოოდ ვიპოვე ჩემი ხმის ბარათი). მას შემდეგ რაც Darkice მუშაობს სწორად გადადით შემდეგ საფეხურზე.

ნაბიჯი 3: ნაკადის ღილაკი და საჰაერო ნიშანი

ნაკადის ღილაკი და საჰაერო ნიშანი
ნაკადის ღილაკი და საჰაერო ნიშანი

მე გავაკეთე რამოდენიმე სხვადასხვა გაკვეთილი ამისათვის, რადგან არ იყო კონკრეტული პითონში ღილაკზე მოქმედების მინიჭების მიზნით. ყველაზე დიდი პრობლემა, რომლის წინაშეც აღმოვჩნდი, იყო Darkice- ის ფონში გაშვება (და ამით არ გაყინო Python სკრიპტი, როდესაც ის დაიწყო გაშვება), მაგრამ მე ვთხოვე პროგრამისტს, რომ მოვიდეს და დამეხმარა, და მან გაარკვია გზა ფურცლების წერისთვის. არ მიიღოთ როგორც ჩანს, ასევე შესაძლებელია "&" - ის გამოყენებით სადღაც კოდში, მაგრამ მე არ ვარ დამშიფრავი და რაც მაქვს მუშაობს, ამიტომაც ავირჩიე არ გამეფუჭებინა იგი. მას შემდეგ რაც ყველაფერი მუშაობდა, მე დავიწყე ყველა კაბელის ამოღება პურის დაფაზე, სანამ არ დავრჩი შემდეგი პარამეტრებით:

GPIO16 გარე 3 წერტილიანი კონექტორით.

GPIO7 LED მასივის პოზიტიური ტერმინალისთვის ON-Air ნიშნისთვის.

GPIO25 დაწკაპუნების გადამრთველამდე.

დაწკაპუნების გადამრთველის მეორე მხარე მიმაგრებულია 3 წერტილიანი კონექტორთან.

LED მასივის უარყოფითი ტერმინალი ასევე ერთვის 3-პუნქტიან კონექტორს.

(დიაგრამაზე სხვა კომპონენტები განმარტებულია მომდევნო ეტაპზე).

პითონის სკრიპტი, რომლითაც ჩვენ დავასრულეთ არის შემდეგი (გთხოვთ გაითვალისწინოთ, რომ ეს არის ინსტრუქცია მთელი პროექტისათვის, მე ნამდვილად არ ვიცი საკმარისად კოდის ასახსნელად. მე შევადგინე იგი სხვადასხვა სხვა გაკვეთილებიდან სხვადასხვა ფუნქციისთვის):

იმპორტის დრო იმპორტი RPi. GPIO როგორც GPIO GPIO.setwarnings (ყალბი) GPIO.setmode (GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup (ledPin, GPIO. OUT) GPIO.setup (buttonPin, GPIO. IN, pull_up_down = GPIO. PUD_UP)

გადართვა = ყალბი

def start_darkice ():

ბეჭდვა ('ქვეპროცესის მოწოდება') #შედეგი = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('resuming') def stop_darkice (): os.system ('ეკრანი -X -S darkice quit')

მართალია:

buttonState = GPIO.input (buttonPin) თუ buttonState == მართალია: თუ არა გადართვა: გადართვა = ჭეშმარიტი ბეჭდვა ("ჩართვა სიბნელეში") start_darkice () #print ("ღილაკი STATE TRUE") GPIO.output (ledPin, GPIO. HIGH)

სხვა:

if toggle: toggle = ყალბი ბეჭდვა ('შეჩერების სიბნელე') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)

Py ფაილი თან ერთვის ამ ინსტრუქციას, შეგიძლიათ გადმოწეროთ და მიჰყევით ნაბიჯ 5 -ს, თუ გსურთ.

ნაბიჯი 4: უსაფრთხო გამორთვის ღილაკი და აქტივობის LED

უსაფრთხო გამორთვის ღილაკი და აქტივობის LED
უსაფრთხო გამორთვის ღილაკი და აქტივობის LED

მხოლოდ უსაფრთხოების მიზნით და სიცოცხლის გახანგრძლივების მიზნით, მე დავამატე უსაფრთხო გამორთვის ღილაკი და გარე აქტივობის LED, რათა ხალხმა იცოდეს როდის არის უსაფრთხო ყუთის გამორთვა. მე ადვილად ვიპოვე გაკვეთილები ორივე მათგანისთვის, მაგრამ მე შევამჩნიე, რომ Raspberry Pi 3 B+ - ს აქვს ACT LED მინიჭებული GPIO პინი, ხოლო ადრინდელ მოდელებს არა და ეს შეიძლება იყოს პრობლემატური, თუ თქვენ გაქვთ ძველი Pi.

მიამაგრეთ LED- ის დადებითი ტერმინალი GPIO13- ს და უარყოფითი GPIO26- ს. იმისათვის, რომ ACT LED იმუშაოს თქვენ უნდა შეცვალოთ config.txt ფაილი BOOT დირექტორიაში. ამის ნახვა შეგიძლიათ Raspbian ბრაუზერში ან:

sudo nano /usr/boot/config.txt

როდესაც ფაილს რედაქტირებთ, უბრალოდ დაამატეთ შემდეგი ხაზები:

# გამოიყენეთ გარე LED როგორც SD ACT LED dtoverlay = pi3-act-led, gpio = 19

ახლა გარე LED ანათებს SD ბარათის აქტივობით.

მიამაგრეთ ბიძგის გადამრთველის ტერმინალები GPIO3 და GPIO8. მე ვიპოვე შემდეგი კოდი სამეურვეოდან და კარგად მუშაობს:

იმპორტის დრო gpiozero იმპორტის ღილაკი ქვეპროცესებიდან იმპორტი check_call სიგნალის იმპორტის პაუზისგან

def გამორთვა ():

check_call (['sudo', 'poweroff'])

shutdown_btn = ღილაკი (2, hold_time = 1)

shutdown_btn.when_held = გამორთვა

პაუზა ()

დრო. ძილი (1)

ეს py ფაილი ასევე თან ერთვის თქვენ გადმოწეროთ თუ გსურთ. ჩემი ღილაკი უნდა დარჩეს 1 წამის განმავლობაში, თუ გსურთ შეცვალოთ ის ცვლილება 'hold-time =' მნიშვნელობა.

ნაბიჯი 5: გააკეთეთ პითონის სკრიპტები ჩატვირთვისგან

ისევ და ისევ, ბევრი გაკვეთილია ამ თემაზე, მე გამოვიყენე ეს Dexter Industries– დან და ნაბიჯი პირველი გავყევი rc.local ფაილის რედაქტირებით.

sudo nano /etc/rc.local

აქ თქვენ უნდა დაამატოთ ფაილის სრული ბილიკი დოკუმენტის ბოლოს, თითოეული სტრიქონის ბოლოს შეავსოთ "&". თქვენ უნდა დაამატოთ ერთი ხაზი თითოეული ფაილისთვის:

sudo python/home/pi/YOURFILENAME, py &

sudo python /home/pi/YOURFILENAME2.py &

ხაზის წინ

გასვლა 0

'&' თითოეული ხაზის ბოლოს მნიშვნელოვანია პროგრამის მარყუჟების უზრუნველსაყოფად.

ნაბიჯი 6: შექმენით ყუთი

ააშენეთ ყუთი
ააშენეთ ყუთი
ააშენეთ ყუთი
ააშენეთ ყუთი
ააშენეთ ყუთი
ააშენეთ ყუთი

ეს მთლიანად შენზეა დამოკიდებული. ის ნამდვილად უნდა იყოს Pi- ს ზომა, მაგრამ მე კომპრესორი ჩავდე ჩემს კონფიგურაციაში, რომ შევინარჩუნო რადიო ნაკადი საკმაოდ თანმიმდევრულ დონეზე, ასე რომ ყუთი ოდნავ უფრო დიდია. ნაღმზე წინა მხარეს არის ხვრელი On-Air ნიშნისთვის და ერთი დიდი წითელი ღილაკისთვის, პლუს მე გავაკეთე პატარა ინსტრუქციის ბარათი დიჯეებისთვის და ჩავსვი ღილაკის ქვემოთ. ყუთის მხარეს არის ხვრელი ღილაკზე, ACT LED და აუდიო შესასვლელი, პლუს ჩასმული ინსტრუქციები ბარის პერსონალისთვის, თუ როგორ უნდა დახუროთ ყუთი უსაფრთხოდ.

ნაბიჯი 7: ინსტალაცია

ინსტალაცია
ინსტალაცია
ინსტალაცია
ინსტალაცია
ინსტალაცია
ინსტალაცია
ინსტალაცია
ინსტალაცია

დააფიქსირეთ ყველა ცალკეული კომპონენტი თქვენს ყუთში, გაითვალისწინეთ, რომ ყოველთვის კარგია, რომ Pi- ს გარშემო ჰაერის მიმოქცევა დაუშვას გადახურების თავიდან ასაცილებლად. მიამაგრეთ აუდიო კაბელები თქვენი მიქსერიდან, დააჭირეთ ღილაკს და ისიამოვნეთ მაუწყებლობით!

გირჩევთ: