Сетевой стример на Beaglebone Black / AntMiner / AntBB — чистое удовольствие (часть 1)

Предлагаю на тестирование версию botic7 для кастрированных биглебонов из майнеров.
Проверена совместимость с AntMINER D3, Beaglebone Black, Beaglebone Green.
Поддержка HQPlayer, Roon, AirPlay, DLNA, LMS. Выбор протокола через веб интерфейс.
Не стал делать универсальную прошивку BBB/AntMINER. Геморойно из за разной разметки SD.

Changelog:

  1. Сборка на свежем buildroot 08.2020
  2. Убран функционал копирования системы на внутренюю eMMC по причине её отсутствия.
  3. Изменена схема работы светодиодов. После полной загрузки (около 3сек) все индикаторы гаснут.
  4. На 28 ноге P9 выведен сигнал MUTE. Пока отлажена чёткая работа с HQPlayer. С другими плеерами еще до конца не настроил.

IP получает по DHCP
SSH доступ root/root

6 лайков

Павел, спасибо за релиз версии для AntBBB. Все загружается. Стрим с Mconnect на UPNP (MPD) и UPNP (APlayer) идет. Как это все звучит, не могу пока проверить, Ваш i2s реклокер в процессе сборки.
У Вас свое представление, по каким протоколам необходимо работать для передачи качественного звука. Приоритет Вы отдаете DSD, как разработчик легендарного DSD DAC - DSC2. Огромное спасибо Вам за то, что Вы делаете.
Я хотел бы озвучить свое видение применения BBB вкупе с реклокером.
В наличии ресиверы NAD 773 и 763 + старый музцентр SONY.
Хочу подружить их с BBB.
Есть подписка на Tidal и Spotify.
И вот тут самая большая проблема: только в Volumio есть интегрированный коннектор, который выводит звук по S/PDIF на ресиверы NAD. TIDAL есть, как я понял, в расширенной подписке.
Попробовал gentooplayer - там Spotify коннектор подключается с бубном. Tidal нативно не смог подключить.
АД какой-то)
Roon я попробовал - все круто, но это из пушки по воробьям + постоянно работающий RoonCore, а еще подписка)).
Но, самое большое неудобство - юзабилити в стриминговых клиентах, что Roon, что Mconnect, BubbleUPnP это просто прошлый век.
Есть ли возможность добавить в вашу сборку рендеров коннекторы Tidal и Spotify. Записал Ваш маленький дистрибутив на SD, выбрал в меню рендеров и все готово для качественного звука.
Вот тогда существенно расширяется сфера применения Вашей идеи с BBB в качестве сетевого плеера качественного звука.

Концепция данной прошивки - экстремальный минимализм. Хотя меня уже несколько раз просили добавить в прошивку функции плеера, делать это не буду из принципиальных соображений. Бигль имеет ограниченные ресурсы по процессору и памяти. Не вижу смысл нагружать этот SBC не свойственными ему задачами. Эта прошивка останется только как сетевой аудио эндпоинт.

Для ваших задач, Лев, вижу всё таки несколько другой способ решения. Это малинка + 502 шляпа + прошивка Димы. Там ресурсов больше, отличная и качественно отлаженная прошивка. У Димы получился классно звучащий и универсальный швейцарский нож.
Еже ли Вы всё таки хотите остаться с Биглем, то вот ещё решение:
Нативные приложения Tidal и Spotify на IPad/IPhone и вывод на мою прошивку через протокол AirPlay.

Если уж рассматривать Spotify и Tidal (premium), то для этих сервисов BBB не такое уж и целевое устройство с их 320 мбит/с. Гораздо более реализуемая задача - скрестить ЦАП с bluetooth приемником с AptX-HD. Он будет принимать mp3 со смартфона и проигрывать. А вот BBB как раз больше раскрывается в проигрывании аудио более высокого качества по wifi (lan, USB). Для того и нужны все рендереры, чтобы с устройств управлять. Spotify и Tidal плагины в таком устройстве оправданы только в довесок к сетевому проигрыванию, когда есть один общий интерфейс, типа того же Volumio, где собрано “всё в одном”

1 лайк

Податься в стан врага?)))
Домучаю gentooplayer) Spotify у меня завелся, осталось c Tidal разобраться)
В любом случае, спасибо за проделанную работу!

Павел, подскажите, может у Вас есть в разработках доступный для повторения реклокер для BBB с s/pdif выходом?

Как готовое изделие - только в планах.
Но Botic умеет выводить в SPDIF. Так что можно приспособить мой реклокер для этой цели. Добавить только буфер+трансформатор https://e2e.ti.com/support/processors/f/791/t/525169
Можно попробовать обойтись только одним трансформатором. Поскольку на выходах стоят флипфлопы.
И не забыть включить режим SPDIF snd_soc_botic.serconfig=SS–

2 лайка

Спасибо!
Как я понял, по ссылке напрямую к сигналу mcasp_axr процессора подключается вход level shifter.
Можете пальцем ткнуть) к какому pin в вашей схеме подключить этот mcasp_axr?
BBBreclk.pdf
И второй вопрос: с какого пина на плате BBB можно снять сигнал mcasp_axr для проверки работы без реклокера?
Даташит на Ситару 3358 дает 40 упоминаний про
mcasp_axr. Я пока не разобрался с этим…

Всё есть в документации по Botic. http://bbb.ieero.com/

S— … 2ch SPDIF output on mcasp0_axr0 pin
P9_30 - D12/0 - mcasp0_axr0 (data0) - SPI1_D1

На выходном разьёме моего реклокера это 3 или 5 пин. Сейчас точно не скажу, нужно опять в даташиты лезть.

Будте ОЧЕНЬ осторожны! Выходы у Бигля очень нежные. Вылетают от любого чиха.

1 лайк

Спасибо за помощь. Я постараюсь не спалить выходы)

Провел эксперимент с Album Player (botic) для BBB. После прослушивания нескольких альбомов разных форматов (с частотами 48кГц, 44.1кГц, 96кГц) и радиостанций (44.1кГц и 48кГц), размер занятой оперативной памяти составил 180Мб (130 - память и 50 - кэш). Прослушивал через web версию APlayer. Но если к рендереру добавляется еще один источник проигрывания (MusicBee или BubbleUPnP или еще какой-либо иной плеер), то сразу же отгрызается по 50Мб памяти. То есть если прослушал, не выключая BBB через web плеер - 130Мб, послушал через MusicBee +50Мб (180МБ), прослушал через BubbleUPnP +50Мб (230Мб). То есть если у вас есть привычка прослушивать из более, чем 3-х источников (плееров отправляющим на рендерер), то урезанная версия BBB от Antminer быстро заполнит память. И как она будет ее освобождать, мне не удалось проверить практически, не нашел чем еще загрузить её.

Да не! Всё нормально с aprenderer. Если в настройках убрать принудительное локирование памяти.
Вот воспроизведение flac 24/96 на AntMINER

2 лайка

Павел, пытаюсь прошить через Etcher вашу сборку (скачивал из последней ссылки), но все время вылетает ошибка в самом начале. Я что-то делаю не так?

Ошибка то какая? Может карточка битая?
Ещё раз проверил, образ из последней ссылки шётся и загружается без проблем

Такая вот ошибка каждый раз. Карта нормальная, образ перекачал еще раз - тот же результат

Ну Етчер не самая стабильная прога. На маке не проверял. Попробуйте распакавать gz архив вручную и шить уже sdcard.img.
Да и вааще писать образ на unix системе какими то тулзами не эфективно. Ведь у вас есть замечательная команда “dd”! Вот ей из командной строки и залейте образ img в SD карту.

Скриншот прикрепите, посмотрим.

1 лайк

Не могли бы вы написать команду, с помощью которой можно залить распакованный образ на карту памяти?
И еще у меня е вам просьба. Я так понимаю, что ваша сборка автоматически устанавливается во внутреннюю память бигля. Не могли бы вы залить версию, которая будет работать с сд карты?
И еще вопрос: после успешной заливки на карту памяти, бигль просто включать в сеть и ждать загрузки или нужно еще кнопку s2 жать (где-то встречал такое в описании)? Если да - не могли вы вы объяснить - где именно эта самая кнопка находится?)
Устанавливал gentooplayer. В принципе понравился, но в моих условиях эксплуатации работает нестабильно. Я использую бигль для стриминга Аудирваны+ через UPNP протокол и с гентуплееров Аудирвана подхватывала бигль через раз. По сути ваша сборка должна быть для меня идеальной, т.к. просто нужно выбрать протокол - через который буду соединятся с биглем, после чего (надеюсь) его подхватит Аудирвана и дальше буду использовать такую связку без каких-либо проблем.

Так я выше прикрепил

Неужели я бы выложил прошивку, которая автоматически затирает старые данные у пользователей? :grinning:
Но я действительно считаю, что грех не использовать внутреннюю eMMC. Поэтому первая загрузка с нажатой кнопкой S2. Далее через веб интерфейс запись прошивки во внутреннюю память. Это относится к прошивке http://puredsd.ru/botic7-image_latest.gz и полноценному BBB.
Для урезанного AntMINER прошивка не имеет функционала записи во внутреннюю память и всегда грузится на этом кастрированном бигле с SD без нажатия S2 (которая, кстати на плате не распаяна)

Достаточно набрать в google “mac os dd sd card”
https://www.raspberrypi.org/documentation/installation/installing-images/mac.md
В двух словах:

  • Вам нужно точно знать имя диска SD.
  • Писать командой dd bs=1M if=./sdcard.img of=Ваш_SD_диск ; sync
2 лайка