Вам понадобятся
- Звуковое Bluetooth устройство, например, наушники или колонки.
- Подключенная к WiFi сети плата Intel Edison. (Смотрите Step 3: Get your Board Online).
- Компьютер с музыкальными wav файлами, расположенный в нашей сетке.
- Установленное терминальное соединение с платой через последовательный порт (Смотрите Set Up WiFi – Intel Edison) или SSH.
Настройка
Включите ваше Bluetooth устройство и сделайте его видимым. Введите следующие команды в терминале:
rfkill unblock bluetooth bluetoothctl
Просканируйте доступные Bluetooth устройства:
scan on
Найдите ваше устройство и присоединитесь к нему (подставив его MAC адрес):
pair 00:25:DB:05:72:F2
Установите соединение, если необходимо:
connect 00:25:DB:05:72:F2
Закройте программу bluetoothctl:
quit
Проверьте, что ваше A2DP устройство (в нашем случае наушники LG) распознались в pulseaudio как sink-устройство и его имя начинается с bluez_sink
pactl list sinks
Сконфигурируйте дефолтный sink для использования в pulseaudio следующими командами, подставив параметры вашего устройства:
pactl set-default-sink bluez_sink.00_25_DB_05_72_F2
Скопируйте аудио файл в формате wav на плату Intel Edison, используя scp (Linux) или pscp.exe (Windows) и проиграйте его через mplayer:
gst-launch-1.0 filesrc location= /home/root/music.wav ! wavparse ! pulsesink
Используйте wav файлы, так как могут быть некоторые сложности при проигрывании mp3 файлов.
Устранение проблем
Если вы получили:
Failed to pair: org.bluez.Error.AlreadyExists
Проверьте, какое устройство у вас подключено:
paired-devices
Удалите устройство, к которому вы подключены (подставьте MAC-адрес вашего устройства):
remove 78:24:AF:13:58:B9
-----
Другие полезные команды bluetoothctl можно получить так:
help
Дополнительная информация
Потоковое вещание по сети или через конвейер
От переводчика
При проверке этой статьи у меня возникли некоторые проблемы. Устройство не получалось подсоединить командой connect, не было команды pactl. Плата Edison была прямо из коробки, поэтому всё это решилось перепрошивкой новой версией образа Yocto.
Чтобы перепрошить плату, можно воспользоваться следующей рекомендацией. Я сделал немного по-другому в Windows.
В папке с распакованным архивом Yocto на Windows компьютере запускаем flashall.bat. Возможно, еще понадобится программа dfu-util.exe, которую надо поместить в эту же распакованную папку. Сама программа доступна по ссылке.
Обсуждение dfu-util под Windows и перепрошивку Edison можно найти тути тут.