P.S. Статья для тех у кого есть домашний сервер / ненужный ноутбук и т.д.
Как это работает?
VM с raspotify держит постоянное подключение по bluetooth с Яндекс Станцией, а вы можете в любой момент переключится на станцию в spotify connect.
Мой стенд
Домашний сервер с PROXMOX на котором я создал VM и прокинул bluetooth адаптер.
Характеристики VM:
Система | Ubuntu server 24.04.4 LTS (amd64) minimal |
Ресурсы | 1vCPU / 1Gb RAM / 10Gb ROM |
Адаптер BT | Какой-то китаец на CSR8510 A10 |
Установка и настройка
Вы всегда можете перейти на страницу проекта и использовать оффициальную инструкцию вместо этой.
Копируем и вставляем в терминал VM:
sudo apt update -y && sudo apt install bluez bluez-alsa-utils curl nano && curl -sL https://dtcooper.github.io/raspotify/install.sh | shТеперь нужно найти нашу станцию и подключить её. Для этого используем команды:
bluetoothctl
scanon - включает сканирование устройств (в этот момент говорим "Алиса, включи bluetooth")
scanoff - выключает сканирование (вводим после того, как увидели станцию и её MAC)
trust MAC - добавляет устройство по MAC в доверенные
connect MAC - подключает устройство по MAC ("Connection successful" - вы сделали всё правильно)
quit - закрывает bluetoothctlВезде где есть MAC - меняем на MAC станции.
Далее проверяем, что alsa видит наше устройство:
bluealsa-aplay -LОтвет должен быть следующим:
bluealsa:DEV=MAC,PROFILE=a2dp,SRV=org.bluealsa
Яндекс Станция Макс, trusted audio-card, playback
A2DP (SBC): S16_LE 2 channels 48000 HzТеперь осталось прописать MAC в конфигах:
nano /etc/asound.confpcm.!default {
type plug
slave.pcm {
type bluealsa
device "MAC"
profile "a2dp"
}
}
ctl.!default {
type bluealsa
}Чтобы VM автоматически подключалась к колонке в случае перезапуска:
nano /etc/systemd/system/bt-autoconnect.service[Unit]
Description=Bluetooth Auto-Connect
After=bluetooth.service bluealsa.service
Requires=bluetooth.service bluealsa.service
[Service]
Type=oneshot
ExecStart=/usr/bin/bluetoothctl connect MAC
Restart=on-failure
RestartSec=5s
StartLimitIntervalSec=0
[Install]
WantedBy=multi-user.targetПробуем!
sudo systemctl daemon-reload && sudo systemctl enable --now bt-autoconnect.service && sudo systemctl restart raspotifyВы также можете изменить название устройства в spotify connect. Для этого открываем конфиг:
nano /etc/raspotify/confВ файле конфигурации ищем строку #LIBRESPOT_NAME и изменяем её на следующее (пример): LIBRESPOT_NAME="Яндекс Станция Макс (KVM)"
После этого перезагружаем сервис:
sudo systemctl restart raspotify