Сценический свет: Конвертер из ArtNet в DMX-512 SmartShow NetDMX II (патчим в рэковый корпус)

Проекту исполнилось 15 лет! Поддержать проект материально, проспонсировать проекты Автора или сделать ему подарок можно на этой странице: "Донаты и Спонсорство, Список Желаний".

Число просмотров: 19 176 

СТОП! Мне не хотелось бы, чтобы этот пост был опубликован на других ресурсах (репост). Я хочу сохранить за собой право на его уникальность.

Конвертер ArtNet/DMX SmartShow NetDMX II в рэковом корпусе (переделка)

Конвертер ArtNet/DMX SmartShow NetDMX II в рэковом корпусе (переделка)

ArtNet — сколько в этом слове всего? И удобная коммутация света, и тонкая родная витая пара, и свитчи, и патч-панели… Прощай жирные кабели DMX и поиск неисправностей! Прощай 512 адресов на одну вселенную (Universe)… А, да! О чём это я?

А вот о чём! Когда DMX-512 всех достал тем, что на его линии не может быть больше 32х устройств, а на одну вселенную всего 512 каналов, и что сам кабель DMX довольно требователен к экранированию и боится помех, то изобрели новый протокол управления приборами. В его основе лежит обычный Ethernet и UDP-протокол.

Поэтому физическая линия у нас легко превращается в витую пару со всеми вытекающими — свитчи, роутеры, WiFi и прочие прелести. Если канал в инет потянет поток данных и будет стабильным — то хоть удалённо через инет можешь всем рулить. В общем, прекрасно: выходит у тебя со светового пульта одна витая пара, и идёт себе до диммерной стойки в тиристорную, или же сразу на фермы с оборудованием. Красотища! Если же ваше оборудование не поддерживает ArtNet напрямую — то вы ставите конвертеры ArtNet-DMX (они бывают на выход, на вход или и те и те) и снова получаетесь в выигрыше: один такой конвертер может поддерживать сразу несколько DMX-вселенных (например 2, 4 или даже 8 штук).

Но не могли же производители светового оборудования так легко потерять деньги, да? =) Это как с лампами и светодиодами. Вот стоит фирменная лампа MSD/250 около 15-20 тыр рублей, работает около 2-4 тысяч часов. А светодиод, который её заменяет, стоит 5-10 тыр и работает 30-50 тысяч часов. Казалось бы, что светодиодные головы должны стоить дешевше? Хрен вам! Они стоят в два раза дороже ламповых. Потому что иначе все потеряют деньги! =)

Так вот в ArtNet производители тоже оторвались по полной. Вы же слышали слово «Ethernet»? Признайтесь себе: если бы у вас был бы коттедж и вы делали бы световые шоу дома, то вам сразу же захотелось бы, чтобы компьютер по одной витой паре подтягивал и домашнюю сетку с музыкой/видео с NAS, и управлял светом. Безо всяких USB-хреновин и прочих лишних проводочков? Вот и захотелось! И что из этого вышло — я щас и расскажу!

1. Общее. IP-адреса и конвертер SmartShow NetDMX II.

И щас вы разозлитесь. В ArtNet принят стандарт IP-адресов формата 2.0.0.0/255.0.0.0! То есть они не попадают под 10.0.x.x или 192.168.x.x вообще никак! «Да и в чём проблема?» — скажет любой ITшник — «Надо просто поменять IP-адрес на устройствах, и всё будет работать».

И ВОТ ХРЕН ВАМ! Дело в том, что в БОЛЬШИНСТВЕ ArtNet-конвертеров IP-адреса вбиты ЖЁСТКО! Никаких веб-интерфейсов или экранов с кнопочками нет! Максимум — несколько переключателей, чтобы менять последние цифры адреса!

Почему так сделано? У  меня есть вот какие варианты:

  • Чтобы решение работало из коробки и никто не выносил себе мозги настройкой адресов. Выставил на пульте и конвертере переключатели одинаково — и оно заработало. Ведь не везде среди световиков полным-полно сисадминов или IT-шников.
  • Чтобы сеть была закрытой от других сетей. А то какой-нибудь дурак воткнёт ArtNet в обычную сетку предприятия (какого-нить ДК), и потом будет орать «Херня всё это — у меня всё лагает и тормозит, вы мне гавно продали». А на деле окажется, что в момент пятничного шоу в ту же пятницу какой-нить сервак о той же сетке льёт жирный архив. И пакеты ArtNet теряются, хе хе.
  • Просто так. Чтобы оборудование было несовместимо и можно было сказать: «А вот обычный конвертер стоит 5-10 тыр; а если вы хотите менять IP-адрес — то он будет стоить 50-70 тыр». Цены реальные.

Моя натура разозлилась праведным гневом на это всё. В стиле: «Блин! Вы лучше бы сделали возможность ставить нормальные адреса. А пихать это в обычную сетку или нет — это я сам под свою ответственность решу». И я стал искать решения. Покупать дикий конвертер за 50 тыр мне не хотелось, а все дешёвые решения были со статическим IP-адресом. Даже на AliExpress.

В итоге я думал уже перенастраивать комп и роутер на два IP-адреса и наконец-то начать изучать страшные слова «routing table», как наткнулся на два варианта конвертеров, которые делают то, что надо. Один из них мне посоветовал Designman, а другой я нашёл на YouTube. Вот они:

  • Первый с eBay (Electron-Design). Он — лучший из лучших, потому что имеет аж до 6 линий DMX, которые можно настраивать как на вход, так и на выход.
  • Второй от SmartShow (NetDMX II). Его я себе купил, потому что не разобрался с eBay и мне показалось, что конвертер с eBay приедет по срокам позже.

На деле же оказалось, что этот самый SmartShow NetDMX II ехал через какой-то магазин-посредник так долго, что проще было тот с eBay заказать (что Designman себе и сделал). На тот момент у меня не было свободных денег, чтобы заказать ещё и второй конвертер. Дождался я этого SmartShow NetDMX и начал с ним разбираться. Сейчас я вам про всё-всё и расскажу в том порядке, как у меня события происходили!

Приехал ко мне этот конвертер, и мне он сначала понравился — он компактный, питается от любой USB-зарядки. У меня даже сразу родилась мысль повесить его прям рядом со своими прожекторами и навсегда воткнуть в домашний LAN. Врубил питание прожекторов — и сразу же и управление подтянулось.

Конвертер ArtNet/DMX SmartShow NetDMX II в оригинальном корпусе

Конвертер ArtNet/DMX SmartShow NetDMX II в оригинальном корпусе

Конвертер работает проще простого. Пока он запускается — он выводит анимашку (в новых версиях — IP-адрес). Если в этот момент зайти на него браузером, то открывается вот такая вот страничка конфига:

Веб-интерфейс конвертера ArtNet/DMX SmartShow NetDMX II для настройки IP-адреса

Веб-интерфейс конвертера ArtNet/DMX SmartShow NetDMX II для настройки IP-адреса

Запомните то, что MAC-адрес моего контроллера был 11:17 на конце, и серийник 4375. Это нам потом кое-для чего сгодится, и будет весело.

Собственно, всё что нам надо — выставить нужный нам IP и маску сети, и номер вселенной ArtNet (ArtNet Universe). Точно такой же номер выставляем в том софте, которым будем управлять. Я использую Q-Light+.

Настройка ArtNet Universe в программе Q-Light и в SmartShow NetDMX II

Настройка ArtNet Universe в программе Q-Light и в SmartShow NetDMX II

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

Конвертер у меня поработал, мне всё понравилось. Но потом… блин! Я не могу это пояснить! В общем, сам поток жизни вынудил меня не быть простым примерным пользователем, а разобраться, понять и изучить. В какой-то момент конвертер начал подвисать. Передёрнешь питание — и снова всё работает. Пошевелишь провода — подвиснет. Хм! Странно! Может где-то контакт!

Сижу я, можно сказать — краснею и ругаю себя за то, что купил херню и что надо было заказатть нормальный конвертер, а не эту срань. Верчу в руках его, верчу… И вдруг понимаю, что на самом деле этот конвертер сделан в виде печатной платы, которая залита в корпусе каким-то герметиком. А если начать давить на него — то он начинает немного отслаиваться.

Устройство корпуса SmartShow NetDMX II

Устройство корпуса SmartShow NetDMX II

Отслаиватся? Хммм… интересно! А если РАЗОБРАТЬ?!

На самом деле мне уже тогда пришла в голову идея, что я хочу разобрать этот конвертер и запихать его потом в рэковый корпус от DMX-разветвителя. Чтобы готовое устройство выглядело приличнее, чем сраная коробока с проводками.

Открываем… а там… а там… что-то похожее на Arduino!

Внутреннее устройство SmartShow NetDMX II: там стоит Arduino Nano

Внутреннее устройство SmartShow NetDMX II: там стоит Arduino Nano

Вот, глядите, как всё сделано! Стоит Arduino Nano, часть ножек которого откушена и на них напрямую припаян LED-индикатор. Три провода уходят с пинов VCC, GND, TXD на конвертер RS-232=>RS-485 (мы помним, что DMX-512 у нас основан на RS-485).

Arduino Nano в SmartShow NetDMX II во всей красе

Arduino Nano в SmartShow NetDMX II во всей красе

А для сетки использован самый обычный Nano Ethernet Shield на ENC28J60. Вот он (я пытался пропаивать разъём RJ-45, потому что думал что там что-то плохо контачит и поэтому сетка отваливается):

Модуль Ethernet на базе ENC28J60 для Arduino Nano

Модуль Ethernet на базе ENC28J60 для Arduino Nano

Подбиваем итоги того, что получилось:

  • Конвертер хороший и приятный. Работает прекрасно.
  • Для самоделки сделан хорошо. И можно использовать как готовое устройство (а для Electron-Design надо выдумать корпус, DMX-разъёмы и блок питания).
  • Есть подержка и прошивка (на самом сайте её нету, но можно написать автору — Bob Lynas) и задать вопросы.
  • Важная особенность, которую никто не учёл: ENC28J60 в моменты работы с сетью импульсами жрёт ОГРОМНЫЕ токи (и даже прилично греется)! Поэтому если контакт питания хреновый (причём достаточно пошевелить USB-разъём), то сетка моментально отваливается, так как ей не хватает питания.
    Вообще, такое лечится не только хорошими USB-шнурками, но ещё и ёмкостью в какие-нить 1000 мкФ и керамикой параллельно. Этого тут нет, а надо было бы добавить. Мне больше всего этот момент здесь и не понравился. Современные электронщики так расслабились, что забыли, что такое параноя и керамика около каждой микросхемы, хе хе. Аукнется это ещё, ой как аукнется.
  • Очень редко с некоторыми зарядками, которые генерируют на USB сигнал (чтобы работали только с некоторыми телефонами) NetDMX может войти в режим обновления прошивки через USB и просто тупить. В этом случае надо попробовать другую зарядку.

Пока я разбирался с зависаниями, я пообщался с Bob Lynas и заодно получил у него свежую версию прошивки и тулзу для того, чтобы её заливать в Arduino. Моя прошивка в момент запуска просто рисовала анимацию на индикаторе, а новая показывала IP-адрес по цифиркам. Bob Lynas посмеялся и сказал, что пришлось добавить такую фичу, потому что многие просто забывают IPшник, который они настроили. Вот вам и догадка о том, что большинство световиков — ни хрена не сисадмины.

ВНИМАНИЕ! Так как меня с этим ЗАДОЛБАЛИ — то специально ещё раз пишу: ПРОШИВКУ НЕ ДАЮ! Она — НЕ МОЯ! Авторство прошивки и устройства принадлежит Bob Lynas!

2. Переделываем в рэковый корпус. Первые шаги.

Не долго думая, рискнул я заказать рэковый DMX-сплиттер с AliExpress. Их там навалом, но все они выглядят примерно одинаково. DMX-сплиттер нужен в тех случаях, когда у вас висит несколько параллельных рядов оборудования (и вы не хотите тащить DMX шлейфом между рядами) или когда число устройств в линии DMX превышает 32 штуки (так определено стандартом DMX). Тогда линия бьётся на несколько отдельных кусочков, которые через DMX-сплиттер получают один и тот же сигнал.

Разветвитель DMX-сигналов на 8 выходов в рэковом корпусе

Разветвитель DMX-сигналов на 8 выходов в рэковом корпусе

У моего сплиттера была удачная конструкция: все DMX-разъёмы были сзади, а спереди — гладкая панель. Изначально я хотел найти такой сплиттер, у которого сзади торчит только питание, потому что его удобно было бы ставить в рэк. Но когда я начал размещать там свои ArtNet-штуковины, то понял что вариант с DMX-разъёмами сзади более удобный.

Разветвитель DMX-сигналов на 8 выходов в рэковом корпусе (вид сзади)

Разветвитель DMX-сигналов на 8 выходов в рэковом корпусе (вид сзади)

Всю начинку (блок питания, разъёмы и плату усилителей) я временно из корпуса выкинул и начал дорабатывать его так, чтобы воткнуть туда Arduino.

Вынули все потроха DMX-разветвителя и отложили их в сторону

Вынули все потроха DMX-разветвителя и отложили их в сторону

Первая проблема была с тем, как вытащить на переднюю панель девайса и LED-индикатор и RJ-45 разъём. Разъём мы от платы отпаять не можем (там сетка, помехи и прочее такое), а вот LED-индикатор — можем!

Делаем дырки в передней панели под новую начинку:

Вырезаем в передней панели дырки для LED-индикатора и переключателя

Вырезаем в передней панели дырки для LED-индикатора и переключателя

И нагло и жёстко откусываем LED-индикатор с платки Arduino! Прямо его не жалея ни фига! И наконец-то узнаём, какой модели он был (тут видна, кстати, керамика по питанию — это я опыты ставил, пока разбирался, почему конвертер подвисает).

Снимаем LED-индикатор и ещё раз убеждаемся в том, что работаем с Arduino Nano

Снимаем LED-индикатор и ещё раз убеждаемся в том, что работаем с Arduino Nano

Оказалось, что LED-индикатор годится любой с общим анодом, который выведен на средние пины с каждой стороны. Высота знака — 14.2 мм. Я взял себе красный вместо синего.

Дальше мне пришла простая и техничная идея о том, как всё это закрепить внутри корпуса. Я взял кусочек макетной платы и впаял туда разъёмы, чтобы в них можно было воткнуть Arduino ввех ногами. В саму Arduino сверху втыкался LAN-модуль, а потом вся эта стопка плат на стойках крепилась внутри корпуса.

Делаем конструкцию для того, чтобы установить Arduino в рэковый корпус

Делаем конструкцию для того, чтобы установить Arduino в рэковый корпус

Ну а сам индикатор я вынес на длинных шлейфах на другую сторону корпуса. Проследил, какие пины куда идут, подпаял — и оно заработало!

Выносим LED-индикатор на проводах, чтобы вставить его в корпус

Выносим LED-индикатор на проводах, чтобы вставить его в корпус

Вот так вся конструкция вставала в корпус в процессе примерки:

Тестируем установку NetDMX II в рэковый корпус

Тестируем установку NetDMX II в рэковый корпус

Для индикатора я вырезал светофильтр (так же как делал в простецком DMX-пульте):

Вырезаем светофильтр для LED-индикатора на переднюю панель

Вырезаем светофильтр для LED-индикатора на переднюю панель

Потом подточил этот светофильтр таким образом, что он прочно встал в отверстие на корпусе. А потом вклеил LED-индикатор с обратной стороны. Вся эта конструкция отлично приклеилась друг к другу и держится прочно.

Установили LED-индикатор в корпус

Установили LED-индикатор в корпус

С другой (правой) стороны корпуса у меня стоит переключатель режимов работы (чёрный), выключатель питания (жёлтый) и RJ-45-разъём. Я специально перевернул платы Arduino так, чтобы разъём втыкался язычком вверх, да и чтобы светодиоды на разъёме тоже было видно.

Установили дополнительные разъёмы в корпус

Установили дополнительные разъёмы в корпус

Ещё мне не понравился RS-485-конвертер. Какой-то он странный там был: одна микросхемка, и ничего нет — ни ёмкостей, ни резисторов. Хотя я точно помню, что даже самый классический MAX485 парочку конденсаторов требовал. В итоге заказал с AliExpress на пробу конвертер позлее. У него и защитные диоды по цепям RS-485 есть, и обвязка более приятная. И даже индикаторные светодиоды потока данных есть.

Корвертер в RS-485 (для DMX-сигналов)

Корвертер в RS-485 (для DMX-сигналов)

Подпаял все провода на свои места и из огрызков USB-разъёмов сделал короткий шнурок питания: мне не хотелось ломать USB-разъём, потому что тогда прошивку будет сложнее обновить.

Все части переделанного ArtNet/DMX-конвертера готовы к сборке

Все части переделанного ArtNet/DMX-конвертера готовы к сборке

Теперь у нас всё проверено и готов для финальной сборки.

3. Правим ошибки и косяки. Жжом Arduino!

Перед тем, как всё собирать, я расскажу свою задумку, которую вложил в этот девайс. Мы помним, что у нас есть готовый DMX-сплиттер, который принимает на вход сигнал (In), сразу же выдаёт его на выход (Thru) (эти два разъёма припяны параллельно, как на всех DMX-устройствах), а потом усиляет и выдаёт ещё на 8 выходов. Внутри это сделано так: после разъёмов In+Thru сигнал идёт на вход платы усилителей, а с неё — на остальные выходы.

Значит мы можем сделать вот чего: переключать, какой сигнал у нас идёт на вход платы усилителей — от ArtNet/DMX или просто от входных разъёмов! Я подумал, и сделал вот такую вот логику работы:

  • В режиме «DMX» сигнал с разъёма In выдаётся на Thru и через усилители на все остальные разъёмы
  • В режиме «ArtNet» сигнал с разъёма In отключается, а на разъёмы Thru и плату усилителей идёт сигнал с ArtNet/DMX-конвертера.

По идее, разъём Thru вообще не надо было бы трогать, чтобы наш DMX-сигнал мог идти на другую цепочку, но моя задумка была в том, чтобы мой девайс стоял в начале линии всех приборов, и один переключатель на нём менял управление или на программу с компа, или на живой световой пульт. Поэтому я решил, что мне удобнее, если In полностью отключится (туда пульт будет воткнут), а сигнал от ArtNet/DMX будет на всех выходах.

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

Ставим в корпус DMX-сплиттера новую платку коммутации

Ставим в корпус DMX-сплиттера новую платку коммутации

С этим получился профит: когда DMX-сплиттер обесточен, то In соединён с Thru. Поэтому если не пользоваться остальными разъёмами, то на Thru можно повесить всю DMX-линию моих приборов, а к In подцепить световой пульт. Не нужен тебе ArtNet — выруби сплиттер, и всё будет работать от пульта. Вот!

Начинаем потихоньку собирать Arduino и его кусочки. Ставим платку на наши разъёмы. Эта фотка сгодится тем, кто будет повторять решение, потому что тут хорошо видно, какие пины от Arduino надо откусить, а какие оставить. И не спрашивайте потом «…а какие пины ты оставлял», потому что тут всё видно.

Начинаем ставить нашу Arduino в разъёмы

Начинаем ставить нашу Arduino в разъёмы

После этого вставляем разъёмы от LED-индикатора — и можно ставить модуль LAN и включать для проверки.

Платку с Arduino установили на своё место (тут видны пины, которые надо откусить)

Платку с Arduino установили на своё место (тут видны пины, которые надо откусить)

Вот какая конструкция получилась в полном итоге всего и вся. Мне понравилось!

Весь монтаж ArtNet-конвертера закончен

Весь монтаж ArtNet-конвертера закончен

Включаю я её… работает она… А потом я шевелю провода — и перестаёт. Всё! На индикаторе тишина, светодиоды на Arduino не мигают, всё сдохло! Я начинаю паниковать: всё, пипец, всё запорол, теперь ничего не поделаешь — надо будет ещё одну такую штуковину покупать, потому что прошивка там наверняка залочена и хрен её достанешь…

НО ХРЕН ТАМ!!! Выпросил я у друга быстренько одну Arduino и попробовал залить туда прошивку тулзой, которую мне автор устройства давал. Залилось! Воткнул сюда, запитал временно от USB-зарядки шнурком — заработало! ВАУ!! Повезло!

…и стал я разбираться с причиной, почему всё сдохло. Вспомнил этот пост (интересно, его кто-то ещё помнит), в котором из-за разности потенциалов блоков питания спалил USB-порт на старом ноуте и допёр. Корпус DMX-сплиттера у нас металлический. В нём стоит два разных блока питания: один для DMX-сплиттера, а второй — Mean Well для Arduino. И ещё и разъём RJ-45 металлом корпуса контачит на PE электросети, которое у нас есть на металле корпуса.

Вот вам и разность потенциалов между разными GND у блоков и сетевым PE! Шо-то где-то коснулось и пожгло Arduino. Фигня война! Берём все металлическое внутри корпуса и соединяем между собой, а потом цепляем на PE сети!

Заземление LAN-разъёма (эквипотенциальное)

Заземление LAN-разъёма (эквипотенциальное)

Взяли GND с платы и минуса питания USB — и тоже его на PE и на корпус!

Заземление USB-разъёма (эквипотенциальное)

Заземление USB-разъёма (эквипотенциальное)

После этого уравнивания потенциалов (хе хе, знакомые слова из большой электрики) всё заработало!

Включаем питание и проводим испытания

Включаем питание и проводим испытания

Индикатор за светофильтром не видно — видно только светящийся знак. Отлично!

LED-индикатор отлично светит через светофильтр

LED-индикатор отлично светит через светофильтр

Все выключатели и индикаторы светятся. Индикаторы соединения на RJ-45-разъёме — тоже (у него в прошивке они не мигают, просто горят, если есть LAN-Link и ArtNet).

Новый выключатель питания и переключатель режимов тоже светят

Новый выключатель питания и переключатель режимов тоже светят

Потом, позже, я собрал тестовый стенд из нормального пульта, моей приблуды и программы на компе, и записал видео о том, как это всё работает.

Тестовый стенд для записи демо-видео

Тестовый стенд для записи демо-видео

Вот оно:

Есть ещё и ужасная английская версия видео, которую я писал раньше, когда показывал Bob Lynas’у свои результаты и обкатывал идею. Произношение у меня там ужаснейшее, и ещё я половину слов забыл, когда волновался. Так что можете повеселиться:

4. Атака клонов. Хачим EEPROM и MAC-адрес.

А теперь немного шаловливых ручек и магии. Вы же помните, что я спалил один Arduino, пока не разобрался с PE и GND внутри? И вы же помните, что я говорил что я перелил прошивку в новый Arduino. Где здесь тест на внимательность? Ну-ка?

А вот где: прошивку-то залить можно. А как разобраться с MAC-адресом? Ведь без него ничего не будет работать. А так как ENC28J60 — это просто микросхема связи с LAN, то все ARP-запросы и MAC-адрес должен программировать программист. То есть MAC-адрес внутри ENC28J60 не зашит и его вообще нет.

И вот когда я лил прошивку в новую Arduino, я и задумался: где тут MAC-адрес хранится? По идее его надо бы жёстко зашивать в прошивку, чтобы никакие хитрые (или предприимчивые) людишки не наладили своё производство таких же конверторов. Но тогда надо будет для каждого заказчика комплилировать свою прошивку, чтобы по серийнику ему её для обновления засылать. А это уже сложно.

Повздыхал я, и недрогнувшей рукой достал с полки запылённый AT AVR Dragon. Спаял ISP-шлейф и ткнулся в ISP-разъём на Arduino. Х-х-ха! А прошивочка-то не залочена! И более того — EEPROM доступен для чтения (это флеш-память, куда программа может сохранять какие-нить данные типа настроек; в нашем случае там должен лежать IPшник, который юзер настраивает).

Слил я EEPROM, воткнулся туда HEX-редактором, и что я вижу? Вижу я просто адскую ленивую ЛЕНЬ! Потому что чувак просто хранит в EEPROM две последние цифры MAC-адреса! =) А рядом ещё и IP-адрес лежит (но его-то мы через веб-интерфейс можем поменять).

Дамп памяти EEPROM, где хранится MAC-адрес

Дамп памяти EEPROM, где хранится MAC-адрес

А потом я увидел ещё большую лень! Причём получилось так, что я сначала прошерстил всю прошивку и EEPROM на предмет серийника, а потом допёр. Напоминаю скриншот веб-интерфейса:

Веб-интерфейс конвертера ArtNet/DMX SmartShow NetDMX II для настройки IP-адреса (скриншот)

Веб-интерфейс конвертера ArtNet/DMX SmartShow NetDMX II для настройки IP-адреса (скриншот)

А теперь посмотрим на тот же MAC-адреса HEX-редактором. Опаньки!

MAC-адрес из EEPROM также является ещё и серийником

MAC-адрес из EEPROM также является ещё и серийником

Не, ну это вообще смешно! Макушник как раз серийником и является! Лень форева! И это англичанин создавал ещё! Я бы по любому записал два разных числа в разные места памяти. И ещё бы закатал какую-нить константу, которая при просмотре дампа HEX-редактором читалась в стиле «И чё ты тут забыл?» или как 0xDEADCODE =))

В общем, что мы имеем. Если бы я был бы ушлым коммерсантом, то мне оставалось бы только поменять копирайты в прошивке (они там открытым текстом лежат) и наладить производство ворованных ArtNet-конвертеров тыр так по 10-15 за штуку.

Но мне это не надо. Мне проще щитов насобирать или светом зарабатывать. Себе я сделал три штучки клонов с разными MAC-адресами) на всякий случай (один подарил парню, который у меня по сценическому свету приезжал на мастер-класс). Если вы сами купите такой конвертер в оригинале, то в этом посте полно фоток, по которым можно понять, как он сделан и какие пины от Arduino надо куда паять (видно и положение LED-индикатора, и распайка RS-485, и какие пины где откусить).

А вот вам фотка моего клона. LED-индикатор я тут слегка прихватил, чтобы потом его можно было отпаять.

Свеженькая Arudino (резервный клон NetDMX)

Свеженькая Arudino (резервный клон NetDMX)

На этом — всё! И — новая трабла. Бесплатный Q-Light местами глючит и падает. Зато отлично работает по ArtNet. А всякие злые SunLight жёстко привязаны к своим USB-коробочкам. А я купить их может и готов, но не хочу иметь USB-сранину из проводков, а хочу ArtNet! Так что теперь у меня начинается поиск нормального софта для компа, чтобы мутить световые шоу по таймингам.

Проекту исполнилось 15 лет! Поддержать проект материально, проспонсировать проекты Автора или сделать ему подарок можно на этой странице: "Донаты и Спонсорство, Список Желаний".

10 Отзывов на “Сценический свет: Конвертер из ArtNet в DMX-512 SmartShow NetDMX II (патчим в рэковый корпус)”


  • 1 Gride  [Киев, Украина]

    Круть.
    Кстати, многие ардуинщики используют дешевые маломощные адаптеры и незаслуженно плюются на ENC28J60, обзывая ее глюкавой. А самим глянуть в даташит и посмотреть потребляемый ток IQ не хватает.
    DIHALT в свое время неплохо описал эту микросхему. У него тоже были «глюки», но они вылечились использованием нормального блока питания.
    Интересно, а у родного блока питания сплиттера случайно нет в запасе лишних пол-ампера? Выглядит он мощно. Не пришлось бы городить отдельный блок питания для адаптера.

  • 2 CS  [Москва]

    Ха ха ха ха ха =)) Да-да-да!! =)) Именно что! Она жрёт как лошадь! =)
    Во-во! Я по его примерам даже немного прогал сам, а потом забил, ибо не пригодилось.

    Ты знаешь, я там толком не понял ни фига. Потому что стоит их блок питания, а на самой плате стоят 7805’ые стабилизаторы. И то ли у блока питания два отдельных выхода на две разные ветки усилителей, то ли двуполярное питание — тоже хрен понял.
    Поэтому решил забить и оставить ту цепочку блоков как есть, а под Ардуино и релюшки (я ещё испугался, что релюшки на 5VDC будут много тока жрать) поставить свой блок.
    Подсел на Mean Well, на серию NFM-15-xx — она идёт как модуль на печатную плату, и такой блок можно удобно куда-нить встроить.

  • 3 Gride  [Киев, Украина]

    В расфигателе 11 хливких операционников. Вряд ли они много едят. Двуполярное питание можно по дорожкам отследить.

    Не может быть два разных напряжения? Одно для питания операционников и одно как опорное для сравнения чего-нить с чем-нить?
    Я бы попробовал замерять напряжение и потребляемый ток. Уж больно мне родной блок питания нравится.

  • 4 CS  [Москва]

    Не, не! Он просто жуткое гавнище. Даже плата из гетинакса, а не из текстолита.
    Да не с чем там сранивать. Там ведь задача — тупо цифровой сигнал усилить, и всё.

    Я думаю, что щас проще забить, потому что девайс готовый, и пока лежит без дела, ибо я нормальный (удобный мне) софт не нашёл. От софта мне надо, чтобы там можно было свет накидывать по времени.

    Цепляю скриншот от Q-Light. Там всё отлично, кроме одного. Когда меняешь масштаб времени (обвёл кружочком) — слетает тайминг к херам. И свет плавает от музыки.

  • 5 CS  [Москва]

    Дополню второй картинкой. Слетает вот так. Диалог настройки времени показывает, что время старта = 0:0:0. А на самом объекте откуда-то взялись 120 мс времени. И они реально отсчитываются, падлы!

    Есть профессиональный софт SunLight. Он платный, и я бы на него накопил бы. Но он без своей USB-коробочки не работает. А я ДИКО не хочу никаких USB-шнурков иметь. Даёшь брутал!

    Пока я вопрос софта отложил, ибо щас идут сборки и не до этого. А потом, может, докопаюсь до SunLight и шо-нить у них выясню. Вдруг USB-ключик какой есть.

  • 6 jerubrin  [Караганда]

    Ну судя по тому, что видно на видео, там стоят 485-е чипы-драйеры (скорее-всего 75176, китайцы обожают их) и 1 опто-пара (как мне кажется 6n137). Т.е. гальваническая развязка между входящим сигналом и исходящими сигналами есть, но все исходящие сигналы связанны, блок питания выпускает 2 напряжения (от 12 до 24В — это можно мультиметром проверить), кренки (7805) их понижают и с одной стороны запитывают принимающий драйвер, а с другой оптопару и 8 передающих чипа-драйвера. В общем можно попробовать запитать ардуинку от него, но нужна понижайка на 5В или самодельная понижайка — 7805 с двумя конденсаторами.
    Но такой сплиттер себе я бы не поставил, у меня 12 паров в одной DMX сети выкидывает на GND (общий) около 100-150 вольт напряжения к нулю. Я паял свой сплеттер, на 3 канала, где воткнул 4 блока питания (обычных зарядки для мобильного на 1А) и 3 опто-пары. Так я спокоен, что ничего кроме опто-пары и 1 драйвера, в случае чего, не вылетит (а такое уже было, полетела USB карта и ноутбук).

    Еще вопрос к автору, нет ли хорошего ArtNet контроллера с выходом на 4 universe? Я собрал Wi-Fi контроллер на чипе ESP, все отлично, пока зал не заполнился людьми, которые решили включить раздачу Wi-Fi на своих девайсах и на забили все каналы Wi-Fi «шумом» и прописанные сцены и шоу просто заедали.

    По поводу Q-Lite согласен, говно еще то, вылетает постоянно, ну а что вы хотели от бесплатного сыра? У меня вот на Mac вообще больше нет вариантов бесплатного софта, FreeStyler вообще не видит у меня Art-Net, хотя с USB карточкой FTDI-DMX прекрасно работает.
    На Q-lite для macOS я нашел такие глюки (не знаю как на Windows):
    1. Если добавить в шоу EFX сцену и не щелкнуть по ней, то сцена не выстроиться по таймингу и просто не будет воспроизводиться.
    2. Если добавить сцены с RGB-матрицей и не зайти Show/Hide speed dial и не прописать снова один из параметров — сцена не выстроиться по таймингу и не будет воспроизводиться.
    3. Если щелкнуть по сцене в которой задан Duration, то он сбивается, а если вставить сцену 2 или более раз, то Duration будет сбиваться при выборе любой из них, потому несколько одинаковых сцен с повтором можно создать только клонируя их.
    4. RGB-матрицы клонируются «криво», не копируются параметры Preset, Size, Ramp, Speed, Orientation и все Color, если такие задавались.
    Теперь о критических ошибках, при совершении этих действий лучше сохраняться:
    5. Если добавить в шоу 2 одинаковые сцены, а затем удалить одну из них, то при попытке выбрать оставшуюся произойдет вылет программы
    6. Если добавить в шоу сцену, затем удалить её, а затем снова добавить (часто она вставляется не на тот трек, который задумал) — произойдет вылет.
    Есть еще парочка мелких глюков, но они не так критичны.

  • 7 CS  [Москва]

    jerubrin Йоха! Начну с Q-Lite. А вот ни хрена. Я сегодня попробовал SunLite. Вот это — блядь ПЕСДЕЦ! ПОЛНЫЙ причём!! Абсолютно! Так я не матерился уже оооочень давно! По сранению с Q-Lite, фирмовый SunLite по интерфейсу — это «свет для офисников, которые ни одного пульта не держали в руках».
    Так что я буду пинать разрабов QLC, чтобы они баг пофиксили. Всё-таки софт этот отличный. Очень отличный. По сравнению даже с платными. Но вопрос вида «накидать оффлайн светошоу» у меня до сих пор остался.
    Вот только что испытал фишку того, что у меня пульт умеет с MTC (MIDI TimeCode) работать. И SoundForge его отлично выдаёт. Так что может и так замучу! =)

    По поводу ArtNet на 4 Universe. А вот прям в посте я ссыль приводил вот эту вот: https://www.ebay.com/itm/321060993223 — есть. И Designman (парень с нашего блога) его себе заказывал даже.

    По повоу сплиттера. Ага, это понятно. Это самый простой и дешманский сплиттер, поэтому он легко может бахнуть, конечно! Мне больше корпус был нужен, чем сплиттер. Хотя щас домашнее уже доходит до 8 Wash, 4 сканеров простых, 2 ROBE и 2 Bee Eye-голов… гмгмгм… так и 23 девайса в линии мало будет скоро! =)

  • 8 IGorCru

    CS, плиз, подскажи! Вот, ты даешь ссылку на то, что приобрел Designman.
    https://www.ebay.com/itm/321060993223

    У того же продавца есть такое же устройство:
    Art-Net to DMX sACN DMX, ArtNet 6 output & input ports ArtNet Ethernet, AN6DMX2E
    https://www.ebay.com/itm/Art-Net-to-DMX-sACN-DMX-ArtNet-6-output-input-ports-ArtNet-Ethernet-AN6DMX2E/323781860118
    Похоже на то, что они функционально равны? Мне кажется, что оно поновее.
    Интересует возможность использовать один из каналов устройства как Input DMX — чтобы завести сигналы с DMX-пульта в сеть AtNEt. А остальные использовать как выходы с конвертированием из ArtNet в DMX.

  • 9 CS  [Москва]

    IGorCru Привет! А хрен знает — я про те не в курсе!
    Я не стал такое брать и нашёл на Али рэковые конвертеры с дисплеем, в которых теперь можно нормально IPшку вбивать.

  • 10 IGorCru

    ок
    Спасибо.
    Попробуем Designman найти и спросить.

Оставить отзыв

Вы должны войти на блог, чтобы оставить комментарий.