Სარჩევი:
- ნაბიჯი 1: დააყენეთ თქვენი სერვერი
- ნაბიჯი 2: დააინსტალირეთ Pi და დააინსტალირეთ Darkice
- ნაბიჯი 3: ნაკადის ღილაკი და საჰაერო ნიშანი
- ნაბიჯი 4: უსაფრთხო გამორთვის ღილაკი და აქტივობის LED
- ნაბიჯი 5: გააკეთეთ პითონის სკრიპტები ჩატვირთვისგან
- ნაბიჯი 6: შექმენით ყუთი
- ნაბიჯი 7: ინსტალაცია
ვიდეო: რადიო ნაკადის ერთი ღილაკი: 7 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
მე ავაშენე ყუთი ჩემი მეგობრის ბარისთვის, რომელსაც შიგნით აქვს 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, რათა ხალხმა იცოდეს როდის არის უსაფრთხო ყუთის გამორთვა. მე ადვილად ვიპოვე გაკვეთილები ორივე მათგანისთვის, მაგრამ მე შევამჩნიე, რომ 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- ს გარშემო ჰაერის მიმოქცევა დაუშვას გადახურების თავიდან ასაცილებლად. მიამაგრეთ აუდიო კაბელები თქვენი მიქსერიდან, დააჭირეთ ღილაკს და ისიამოვნეთ მაუწყებლობით!
გირჩევთ:
4 ღილაკი თამაში ერთი ანალოგური შეყვანის გამოყენებით: 6 ნაბიჯი (სურათებით)
4 ღილაკიანი თამაშები ერთი ანალოგური შეყვანის გამოყენებით: ეს ინსტრუქცია ორიენტირებულია ერთი ანალოგური შეყვანის ხაზის გამოყენებაზე მრავალჯერადი ღილაკებისათვის, რომლებიც ერთმანეთისგან დამოუკიდებლად შეიძლება გამოვლინდეს. და ამ ღილაკების გამოყენების ხაზგასასმელად არის ოთხი განსხვავებული 4 ღილაკიანი თამაშების პროგრამა. ყველა თამაში (8 ტ
Roberts RM33 Raspberry Pi ინტერნეტ რადიო (კიდევ ერთი…): 8 ნაბიჯი (სურათებით)
რობერტსი RM33 ჟოლო Pi ინტერნეტ რადიო (კიდევ ერთი…): დიახ, ეს არის კიდევ ერთი Raspberry Pi ინტერნეტ რადიო და არა ჩემი პირველი. მე არ ვარ დარწმუნებული, რატომ არის ეს ნაგებობა ასეთი პოპულარული, მაგრამ მე მაინც სიამოვნებას ვიღებ და ვერ ვიტყვი, რომ ესეც ჩემი უკანასკნელი იქნება. მე ნამდვილად მომწონს რობერტის გარეგნობა
On Off Latch Circuit ერთად UC. ერთი დაჭერით ღილაკი. ერთი პინი. დისკრეტული კომპონენტი .: 5 ნაბიჯი
On Off Latch Circuit ერთად UC. ერთი დაჭერით ღილაკი. ერთი პინი. დისკრეტული კომპონენტი .: გამარჯობა ყველას, ვეძებდით ჩართვის/გამორთვის წრეს ქსელში. ყველაფერი რაც ვიპოვე არ იყო ის რასაც ვეძებდი. ჩემს თავს ვესაუბრებოდი, აუცილებლად არსებობს ამის საშუალება. ეს არის ის, რაც მჭირდებოდა.-მხოლოდ ერთი დაჭერის ღილაკი ჩართვისა და გამორთვისთვის.-უნდა გამოიყენოთ მხოლოდ
RGB ერთი ღილაკი USB კლავიატურა: 6 ნაბიჯი (სურათებით)
RGB ერთი ღილაკი USB კლავიატურა: ოდესმე გიგრძვნიათ საჭიროება ჰქონდეთ პატარა, მაგრამ ფუნქციონალური, RGB უკანა განათების კლავიატურა, რომელიც არ აღემატება ერთი გასაღების ზომას? არა? ვისაც აინტერესებს, მაინც გააკეთე ერთი! ეს ინსტრუქცია გაუძღვება იმ ნაბიჯებს, რომლებიც გჭირდებათ იმისათვის, რომ გახადოთ თქვენი საკუთარი, ოდნავ უსარგებლო
ნაკადის გაზომვა წყლის ნაკადის მრიცხველებით (ულტრაბგერითი): 5 ნაბიჯი (სურათებით)
ნაკადის გაზომვა წყლის ნაკადის მრიცხველებით (ულტრაბგერითი): წყალი არის ჩვენი პლანეტის კრიტიკული რესურსი. ჩვენ ადამიანებს ყოველდღიურად გვჭირდება წყალი. და წყალი აუცილებელია სხვადასხვა ინდუსტრიისთვის და ჩვენ, ადამიანებს, გვჭირდება ყოველდღე. რადგან წყალი უფრო ძვირფასი და მწირი გახდა, საჭიროა ეფექტური მონიტორინგისა და ადამიანების