[SLOT_0]; только для нулевого слота
mode = opusLAN
Описание
Программный модуль для приёма и воспроизведения аудио потока по локальной сети через протокол RTP (multicast) с декодированием кодека Opus. Позволяет выбирать группу и канал вещания, управлять громкостью и состоянием воспроизведения. В отличие от audioLAN, принимает сжатый аудиопоток в формате Opus, что значительно снижает требования к пропускной способности сети.
| Параметр | Значение |
|---|---|
| Протокол | RTP multicast |
| Кодек | Opus |
| Самплрэйт | 48000 Hz (настраиваемый, 8000–96000) |
| Разрядность | 16 бит |
| Каналы | 2 (стерео) |
Совместимость
Принцип работы
Модуль подключается к multicast-группе по адресу 239.0.{group}.{channel} на заданном порту и воспроизводит входящий аудио поток, закодированный кодеком Opus. Аудио пайплайн состоит из трёх элементов: RTP-приёмник → Opus-декодер → I2S-выход.
При запуске ожидает инициализации сетевого интерфейса. Рапортует текущее состояние, канал и громкость.
Требуется подключение к локальной сети (LAN).
Рекомендуемое ПО
Для трансляции аудио потока в формате Opus по сети рекомендуется использовать приложение antiDante.
Топик
Стандартный топик событий и действий:
- “deviceName/opusLAN_{slot_num}” - {slot_num} номер слота
- пример: “deviceName/opusLAN_0”
Опции
Доступные опции:
- defaultState - число(int), состояние модуля при включении (0 — выкл, 1 — вкл). По умолчанию 1.
- volume - число(int), уровень громкости, от 0 до 100. По умолчанию 100.
- group - число(int), номер группы multicast-адреса (третий октет: 239.0.X.0), от 0 до 255. По умолчанию 7.
- channel - число(int), номер канала multicast-адреса (четвёртый октет: 239.0.7.X), от 0 до 255. По умолчанию 0.
- port - число(int), номер UDP-порта для приёма потока, от 0 до 65535. По умолчанию 7777.
- sampleRate - число(int), частота дискретизации в Гц, от 8000 до 96000. По умолчанию 48000.
- bufSize - число(int), размер буфера приёма в байтах, от 256 до 8192. По умолчанию 2048.
- topic - строка, нестандартный топик событий и действий.
Команды
- /setState — включение/выключение воспроизведения, возможные значения 0-1.
- Пример: “moduleBox/opusLAN_0/setState:1”
- /setChannel — переключение канала (четвёртый октет multicast-адреса), значение от 0 до 255.
- Пример: “moduleBox/opusLAN_0/setChannel:5”
- /setVolume — установка уровня громкости, значение от 0 до 100.
- Пример: “moduleBox/opusLAN_0/setVolume:80”
События
- /state — рапортует текущее состояние модуля (0 — выкл, 1 — вкл). Пример: “moduleBox/opusLAN_0/state:1”
- /volume — рапортует текущий уровень громкости. Пример: “moduleBox/opusLAN_0/volume:80”
- /channel — рапортует текущий номер канала. Пример: “moduleBox/opusLAN_0/channel:5”
Индикация
- Светодиод выключен — модуль в состоянии DISABLE.
- Светодиод горит постоянно — модуль включён, поток принимается.
- Светодиод мигает — модуль включён, но поток не обнаружен.
Примеры
Переключение каналов через кнопки:
[SLOT_0]
mode = opusLAN
options = empty
options = volume:100, channel:0
[SLOT_1]
mode = button_led
options = empty
;переключение между каналами 0 и 1
crosslink = button_1:1->opusLAN_0/setChannel:1, button_1:0->opusLAN_0/setChannel:0Подробнее об использовании crossLink