Daftar Isi:

Raspberry Pi Audio Dac-Amp-Streamer: 14 Langkah
Raspberry Pi Audio Dac-Amp-Streamer: 14 Langkah

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 Langkah

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 Langkah
Video: Build a Streamer or Dac 2024, November
Anonim
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer

Gunakan kembali topi suara Google AIY yang sudah ketinggalan zaman sebagai perangkat streaming audio stereo tanpa kepala khusus.

Sekarang kit suara Google AIY mendekati usia dua tahun, Anda mungkin telah menemukan kebaruan sedikit memudar. Atau, Anda mungkin bertanya-tanya apakah iklan browser Anda untuk festival renaisans terdekat ada hubungannya dengan pertanyaan yang Anda ajukan tentang di mana Anda dapat menemukan harga yang bagus untuk sepatu lari under armor.

Jika Anda sudah memilikinya, proyek ini akan menunjukkan kepada Anda cara mengambil kit suara Google AIY yang ada, dan menggunakannya kembali sebagai streamer audio tanpa kepala khusus. Jika Anda belum memiliki kit, dan Anda tinggal di dekat Micro Center; Anda beruntung - masih ada banyak, dan saya ragu mereka akan mendapatkan yang lebih murah daripada harga $5 saat ini. (sebenarnya, mereka adalah $3 per Juli 2019).

Proyek ini adalah tentang audio dan tidak ada hubungannya dengan AI. Kami akan bekerja pada sistem operasi yang benar-benar terpisah yang disimpan pada kartu micro sd terpisah, yang akan memungkinkan Anda untuk menjaga semua fungsi AI tidak tersentuh. Selanjutnya, kami akan meningkatkan pengalaman pengguna dengan memperkenalkan suara stereo (dengan harga beberapa dolar lebih) saat kami membangun perangkat streaming audio yang dapat diskalakan. Akhirnya, setelah menyelesaikan proyek ini, kami akan membiarkan topi suara tetap dalam keadaan siap untuk ekspansi di masa mendatang. Keterbatasan ekspansi hanya akan menjadi kreativitas kita.

Langkah 1: Pengadaan

Pengadaan
Pengadaan

Saya akan menulis instruksi ini dari perspektif bahwa Anda belum memiliki kit Google Voice. Jika Anda sudah memiliki pengaturan kit suara - item tambahan yang diperlukan ditandai dengan * di bawah ini. Juga, penawaran Raspberry Pi terbaru (Pi 3 A+) sangat cocok untuk proyek ini berdasarkan faktor bentuknya, dan saya sangat merekomendasikan untuk membelinya. Namun, Pi apa pun harus melakukannya selama itu akan mengakomodasi topi kit suara dan GPIO.

Bahan-bahan:

  • Raspberry Pi (merekomendasikan Pi 3 A +)
  • 5.25V 2.4 amp catu daya micro usb
  • Kartu Micro SD (tergantung pada ukuran koleksi musik Anda, 16gb seharusnya memadai)
  • Max98357A dac dan amp (dari Adafruit)*
  • Pembicara*(s). Kit ini dilengkapi dengan satu, namun untuk mendapatkan stereo kita memerlukan speaker tambahan. (juga Adafruit)
  • Perangkat Suara Google AIY
  • Tajuk – pita tunggal*
  • Kabel Pembicara*

Alat yang dibutuhkan: Besi solder, solder, obeng philips ukuran 00 atau 000. wire stripper, selotip atau selotip untuk mengamankan header sementara saat menyolder, adaptor USB ke micro SD.

Langkah 2: Pasang Perangkat Keras

Merakit Perangkat Keras
Merakit Perangkat Keras

Di luar kotak, topi suara tiba dalam mode mono. Untungnya, para insinyur di Google merancang papan untuk memungkinkan peningkatan ke stereo hanya dengan menambahkan papan Max98357a lain sebagai topi lain. Mereka bahkan menguraikan kotak itu untuk kami.

Anda dapat menebaknya: Kami akan membuat topi di atas topi. Perangkat keras di atas Perangkat keras sudah di atas.

Menggunakan header yang disediakan oleh chip set Adafruit Max98357a, kita mulai dengan menyolder header 7 pin ke topi suara tepat di bawah tulisan “AIY memproyeksikan Topi Suara”. Sepotong selotip yang ditempelkan pada pin jantan yang lebih panjang ke muka papan mungkin berguna untuk mencegah tajuk terlepas dari tempatnya karena kita akan mengerjakan papan dengan terbalik selama tahap penyolderan ini.

Juga solder dua pin di dalam kotak bergaris putih ke topi suara di mana papan max98357a biru akan duduk.

JANGAN SOLDER KONEKTOR SPEAKER KE PAPAN MAX98357a!

Hubungkan terminal speaker ke topi suara sebagai gantinya, sejajar langsung di bawah tempat kedua kutub baru saja disolder. Sambungan speaker kiri dan sambungan speaker kanan harus disejajarkan secara berdampingan, dalam satu baris dari empat terminal.

Balikkan papan dengan sisi kanan ke atas.

Solder jumper berlabel “JP4” ditutup dengan meninggalkan setetes solder pada jumper. Jangan lupa bagian ini atau kita tidak akan memiliki stereo!

Pasang papan max98357a biru dengan hati-hati ke pin jantan panjang yang menonjol dari topi suara. Ini agak sulit, jadi cobalah menyolder pin setegak mungkin ke papan. Dengan beberapa pertengkaran kecil dari header dua pin, saya dapat mencapai ini hanya dengan sedikit usaha.

Selesaikan penyolderan pin male ke chip max98357a biru – header tujuh pin dan header dua pin harus menahan max98357a dengan kuat di tempatnya.

Selesai dengan Solder!

Langkah 3: Lampirkan ke Pi dan Hubungkan Speaker Anda

Lampirkan ke Pi dan Hubungkan Speaker Anda
Lampirkan ke Pi dan Hubungkan Speaker Anda

Dengan menggunakan dua spacer nilon yang disertakan dengan kit, gabungkan kit suara wanita dengan hati-hati di atas header pria pada raspberry pi. Spacer nilon harus terpasang pada tempatnya sehingga Anda dapat memasangnya dengan aman di sudut yang berlawanan dari header.

Dengan menggunakan obeng kepala Philips kecil (000 atau 00), buka sekrup pada terminal speaker cukup untuk memungkinkan kabel speaker Anda masuk ke lubang kompresi. Anda tidak perlu melepas sekrup, tetapi cukup buka di tempat yang terasa longgar.

Masukkan kabel speaker pengukur kecil Anda ke dalam lubang dan kencangkan sekrup untuk menahan kabel speaker dengan kuat di tempatnya.

Saya menemukan langkah ini sebagai tantangan yang paling menakutkan dari keseluruhan proyek – saya tidak dapat menemukan obeng yang cukup kecil, atau kabel speaker saya yang tipis terlalu halus untuk menyerap kompresi sekrup dan lebih suka patah daripada menahannya. Saya membuat modifikasi dengan membuat "nibs" atau kabel yang lebih kecil yang cukup kuat untuk menahan kompresi, dan cukup lama untuk disolder ke ujung kabel speaker yang telanjang. Jelek, ya- tapi efektif.

Selesai dengan Perangkat Keras!

Langkah 4: Unduh Raspbian Lite

Unduh Raspbian Lite
Unduh Raspbian Lite
Unduh Raspbian Lite
Unduh Raspbian Lite

Banyak dari Anda sudah sangat akrab dengan proses mengunduh dan membakar gambar ke kartu SD, dan langkah-langkah selanjutnya sedikit di luar cakupan proyek ini. Saya akan menjelaskan langkah-langkah di bawah ini untuk berjaga-jaga, tetapi jika Anda masih terjebak, ada banyak sumber daya untuk membantu.

Suntingan Terakhir: Juni 2020 untuk Unduhan Buster Lite.

· Unduh dan instal Etcher oleh Balena Software

· Unduh OS Raspbian Lite terbaru dari raspberrypi.org

· Menggunakan Etcher, tulis Gambar Raspbian ke kartu SD

· Setelah selesai, kecuali menggunakan pi zero w - transfer SD Card yang baru dicitrakan ke Raspberry Pi kami. Jika Anda menggunakan pi zero w, kami perlu mengedit file WPA_Supplicant.conf di partisi boot untuk mengatur wifi Anda.

Langkah 5: Konfigurasi Pi

Konfigurasikan Pi
Konfigurasikan Pi

Dengan gambar kita yang baru dibuat, Mari kita nyalakan pi. Tapi pertama-tama mari kita pinjam monitor dan keyboard untuk membantu konfigurasi. Masukkan kartu micro sd, dan pasang kabel pengisian micro usb. Dengan keberuntungan, lampu led hijau akan berkedip beberapa kali saat boot. Boot pertama mungkin memakan waktu beberapa menit, tetapi dalam 5 menit kita harus siap untuk mengerjakan konfigurasi kita. Raspbian "Lite" tidak memiliki desktop.

Setelah di prompt perintah: login sebagai pi, kata sandi "raspberry".

· Akses panel konfigurasi dengan mengetikkan “sudo raspi-config” pada command prompt.

· Ubah kata sandi Anda segera.

· Atur wifi Anda menggunakan opsi jaringan pada panel konfigurasi

· Ubah opsi pelokalan Anda dan atur zona waktu Anda

· Aktifkan SSH menggunakan opsi panel antarmuka

· Jalankan “sudo apt-get update” untuk memperbarui perangkat lunak Anda ke versi terbaru

Kami akan membutuhkan alamat IP dari Pi. Saya merekomendasikan aplikasi bernama "FING" yang dapat diunduh ke perangkat Android apa pun dan itu akan mencantumkan semua perangkat yang terhubung ke jaringan Anda. Kami akan mencari perangkat yang disebut "raspberrypi". Tulis alamat ipnya.

Mulai saat ini, kita tidak lagi memerlukan monitor atau keyboard. Semua konfigurasi lebih lanjut akan dilakukan menggunakan baris perintah melalui sesi SSH.

Langkah 6: Gunakan SSH untuk Membuka Sesi di Mesin Jarak Jauh

Menggunakan SSH cukup mendasar. Buka jendela terminal dari perangkat apa pun di jaringan Anda, dan ketik perintah

ssh pi@myipaddress

Ganti "myipaddress" dengan nilai numerik yang diperoleh menggunakan fing.

Untuk pertama kalinya, Anda mungkin akan disambut dengan peringatan menakutkan yang menunjukkan bahwa Anda tidak ada dalam daftar yang diundang, namun ada kalimat yang seharusnya berbunyi "untuk menghapus ini …" salin string karakter yang panjang, dan tempel ke perintah cepat, tekan enter. Kemudian menggunakan tombol panah atas, ulangi perintah ssh pi@myipaddress, pilih ya, dan sekarang masukkan kata sandi Anda. Selamat!, Anda sekarang terhubung ke perangkat Anda jika Anda melihat prompt perintah "pi@raspberrypi: ~ $".

Langkah 7: Instal Mopidy

Instal Mopidy
Instal Mopidy

Kami akan menginstal Mopidy sebagai server musik kami. Ada banyak pilihan di sini, tetapi saya akan menunjukkan cara memasang ekstensi yang disebut "Kotak Musik" yang memungkinkan Anda mengontrol musik dari antarmuka web alih-alih dari prompt perintah.

Apa itu Mopidy? Menurut situs webnya, Mopidy adalah rangkaian kata-kata besar yang membuat saya merasa sangat rendah diri saat ini, tetapi anggap saja Mopidy adalah platform tempat musik kami akan diputar. Ini akan menjadi server musik, MPD (daemon pemutar musik), dan server web. Addon PiMusic Box akan menawarkan situs web tempat kami dapat menavigasi dan mengontrol Mopidy. Saya pikir karena itu bermain bagus dengan banyak layanan populer seperti Spotify atau Google Play Music, itu akan cocok untuk instruksi ini. Ditambah itu keren.

Di bawah ini adalah instruksi yang disalin tanpa malu-malu dari Mopidy untuk menginstal dari baris perintah:

1. Tambahkan kunci GPG arsip:

sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key tambahkan -

2. Tambahkan repo APT ke sumber paket Anda:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

Akhirnya instal mopidy:

sudo apt-get update

sudo apt-get install mopidy

Akhiri salinan tak tahu malu.

Langkah 8: Gunakan Python Pip untuk Menginstal Lainnya… Instalasi (ekstensi)

Kami baru saja menginstal vanilla Mopidy biasa, tetapi kami baru saja memulai. Ekstensi akan menjadi blok bangunan kami untuk menambahkan penyesuaian ke Mopidy vanilla polos kami. Karena sebagian besar ekstensi yang akan kami tempelkan ke mopidy dasar ditulis dengan python, kami akan menggunakan apt yang setara dengan python khusus.

Sebelum kita mulai menggunakan pip, pertama-tama pastikan kita memiliki semua plugin gstreamer menggunakan apt:

sudo apt instal

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / gstreamer1.0-alat

Ini mungkin memakan waktu beberapa menit untuk menginstal. Tanpa Gstreamer, Anda mungkin tidak dapat melakukan streaming musik.

Dan sekarang kita dapat menginstal python pip:

sudo apt install build-essential python3-dev python3-pip

Sekarang kita dapat menggunakan pip untuk menambahkan lebih banyak nugget mopidy. Pip adalah alat python, mirip dengan apt, tetapi saya merasa ini bekerja sedikit lebih cepat daripada apt. Agak lambat di luar blok, tetapi tendangannya cukup cepat.

Di bawah ini adalah empat untuk kita mulai:

Ujung depan web. Mari kita gunakan Iris, tetapi jika mau, Anda dapat mencoba mopidy-musicbox-webclient sebagai gantinya:

sudo python3 -m pip install Mopidy-Iris

Hub stasiun radio internet dengan 30 saluran:

sudo python3 -m pip install mopidy-somafm

Pusat layanan radio Internet lainnya dengan lebih banyak saluran:

sudo python3 -m pip install mopidy-TuneIn

Dan ujung depan lainnya untuk perangkat seluler. Stasiun Radio dan Iris tidak bermain bersama dengan baik, tetapi seluler memiliki semua jenis stasiun jatah internet untuk didengarkan:

sudo python3 -m pip install Mopidy-Mobile

Setelah selesai, Anda seharusnya dapat mengakses Kotak Musik menggunakan:

myipaddress:6680/iris/ -atau-

Kami masih belum memiliki apa pun yang keluar dari speaker jika Anda mencoba memutar musik.

Untuk daftar fitur dan ekstensi lainnya: Bantu diri Anda sendiri:

sudo pip pencarian mopidy

Dari sini, Anda dapat terus menambahkan ekstensi sesuai pilihan Anda.

Saya memiliki contoh file konfigurasi mopidy terlampir. Jangan ragu untuk menggunakan konten di /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Langkah 9: Siapkan Mopidy Sebagai Layanan

Siapkan Mopidy Sebagai Layanan
Siapkan Mopidy Sebagai Layanan

Karena kita ingin menjalankan mopidy saat startup, dua perintah akan memungkinkan mopidy berjalan saat boot:

sudo systemctl aktifkan mopidy

sudo dpkg-konfigurasi ulang mopidy

Nyalakan ulang, lalu jalankan

sudo systemctl status mopidy – l

untuk memeriksa status Anda. Anda akan melihat indikator hijau. Mopidy memiliki situs dukungan yang sangat berguna untuk membantu dengan opsi konfigurasi lebih lanjut. Lihat situs Dokumentasi Mopidy untuk lebih jelasnya.

Langkah 10: Tambahkan Musik Anda Sendiri

Tambahkan Musik Anda Sendiri
Tambahkan Musik Anda Sendiri

Secara default, mopidy ingin menyimpan musik lokal di folder di bawah /var/lib/mopidy/media. Salin koleksi musik Anda di sana. Saya merasa paling mudah untuk mengeluarkan kartu sd dari pi (setelah shutdown yang aman), dan menggunakan adaptor micro sd ke usb, pasang adaptor ke unit penyimpanan Anda dan salin/tempel di sana. (Ini mungkin memakan waktu cukup lama tergantung pada ukuran koleksi Anda). Setelah selesai, kembalikan kartu sd ke pi, boot, sambungkan kembali, lalu ketik:

Sudo mopidyctl pemindaian lokal

Ini akan menambahkan musik Anda ke perpustakaan media lokal di Kotak Musik. Anda mungkin melihat file.wma tidak dikenali sebagai audio, dan file.ogg sepertinya terlewatkan selama pemindaian. File Mp3 seharusnya tidak menjadi masalah.

Langkah 11: File Konfigurasi Kartu Suara - Asound.conf

Anda seharusnya belum memiliki apa pun di /etc/asound.conf, tetapi jika Anda memilikinya, ganti konten dengan yang di bawah ini, atau buat dengan menggunakan:

sudo nano /etc/asound.conf

dan tempel:

opsi snd_rpi_googlehat_soundcard index=0

pcm.softvol { ketik softvol slave.pcm dmix control { nama Master card 0 } } pcm.!default { ketik asym playback.pcm "plug:softvol" } ctl.!default { ketik hw card 0 }

ctrl-x dan Y untuk menyimpan di atas sebagai file asound.conf baru Anda.

Langkah 12: Pastikan Kami Menggunakan Overlay yang Benar untuk Configure.txt di /boot

Tipe

sudo nano /boot/config.txt

Beberapa baris terakhir harus menyerupai sesuatu yang mirip dengan di bawah ini. Kami ingin memastikan audio standar dikomentari, bersama dengan overlay sebelumnya seperti hifiberry dac saya, sambil menerapkan overlay topi suara google. Akhirnya, kami ingin menginstruksikan pi untuk menggunakan pemetaan i2s. Indikator # memberi tahu sistem untuk mengabaikan saluran.

# Aktifkan audio (memuat snd_bcm2835)

#dtparam=audio=di #dtoverlay=hifiberry-dac dtoverlay=googlevoicehat-soundcard dtoverlay=i2s-mmap

reboot jika semua terlihat mirip dengan di atas. Tunggu beberapa menit, buka browser ke url kotak musik, dan putar musik.

Langkah 13: Nikmati Musiknya

Jika Anda mendengarkan kebaikan stereo, misi tercapai!

Salah satu hal indah tentang menggunakan raspberry pi sebagai server musik tanpa kepala yang terhubung ke wifi adalah bahwa itu berjalan tanpa menghabiskan banyak sumber daya. Benar, kami hanya mengeluarkan 3 watt per saluran, tetapi itu mungkin cukup untuk mendengarkan jarak dekat. Baterai ponsel Anda akan berterima kasih.

Ada juga faktor hijau yang sangat signifikan – kita hanya menghirup energi 5,25 volt. Dan dibandingkan dengan Bluetooth, kita dapat mengatur aliran radio dan tidak ditambatkan ke jangkauan bluetooth 30 kaki. Berkenaan dengan ponsel, kita dapat menerima panggilan, bermain game, dan menjelajah sedikit lebih bebas tanpa mengganggu aliran musik. Kami hanya menggores permukaan. Ada banyak ekstensi mopidy yang tersedia untuk dijelajahi, dan mopidy memiliki basis pengembang yang berkembang karena bersifat open source. Saya akan membiarkan Anda menjelajahi fitur yang Anda minati sendiri.

Langkah 14: Kesimpulan

Kesimpulan
Kesimpulan

Salah satu fitur paling menonjol dari proyek ini adalah kami tidak membatasi pi kami dengan mengunci akses ke GPIO. Ini memungkinkan kami mengakses banyak opsi lebih lanjut karena topi suara dirancang dengan baik. Misalnya, proyek saya berikutnya adalah menambahkan sakelar tombol tekan sesaat sebagai tombol mati. Seharusnya mudah, dan saya sudah tahu di mana pin harus mendarat: Mereka tidak terhalang. Dari sana? Nah, untuk proyek ini kita benar-benar mengabaikan mikrofon – mungkin karaoke pi? Mungkin pertunjukan lampu LED, atau menambahkan motor untuk jukebox bergulir? Semua pin masih tersedia dan dapat diakses. Pertanyaannya menjadi mengapa tidak? Dan kalau-kalau Anda ingin kembali ke AI, cukup masukkan kartu sd lama dan minta google merespons dalam stereo.

Direkomendasikan: