В ходе реализации проектов на плате Intel Edison иногда возникает необходимость воспроизвести звук. В последних версиях образа Yocto добавлена поддержка Alsa, и можно воспользоваться USB аудиокартой. Но большую мобильность даст использование встроенного Bluetooth модуля. Например, устройство на базе Intel Edison, которое получает аудиофайлы по сети, может находиться стационарно в одном месте в комнате. Слушать же музыку можно в любой точке помещения, используя обычные беспроводные наушники. Итак, начнём.
Включите ваше Bluetooth устройство и сделайте его видимым. Введите следующие команды в терминале:
Просканируйте доступные Bluetooth устройства:
Найдите ваше устройство и присоединитесь к нему (подставив его MAC адрес):
Установите соединение, если необходимо:
Закройте программу bluetoothctl:
Проверьте, что ваше A2DP устройство (в нашем случае наушники LG) распознались в pulseaudio как sink-устройство и его имя начинается с bluez_sink
Сконфигурируйте дефолтный sink для использования в pulseaudio следующими командами, подставив параметры вашего устройства:
Скопируйте аудио файл в формате wav на плату Intel Edison, используя scp (Linux) или pscp.exe (Windows) и проиграйте его через mplayer:
Используйте wav файлы, так как могут быть некоторые сложности при проигрывании mp3 файлов.
Если вы получили:
Проверьте, какое устройство у вас подключено:
Удалите устройство, к которому вы подключены (подставьте MAC-адрес вашего устройства):
Другие полезные команды bluetoothctl можно получить так:
При проверке этой статьи у меня возникли некоторые проблемы. Устройство не получалось подсоединить командой connect, не было команды pactl. Плата Edison была прямо из коробки, поэтому всё это решилось перепрошивкой новой версией образа Yocto.
Чтобы перепрошить плату, можно воспользоваться следующей рекомендацией. Я сделал немного по-другому в Windows.
В папке с распакованным архивом Yocto на Windows компьютере запускаем flashall.bat. Возможно, еще понадобится программа dfu-util.exe, которую надо поместить в эту же распакованную папку. Сама программа доступна по ссылке.
Обсуждение dfu-util под Windows и перепрошивку Edison можно найти тут и тут.
Читайте также:
» Практикум «Intel IoT». Edison — могучая «кроха»
Вам понадобятся
- Звуковое 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:
mplayer Intel_bong.wav2
Используйте 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 можно найти тут и тут.
Читайте также:
» Практикум «Intel IoT». Edison — могучая «кроха»