Daftar Isi:

Kotak Streaming Radio Satu Tombol: 7 Langkah (dengan Gambar)
Kotak Streaming Radio Satu Tombol: 7 Langkah (dengan Gambar)

Video: Kotak Streaming Radio Satu Tombol: 7 Langkah (dengan Gambar)

Video: Kotak Streaming Radio Satu Tombol: 7 Langkah (dengan Gambar)
Video: Kecurangan penjual gas elpiji!!!!! 2024, September
Anonim
Kotak Streaming Radio satu tombol
Kotak Streaming Radio satu tombol

Saya membangun sebuah kotak untuk bilah teman saya yang memiliki Raspberry Pi di dalamnya dan dengan menekan satu tombol, itu mengalirkan audio ke situs web menggunakan Darkice dan Icecast, sekaligus menyalakan tanda 'Siaran'. Saya pikir ini adalah sesuatu yang sudah dilakukan orang, tetapi setelah pencarian ekstensif, saya tidak menemukan apa pun dan memutuskan untuk mencari tahu sendiri dan menjadikannya Instructable.

Saya menggunakan Raspberry Pi 3+ B tetapi sejauh yang saya tahu itu akan berfungsi pada Pi apa pun (mungkin nomor pin GPIO akan bervariasi, saya tidak dapat membuktikannya). Saya menggunakan paket NOOBS untuk OS dan membeli kartu suara super sederhana untuk input. Saya juga menambahkan tombol shutdown yang aman dan LED aktivitas ke kotak untuk melindungi Pi.

Anda akan perlu:

Raspberry Pi

Paket NOOBS pada kartu SD

Sakelar Nyala/Mati (Saya menggunakan tombol berhenti darurat merah besar seperti ini, tetapi bisa berupa sakelar 'klik' apa saja)

Tekan tombol

1 LED

Tanda 'On-Air', saya membuatnya sendiri dengan susunan LED

Besi solder dan papan konektor kecil (saya baru saja memotong strip dari salah satu yang saya miliki)

Soundcard (saya menggunakan yang super sederhana seperti ini)

Langkah 1: Siapkan Server Anda

Untuk stasiun radio sebenarnya yang kami gunakan, saya tidak melakukan bagian ini karena saya tidak memiliki akses ke server dan teman saya melakukannya, tetapi ada panduan pengaturan dasar di situs web Icecast dan saya berhasil mendapatkannya itu bekerja dari Pi pada awalnya hanya untuk melihat bagaimana kelanjutannya. Atau Anda bisa mendapatkan akun di internet-radio.com dan berfungsi dengan Darkice.

Langkah 2: Siapkan Pi dan Instal Darkice

Dapatkan Kartu SD dengan paket NOOBS. Setelah Anda membuka Raspbian dan menginstal semua pembaruan, buka jendela Terminal dan ketik:

sudo apt-get update

sudo apt-get install darkice

Darkice adalah bagian dari Debian sehingga akan terinstal secara otomatis, dibutuhkan beberapa saat.

Setelah selesai pada prompt ketik:

kegelapan

Ini akan memberikan pesan kesalahan dan tidak berjalan, tapi tidak apa-apa. Dalam pesan itu akan mengatakan sesuatu seperti:

Menggunakan file konfigurasi: /etc/darkice.cfg

Anda perlu mengedit file itu, jadi pada prompt ketik:

sudo nano /etc/darkice.cfg

Edit file yang terbuka menggunakan informasi di halaman wiki. Radioreference ini, ketika Anda selesai tekan CTRL-X untuk menutup, Y untuk menyimpan dan Anda harus kembali ke prompt Terminal. Itu selalu baik untuk reboot setelah menginstal program baru jadi ketik:

menyalakan ulang

dan ketika Pi telah dimulai ulang, buka kembali jendela Terminal. Sekarang ketika Anda mengetik 'Darkice' itu akan berjalan tanpa pesan kesalahan. Jika Anda membuka https://YOURSERVERADDRESS:8000/ (8000 atau port mana pun yang ditetapkan oleh server icecast Anda), Anda akan mendapatkan halaman statistik yang mengatakan bahwa Anda terhubung. Jika tidak, Tweak file konfigurasi (jalur input audio memberi saya beberapa masalah tetapi saya mencoba semua opsi dan akhirnya menemukan kartu suara saya). Setelah Darkice berjalan dengan benar, lanjutkan ke langkah berikutnya.

Langkah 3: Tombol Streaming dan Tanda Siaran

Tombol Streaming dan Tanda Siaran
Tombol Streaming dan Tanda Siaran

Saya melakukan banyak tutorial berbeda untuk ini karena tidak ada yang spesifik untuk menetapkan tindakan ke tombol dengan Python. Masalah terbesar yang saya hadapi adalah menjalankan Darkice di latar belakang (dan dengan demikian tidak membekukan skrip Python ketika mulai berjalan) tetapi saya meminta seorang teman pembuat kode untuk datang dan membantu dan dia menemukan cara untuk melakukannya dengan menulis lembar, sesuatu yang saya tidak mengerti. Rupanya itu juga dapat dimungkinkan menggunakan '&' di suatu tempat dalam kode tetapi saya bukan pembuat kode dan apa yang saya miliki berfungsi, jadi saya memilih untuk tidak mengacaukannya. Setelah semuanya berfungsi, saya mulai memotong semua kabel dari papan tempat memotong roti sampai saya memiliki pengaturan berikut:

GPIO16 ke konektor 3 titik eksternal.

GPIO7 ke terminal positif larik LED untuk tanda ON-Air.

GPIO25 ke tombol klik.

Sisi lain dari sakelar klik menempel pada konektor 3 titik.

Terminal negatif dari susunan LED juga terpasang ke konektor 3 titik.

(Komponen lain pada diagram dijelaskan pada langkah berikutnya).

Skrip Python yang kami dapatkan adalah sebagai berikut (harap dicatat ini adalah Instruksi untuk keseluruhan proyek, saya tidak cukup tahu untuk menjelaskan kodenya. Saya menggabungkannya dari berbagai tutorial lain untuk fungsi yang berbeda):

waktu imporimpor os impor RPi. GPIO sebagai GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup(ledPin, GPIO. OUT) GPIO.setup(buttonPin, GPIO. IN, pull_up_down =GPIO. PUD_UP)

beralih = Salah

def start_darkice():

print('memanggil subproses') #result = subprocess.call('sh screen -S darkice -d -m darkice') os.system('screen -S darkice -d -m darkice') print('melanjutkan') def stop_darkice(): os.system('screen -X -S darkice quit')

sementara Benar:

buttonState = GPIO.input(buttonPin) if buttonState == True: jika tidak toggle: toggle = True print('menghidupkan darkice') start_darkice() #print ('BUTTON STATE TRUE') GPIO.output(ledPin, GPIO. HIGH)

lain:

if toggle: toggle = False print('stopping darkice') stop_darkice() #print ('BUTTON STATE FALSE') GPIO.output(ledPin, GPIO. LOW) time.sleep(1)

File py dilampirkan ke Instructible ini, Anda bisa mengunduhnya dan ikuti Langkah 5 jika Anda mau.

Langkah 4: Tombol Shutdown Aman dan LED Aktivitas

Tombol Shutdown Aman dan LED Aktivitas
Tombol Shutdown Aman dan LED Aktivitas

Hanya untuk keamanan dan untuk memperpanjang umur Pi, saya menambahkan tombol shutdown yang aman dan LED aktivitas eksternal sehingga orang tahu kapan saat yang aman untuk mencabut kotak. Saya dengan mudah menemukan tutorial untuk keduanya, tetapi saya memperhatikan bahwa Raspberry Pi 3 B+ memiliki pin GPIO LED ACT sementara model sebelumnya tidak dan itu bisa menjadi masalah jika Anda memiliki Pi yang lebih lama.

Pasang terminal positif LED ke GPIO13 dan negatif ke GPIO26. Agar LED ACT berfungsi, Anda perlu mengedit file config.txt di direktori BOOT. Anda dapat menemukan ini di browser Raspbian atau dengan:

sudo nano /usr/boot/config.txt

Saat Anda mengedit file cukup tambahkan baris berikut:

# Gunakan LED eksternal sebagai LED SD ACT dtoverlay=pi3-act-led, gpio=19

Sekarang LED eksternal akan berkedip dengan aktivitas kartu SD.

Pasang terminal sakelar tekan ke GPIO3 dan GPIO8. Saya menemukan kode berikut dari tutorial dan berfungsi dengan baik:

waktu impordari gpozero tombol impor dari subproses impor check_call dari jeda impor sinyal

matikan def():

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

shutdown_btn = Tombol(2, hold_time=1)

shutdown_btn.when_held = shutdown

berhenti sebentar()

waktu.tidur(1)

File py ini juga dilampirkan untuk Anda unduh jika Anda mau. Tombol saya harus ditahan selama 1 detik, jika Anda ingin mengubahnya, ubah nilai 'hold-time='.

Langkah 5: Buat Skrip Python Dijalankan Dari Boot

Sekali lagi, ada banyak tutorial tentang hal ini, saya menggunakan yang ini dari Dexter Industries dan mengikuti langkah pertama dengan mengedit file rc.local.

sudo nano /etc/rc.local

Di sini Anda perlu menambahkan path file lengkap ke akhir dokumen, lengkap dengan '&' di akhir setiap baris. Anda harus menambahkan satu baris untuk setiap file:

sudo python /home/pi/YOURFILENAME, py &

sudo python /home/pi/YOURFILENAME2.py &

tepat sebelum garis

keluar 0

Tanda '&' di akhir setiap baris penting untuk memastikan program berulang.

Langkah 6: Bangun Kotak

Bangun Kotak
Bangun Kotak
Bangun Kotak
Bangun Kotak
Bangun Kotak
Bangun Kotak

Ini sepenuhnya terserah Anda. Itu benar-benar hanya perlu ukuran Pi, tetapi saya menempatkan kompresor di pengaturan saya untuk menjaga aliran radio pada tingkat yang cukup konsisten sehingga kotaknya sedikit lebih besar. Milik saya memiliki lubang di bagian depan untuk tanda On-Air dan satu untuk Tombol Merah Besar, ditambah saya membuat kartu instruksi kecil untuk DJ dan memasangnya di bawah tombol. Di sisi kotak ada lubang untuk tombol tekan, LED ACT dan input audio, ditambah instruksi bertatahkan untuk staf bar tentang cara mematikan kotak dengan aman.

Langkah 7: Instalasi

Instalasi
Instalasi
Instalasi
Instalasi
Instalasi
Instalasi
Instalasi
Instalasi

Perbaiki semua komponen terpisah ke dalam kotak Anda, ingatlah selalu baik untuk memungkinkan sirkulasi udara di sekitar Pi untuk mencegah panas berlebih. Pasang kabel audio dari mixer Anda, tekan tombol dan nikmati siaran!

Direkomendasikan: