← все статьи

Art-Net и sACN: почему свет уходит по сети и где эта сеть ломается

Откуда взялся потолок в 44 кадра у DMX512, чем unicast Art-Net отличается от multicast sACN, зачем свитчу IGMP snooping и почему Wi-Fi на площадке — плохая идея.

Сначала — арифметика, из которой растёт всё остальное.

DMX512 живёт на RS-485 со скоростью 250 килобит в секунду. Каждый байт едет с одним стартовым и двумя стоповыми битами, то есть занимает 11 бит — ровно 44 микросекунды. В кадре 512 каналов плюс стартовый код, итого 513 байт: 22,6 миллисекунды. Добавьте паузу BREAK, которой кадр начинается, — и получите потолок примерно в 44 кадра в секунду. Не «примерно 44 у дешёвых интерфейсов», а физический предел стандарта 1986 года.

Отсюда два следствия, которые определяют всю монтажную схему.

Первое: одна DMX-линия несёт ровно 512 каналов. Не «столько, сколько успеет» — эти 512 уже занимают весь бюджет времени. Хотите больше — нужна вторая линия, третья, десятая.

Второе: диммерная стойка на другом конце зала — это отдельный кабель через весь зал. Двадцать вселенных на большой площадке означают двадцать кабелей, и монтажники смотрят на вас нехорошо.

Сетевые протоколы решают ровно вторую задачу. Первую они не решают никак — 512 каналов на линию остаются 512 каналами.

Что происходит на самом деле

Ноутбук ──Ethernet──► свитч ──► узел у фермы ──DMX──► приборы
                            └─► узел у портала ──DMX──► приборы

Узел (его же называют нодой) — это коробка, которая слушает сеть и превращает пакеты обратно в DMX. Одна вселенная на выход: узел на четыре выхода отдаёт четыре линии. Длинный кабель теперь один, сетевой, а DMX-хвосты короткие — от узла до ближайших приборов.

Это не только про удобство. Ethernet ошибается заметно реже, чем двадцатиметровый DMX-кабель, который тянут по полу, топчут и цепляют кофром.

Art-Net против sACN: разница в одном слове

Оба протокола заворачивают те же 512 байт в UDP. Разница — в способе доставки, и она важнее, чем кажется.

Art-Net (порт 6454) отправляется адресно: пульт знает IP-адрес узла и шлёт пакет ему. Схема прозрачная — видно, кто кому пишет, и обычный свитч за две тысячи рублей справится. Адресация вселенных 15-битная: семь бит Net и восемь SubUni, то есть 32768 вселенных. Столько вам не понадобится никогда.

sACN (он же E1.31, порт 5568) вещает в multicast-группу: адрес считается из номера вселенной — 239.255.<старший байт>.<младший>. Пульт не знает, кто его слушает; узлы подписываются на нужные группы сами. Для больших схем это правильнее: один пакет уходит в сеть один раз, а не копируется по числу получателей.

И вот тут начинается место, где всё ломается.

IGMP snooping, или почему сеть встала

Multicast без поддержки со стороны свитча ведёт себя как broadcast: свитч не знает, кому нужна группа, и на всякий случай шлёт всем во все порты. Тридцать вселенных sACN на 40 кадрах — это примерно 30 × 638 байт × 40 в секунду ≈ 6 мегабит. Умножьте на число портов, добавьте туда же видео и управление — и получите свитч, который начинает терять кадры.

Лечится галкой IGMP snooping в управляемом свитче: он подслушивает, кто на какую группу подписался, и отправляет вселенную только в те порты, где её ждут. На неуправляемом свитче за две тысячи такой галки нет.

Отсюда практическое правило: простая схема — Art-Net на неуправляемом свитче; много вселенных — sACN, но со свитчем, который умеет IGMP. Промежуточный вариант «sACN на дешёвом свитче» работает ровно до того вечера, когда вселенных стало на десяток больше.

Что настроить в Flux Lights

Вкладка Настройки → Сетевой вывод, настройки применяются на лету: протокол (можно оба сразу), адрес узла для Art-Net, базовый номер вселенной.

Сеть работает параллельно с USB — тот же кадр 40 раз в секунду уходит и туда, и туда. Отправляются только вселенные, где реально есть приборы: пустые эфир не занимают.

Приоритет sACN мы шлём фиксированный — 100, как по умолчанию в стандарте. Это стоит знать, если вы задумали два источника на одну вселенную с арбитражем по приоритету: такой сценарий Flux Lights не разрулит, и резервирование у нас устроено иначе — резерв просто молчит, пока жив основной.

Что проверить, пока не приехал зритель

Адреса. Компьютер и узлы в одной подсети. Art-Net исторически жил в сетях 2.x.x.x и 10.x.x.x, многие узлы приезжают с завода с адресом вида 2.0.0.1. Проще всего прописать статику вручную и записать её на скотче на самом узле.

Wi-Fi выключить. Не «не пользоваться», а выключить адаптер. Иначе в момент, когда кабель дёрнут ногой, система бодро перекинет маршрут на беспроводную сеть площадки — и свет будет идти через точку доступа, к которой в антракте подключится весь зал.

Отдельная сеть. Общий свитч с видео и гостевым интернетом работает, пока не начнётся выгрузка контента на медиасервер. Если сеть одна на всех — хотя бы отдельный VLAN.

Гигабит, если вселенных больше пары десятков. Сто мегабит формально хватает, но запас на пиках и на паразитный broadcast лучше иметь.

Реакция прибора, а не индикатор на узле. Индикатор говорит «пакеты приходят», а не «прибор их понял»: адрес мог не совпасть на одну вселенную, и это самая частая ошибка на монтаже.

Читайте также