Привет!

Понадобилась мне недавно передача звука на аудиосистему через малинку, хочу поделиться опытом по настройке.

Шаг 0. Подготовка

Нам нужно:

  • Прямые руки;
  • Raspberry Pi(Если Raspberry Pi без wi-fi или bluetooth докупаем нужное);
  • 5V 2A зарядное устройство для питания Raspberry Pi;
  • SD-карта на 8Гб минимум.

Шаг 1. Установка

1. Идём в раздел загрузок на сайте малинки и скачиваем Raspbian(Не Lite)

2. Распаковываем архив

3. Отформатировать SD-карту:

  • Удалить все разделы(Mac — Дисковая утилита, Windows — Создание и форматирование, Linux — gparted);
  • Создать 1 основной раздел.

4.1 Записываем на флешку(Windows):

  • Скачиваем программу Win32DiskImager;
  • Открываем образ Raspbian в Win32DiskImager;
  • Выбираем букву носителя;
  • Нажимаем Write.

4.2 Записываем на флешку(Mac/Linux):

  • Скачиваем программу Etcher;
  • Открываем образ Raspbian в Etcher;
  • Выбираем носитель;
  • Нажимаем Flash.

5. Вытаскиваем и вставляем SD-карту в компьютер и открываем единственный раздел(должен называтся BOOT). Создаём там файл ssh.

6. Вставляем SD-карту в Raspberry Pi

Шаг 2. Настройка

1. Узнаем IP-адрес нашего Raspberry Pi

2. Подключаемся к нему по SSH. Я предпочитаю PuTTY

3. Логинимся, логин: pi, пароль: raspberry

4. Прописываем в консоль вот это

sudo apt-get upgrade

sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2 bluez-tools

sudo usermod -a -G lp имяпользователя(если не меняли - pi)

5. Прописываем вот это

sudo nano /etc/bluetooth/audio.conf

и попадаем в текстовый редактор. Под надписью [General] добавляем вот это

Enable=Source,Sink,Media,Socket

Жмякаем Ctrl+O, Ctrl+X.

6. Далее прописываем:

sudo nano /etc/pulse/daemon.conf

здесь ищем строку «resample-method = speex-float-3». Если в начале этой строки не стоит; — добавляем его.

После этого вписываем

 resample-method = trivial

Снова тыкаем Ctrl+O Ctrl+X

7. И снова прописываем:

sudo nano /etc/bluetooth/main.conf

Тут можем изменить имя устройства на любое другое путём редактирования строки «Name» если перед этой строкой стоит # убираем её и редактируем имя на которое хотим, выглядеть должно примерно вот так "Name=ТутИмяНаАнглийском".

Дальше ищем строку "Class" и если перед ней стоит # убираем, делаем чтобы было вот так

Class=0x20041C

8. Автозапуск

1. Создайте в /etc/init.d/ файл OnBluetooth(sudo nano /etc/init.d/OnBluetooth). В него
впишите это:


#!/bin/bash

#Start systemctl service
sudo systemctl start bluetooth

sleep 1

#Start bluetoothctl with discoverable and pairable options
echo -e 'power on\ndiscoverable on\npairable on \t \nquit' | bluetoothctl

2. Напишите в коносль

 chmod 755 /etc/init.d/OnBluetooth

3. Напишите в консоль

 update-rc.d OnBluetooth enable

9. Выбираем куда будет выводится аудио. Для этого прописываем sudo raspi-config, там переходим в Advanced дальше Sound и выбираем какой нам надо. После этого жмём finish. Готово!

Шаг 3. Подключение

Подключение по bluetooth работает уже сразу, теперь пришло время настроить подключение по интернету.

Для Windows:

? Скачиваем и распаковываем архив в удобное нам место
? Редактируем файл audio.bat:

  1. Ваш_IP меняем на ip вашей малинки
  2. Имя_Пользователя меняем на логин от raspberry pi
  3. Пароль меняем на пароль от логина raspberry pi

? Запускаем

Шаг 4. Проверка.

  • Включаем Raspberry PI
  • Подключаем нашу аудиосистему или наушники к порту который мы выбрали в raspi-config.
  • Включаем bluetooth на телефоне или открываем файл на компьютере
  • Включаем музыку
  • Радуемся

Заключение


Надеюсь что хоть кому-то эта статья была полезной. Спасибо за внимание.

Комментарии (23)


  1. Aquahawk
    23.10.2018 17:32
    +2

    Всё отлично, только происхождение вот этих файлов стоит пояснить. Что это, как работает. А вообще тема огонь, запилить воспроизведение звука по wifi с ноута. Ну и вопрос с кодеками конечно остаётся, какие лучше, для чего и т.д.


  1. lopatoid
    23.10.2018 18:16
    +3

    Etcher есть и под Windows. Etcher умеет сразу работать с архивами, распаковывать не надо. Непонятно, зачем форматировать SD-карту, если образ всё равно это форматирование перезапишет.
    Короче, в шаге 1 пункты 2-4 можно было сократить до одного.


    1. r00tGER
      24.10.2018 08:51

      В !windows есть dd.
      Проще один раз разобраться и забыть о всяких гуевых обертках.


      1. lopatoid
        24.10.2018 08:56
        -1

        Вот только с помощью dd, если опечататься, можно диск вместо sd карточки затереть. Так что даже разобравшись с dd, лучше всё равно использовать Etcher.


        1. r00tGER
          24.10.2018 09:27
          +1

          Правильно! Тогда и на сервера лучше иксы с кедами накатить ради этчера )))


          1. lopatoid
            24.10.2018 10:07
            +2

            На сервере обычно не возникает надобности записать образ на флешку.


  1. 4lex
    23.10.2018 18:52

    Я просто в восторге от этого эффекта хабра!
    Последние 2-3 дня хожу с мыслью сделать себе звук по «воздуху», сперва хотел сделать на Raspberry, но потом лень взяла свое и остановился на обычном bluetooth ресивере.
    Но теперь только Raspberry с куртизанками и преферансом!
    По сути хотелось бы еще вот это добавить: airplay


    1. eri
      23.10.2018 20:03

      Пульсаудио вроде может быть аирплэй приемником. Только включить


    1. mavrikk
      24.10.2018 08:25

      А если добавить snapcast, то получится полноценная мультирум система


    1. sasha817
      24.10.2018 11:19
      +1

      Вовсе ленивый вариант — Volumio.org. Использовал с бутербродом raspberry pi 2 + hifiberry DAC Pro, а дальше уже было на домашнее аудио. Кстати, с эйрплеем. Воспроизведение flac'ов с nas'а с управлением с телефона, правда, стало основным предназначением.


  1. eri
    23.10.2018 20:02

    А по блютусу можно сделать приём звука с нескольких устройств одновременно?


  1. VEnis
    23.10.2018 23:16

    Что люди не делают лишь бы не погуглить :)
    Один из примеров что доводилось использовать — www.pimusicbox.com

    • headless
    • с web gui если надо
    • виден как dlna/airplay и т.д.
    • вывод звука куда угодно (встроенное аудио, usb audio, какой-нибудь amplify shield типа www.justboom.co/product/justboom-amp-hat


    1. Mogwaika
      24.10.2018 00:54

      spdif?


      1. VEnis
        24.10.2018 01:09

        Для него надо что-то типа www.justboom.co/product/justboom-digi-hat но в целом да


  1. Daniyar94
    24.10.2018 01:05

    Было бы лучше пояснить каждый шаг, чем просто просить копипастить.


    Почему init.d вместо systemctl? Малинка давно поддерживает.


    Для владельцев Apple продукции, есть shairport-sync. Легко настраивается и довольно стабильно уже год.


  1. DartRaven
    24.10.2018 14:33

    Помнится, у меня при попытке такой настройки на 3-ей малине (но еще не B+) возникла проблема с тем, что банально не хватало пропускной способности на работу одновременно с WiFi. В итоге плюнул на это дело, хотя хотелось бы получить более-менее приличный аудиосервер. Кстати, а работу multipoint докрутили? У меня, насколько я помню, не работало почти никак.


  1. mazy
    24.10.2018 15:26

    Зачем так сложно? Купил недавно
    www.ebay.com/itm/3-7V-5V-Mini-Bluetooth-4-1-Audio-Decoder-MP3-Receiver-Lossless-Amplifier-Module/323274236867

    Интегрировать в муз центр — дело 15 минут…


    1. hokum13
      24.10.2018 16:46

      «Потому что могу!»
      Ну и вообще всякие pi сейчас в моде.
      Еще малина может быть медиаприставкой, на которую опционально можно выводить звук с ноутбука или телефона на мощные колонки без проводов…

      Прочитал заголовок статьи и подумал, что что-то подобное можно сотворить на pulseaudio и bluetooth — через час прочитал статью…


      1. mazy
        24.10.2018 20:04

        «Почему кот лижет яйца? — Потому что может!»
        «Наши люди в булочную на такси не ездят »


  1. DartRaven
    24.10.2018 21:28

    Кстати, ещё вопрос: а по проводной сети звук гоняется нормально, там узких мест не возникает?


    1. localChicken Автор
      25.10.2018 14:04

      у меня не возникало проблем, всё работает отлично, можно одновременно с нескольких компьютеров запустить клиент и передавать


      1. hokum13
        25.10.2018 14:14

        А схема, я так понимаю 2.0? 5.1 передавать не пробовали?


        1. localChicken Автор
          25.10.2018 14:48

          Да, 2:0, для 5:1 нужно докупать дополнительную звуковую карту для малинки