
Seperti yang Anda tahu, tidak ada batasan untuk kesempurnaan. Bahkan untuk akustik portabel buatan sendiri, yang pemirsa penggunanya hanya mencakup satu orang. Orang yang sangat menuntut dan terkadang orang yang keras kepala. Setelah
posting pertama tentang Pi-Sonos dirilis, hampir 5 bulan berlalu. Selama ini, perangkat lunak di dalam akustik ini berhasil berubah secara dramatis dua kali. Alasan untuk perubahan adalah nasihat yang bermanfaat dari Habrachian dan UX mereka sendiri.
Sedikit sejarah bagi mereka yang terlalu malas untuk membaca atau yang sudah melupakan artikel pertamaPi-Sonos adalah akustik kompak buatan rumah, yang penciptaannya terinspirasi oleh Sonos Play 1. Tujuan akustik ini adalah, pertama-tama, untuk memainkan musik dari stasiun radio Internet. Saat membuatnya, saya menempatkan minimalis dan kenyamanan di barisan terdepan: Saya menyambungkannya ke outlet listrik, dan kemudian, di mana saja di rumah, mengontrol musik dari smartphone / komputer / tablet Anda.
Tentang apa artikel iniPertama-tama, tentang ketekunan dan keingintahuan dalam perjalanan menuju ideal. Di bawah potongan,
nama pengguna , tidak akan ada solusi untuk masalah global, atau deskripsi teknologi unik baru. Artikel ini hanya menetapkan perbandingan pusat media populer untuk Raspberry Pi, mengungkapkan kekuatan dan kelemahan mereka, serta visi pribadi saya tentang kerangka kerja optimal untuk radio Internet. Bahkan, ketika mengembangkan perangkat lunak saya sendiri untuk pengeras suara, saya hanya mengulangi sebagian jalan para pencipta Volumio, hanya menyadari dari awal salah satu fungsinya (baca: "menciptakan sepeda lain").
Terlepas dari kenyataan bahwa artikel tersebut membahas topik pengembangan perangkat lunak, tidak ada kode di dalamnya, karena tujuan artikel ini adalah untuk menggambarkan ide dan fungsionalitas, dan bukan proses pelaksanaannya. Jika topik kode ini menarik bagi penduduk, saya akan mencoba untuk menguasai artikel terpisah yang menjelaskan proses pengembangan.
Awalnya, perangkat lunak isian untuk akustik adalah
OSMC , tetapi orang-orang bijak dalam komentar menarik perhatian pada fakta bahwa Kodi (alias OSMC) terlalu berani sebagai "otak" untuk stasiun radio Internet. Dia terlalu pintar dan besar, hanya untuk proyek audio
Volumio lebih baik. Sebenarnya, ternyata seperti itu. Volumio lebih ringan, dipertajam oleh antarmuka web dan memiliki API yang lebih canggih dan mudah dikembangkan. Selain itu, kabel HDMI tidak perlu mencuat dari belakang, karena Volumio sepenuhnya dapat disesuaikan di semua browser.
Namun, Volumio juga menunjukkan beberapa kekurangan penting yang mendorong saya untuk melakukan penelitian lebih lanjut. Ini, pertama, waktu pengunduhan, dan kedua, kurangnya bermain otomatis. Setelah mempelajari
dokumentasi resmi (yang dapat dipahami bahwa Volumio adalah add-on di mpd (Music Player Daemon)), saya memutuskan sudah waktunya untuk menulis pembungkus saya sendiri yang disebut RPi-Radio di js yang akan menyelesaikan masalah ini. Bagian servernya berjalan di Node.js, dan bagian klien (GUI) menggunakan React.js telah siap sejak OSMC, hanya perlu di-tweak. Jadi itu terlihat di layar smartphone sekarang:
Di bawah ini adalah piring yang jelas menunjukkan kelemahan dan kelebihan masing-masing kerangka kerja.
Kriteria | OSMC | Volumio | RPi-Radio |
---|
Memuat waktu | 35 detik | 45 detik | 20 detik |
Putar Otomatis Startup | tidak * | tidak * | iya |
Jumlah kaset dari layar utama GUI "asli" pada telepon pintar untuk memilih stasiun radio dari daftar Favorit ** | 5 + 1 gulir | 4 | 1 |
Kebutuhan akan monitor, keyboard, dan mouse *** | iya | tidak | tidak |
Manajemen web | sebagian | lengkap | sebagian |
Mengedit Daftar Stasiun | begitu-begitu | norma-norma | begitu-begitu |
Pengaturan awal yang mudah | begitu-begitu | bagus | biasa-biasa saja |
Integrasi dengan GUI ponsel cerdas saya | dengan kruk | dengan kruk | di luar kotak |
Kenyamanan penggunaan sehari-hari | β | ββ | βββ |
* sebenarnya ya, tetapi Anda harus membuat tongkat penyangga dari raspbian startup-nya; dalam kasus OSMC, kruk ditulis dengan python, dan dalam kasus Volumio, dalam js atau bash. Tetapi dalam kedua kasus, itu masih tidak berfungsi seperti yang kita inginkan.
** untuk OSMC dan Volumio, ini adalah parameter yang sangat penting, karena semua tap-scroll ini harus dilakukan setiap kali Anda menghidupkan kolom. Untuk RPi-Radio, parameter ini, meskipun minimal, masih tidak begitu penting, karena kolom mulai diputar sendiri saat dihidupkan.
*** Maksud
saya koneksi fisik monitor, keyboard, dan mouse ke Raspberry Pi itu sendiri, mis. kasus-kasus di mana tidak ada cara untuk menyiasati antarmuka web bawaan atau koneksi ssh.
Di bawah spoiler ini adalah penjelasan rinci tentang masing-masing poin perbandingan.Waktu boot 20 detik, menurut saya, minimum yang dapat dicapai tanpa terjun ke alam liar mengoptimalkan Raspbian untuk proyek ini. Itu adalah berapa banyak waktu yang diperlukan untuk Malinka untuk memuat OS dan memulai layanan mpd. Mungkin, hasil ini dapat ditingkatkan jika Anda mengganti microSDHC dengan microSDXC dengan kecepatan baca / tulis yang lebih tinggi (saya akan memeriksa jika mungkin). Yang mengejutkan, Volumio, yang berpura-pura ringan dan gesit, butuh waktu lebih lama untuk memuat daripada pemanen monster OSMC. 45 detik menunggu berada di luar ambang batas operasi yang nyaman, dan ini adalah alasan utama untuk meninggalkan Volumio.
Autoplay hadir di mpd di luar kotak, saya tidak perlu melakukan apa pun untuk mengaktifkannya - dengan mudah! Di Volumio, meskipun ini adalah pembungkus mpd, fungsi ini dicekik demi suara ucapan yang indah. Seperti yang sudah saya tulis, Anda dapat membuat skrip dan meletakkannya di startup. Situasi serupa untuk OSMC.
OSMC memiliki sebagian besar interaksi pengguna melalui monitor: ada antarmuka yang indah, kemampuan untuk menonton video, gambar, membaca berita dan menonton cuaca - ada banyak hal yang kolom saya tidak akan pernah lakukan dalam hidup saya.
Tetapi manajemen web OSMC sangat terbatas, dan Anda bahkan tidak dapat mengkonfigurasi daftar stasiun favorit Anda dari plugin Radio - hanya melalui monitor. Di Volumio - sebaliknya, semuanya hanya melalui antarmuka web. Mengedit daftar stasiun paling nyaman di browser di desktop / laptop, tetapi juga dimungkinkan pada smartphone jika diinginkan. Dengan RPi-Radio, Anda hanya dapat memilih stasiun dan menyesuaikan suara melalui antarmuka web. Daftar stasiun, dan memang semuanya harus dilakukan melalui konsol via ssh. Daftar stasiun adalah yang paling sulit: jika OSMC dan Volumio memiliki perpustakaan sendiri stasiun radio Internet yang luas, maka di RPi-Radio saya harus memasukkan alamat stasiun favorit saya secara manual dalam format JSON. Tidak nyaman, tetapi hanya satu (atau beberapa) kali seumur hidup.
Dengan pengaturan awal, OSMC adalah yang terburuk. Pertama, Anda perlu menghubungkan monitor ke "raspberry" dan mengkonfigurasi plugin Radio, kemudian Anda perlu mengkonfigurasi output suara ke DAC IQAudio eksternal (sama seperti yang ada pada papan Suptronics X400) melalui konsol atau melalui ssh. RPi-Radio memiliki pengaturan DAC yang sama, tetapi setidaknya semuanya dilakukan melalui ssh juga. Pemimpin dalam kategori ini, tentu saja, adalah Volumio - untuk mengeluarkan suara melalui DAC eksternal, Anda hanya perlu memilih item yang sesuai dari daftar drop-down di menu pengaturan. Ada perbandingan bahkan di situs web resmi Suptronics (http://www.suptronics.com/xseries/x400.html)
GUI di RPi-Radio adalah halaman web sederhana yang diimplementasikan pada React.js. Bagian server, yang bertanggung jawab untuk interaksi antara GUI dan mpd klien, berjalan pada Node.js dan merupakan server HTTP dan WebSocket sederhana berdasarkan koneksi express
Socket.io
+ http
+. Ini berjalan pada Raspbian sebagai layanan ketika sistem dihidupkan segera setelah layanan mpd dimulai dan menggunakan modul mpc-js
untuk mengontrol mpd. GUI klien dapat diakses oleh browser apa pun di jaringan rumah saya hanya dengan ip atau nama host "raspberry". Sempurna
Sumber RPi-Radio diterbitkan di
Github . Di repositori yang sama, di brunch yang sesuai, Anda bisa menemukan kedua adaptasi GUI untuk bekerja dengan OSMC dan Volumio.
Hasil latihan saya, RPi-Radio, berada di luar cakupan penambahan sederhana ke satu kolom. Ini adalah semacam solusi siap pakai yang mengubah tidak hanya Raspberry Pi menjadi penerima radio Internet, tetapi juga setiap perangkat dengan output audio, akses Internet dan kemampuan untuk menjalankan mpd dan Node.js. Keuntungan utama dari sistem seperti itu adalah kurangnya semua yang berlebihan. Sebenarnya, seperti yang dilakukan di Sonos, dalam cita-cita yang saya perjuangkan.