Skip to content

Распределенная матрица

vvip-68 edited this page Apr 29, 2023 · 2 revisions

Распределенные матрицы

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

Максимальное количество диодов в матрице для этого режима - 2040. Для увеличения количества диодов (для очень больших матриц) требуется корректировка кода в скетче.

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

Пример использования режима "распределенной матрицы" - создание цельной широкой гирлянды на окнах квартиры (или несколькитх квартир), когда затруднительно тянуть провода (особенно сигнальные), соединяющие сегменты матрицы, размещенные на окнах в соседних комнатах, а тем более - на разных этажах дома в соседних квартирах.

Необходимое условие - все управляющие микроконтроллеры должны находиться в одной локальной сети.

Распределенная матрица

Настройка распределенного режима.

Шаг 1 - Подготовка

Загрузите в микроконтроллеры актуальную прошивку. В прошивке должна быть включена опция #define USE_E131 1. В Web-приложении в настройке сетевых подключений для каждого микроконтроллера выделите собственный IP-адрес.

Для работы мастер-устройства - источника изображения рекомендуется выбирать микроконтроллер на основе ESP32, поскольку в мастере должно быть достаточно оперативной памяти для формирования полного виртуального кадра.

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

Шаг 2 - Теория

Возьмем для примера, что полная гирлянда имеет размер 32x32 пикселя и состоит из четырех отдельных сегментов 16x16. Отсчет пикселей в гирлянде - левый верхний угол, координаты угла - X=0, Y=0. Все устройства принадлежат одной группе синхронизации.

Обозначим, для примера устройства:

Устройство Микроконтроллер IP-адрес Сегмент Начало Размер
Мастер ESP32 192.168.0.100 Сегмент 1 0,0 16x16
Приемник 1 ESP8266 192.168.0.101 Сегмент 2 16,0 16x16
Приемник 2 ESP8266 192.168.0.102 Сегмент 3 0,16 16x16
Приемник 3 ESP8266 192.168.0.103 Сегмент 4 16,16 16x16

Мастер - ESP32 - формирует полный кадр размером 32x32, однако физически имеет подключенную матрицу размером 16x16 - Сегмент 1

Приемник 1 - ESP8266 - принимает от Мастера полный кадр в сетевых пакетах протокола E1.31, но "выкусывает" из полного кадра только свой сегмент - Сегмент 1 с расположением в полном кадре левый верхний угол X=16, Y=0 с размером сегмента 16х16.

Приемник 2 - ESP8266 - принимает от Мастера полный кадр в сетевых пакетах протокола E1.31, но "выкусывает" из полного кадра только свой сегмент - Сегмент 2 с расположением в полном кадре левый верхний угол X=0, Y=16 с размером сегмента 16х16.

Приемник 3 - ESP8266 - принимает от Мастера полный кадр в сетевых пакетах протокола E1.31, но "выкусывает" из полного кадра только свой сегмент - Сегмент 3 с расположением в полном кадре левый верхний угол X=16, Y=16 с размером сегмента 16х16.

Шаг 3 - Настройка

Откройте в браузере Web-интерфейс устройства, назначенного мастером. В нашем случае - мастер имеет IP-адрес 192.168.0.100. Перейдите к пункту "Настройки" - Группы. В области "Синхронихация устройств" установите параметры как на картинке - Режим работы - Источник (мастер), Тип синхронизации - Логический порядок, Группа синхронизации - выбранную нами по соглашению выше - Группа 0. Все настраиваемые устройства должны принадлежать одной группе. Нажмите кнопку "Применить".

Настройка - источник

Настройка устройств-приемников в принципе одинаковая, за исключением указания позиции виртуального кадра с источника, откуда выполнять захват картинки для вывода на матрицу.

Настройка - приемники

Все устройства - приемники включаются в Режим работы "Приемник (ведомый)", Тип синхронизации - "Логический", всем прияемникам назначается группа синхранизации, присвоенная ранее мастер-устройству.

Для устройства Сегмент 1 - указывается, что из полного виртуального кадра требуется извлечь чатсь изображения, размером 16х16, левый верхний угол которого имеет координаты X=16,Y=0

Для устройства Сегмент 2 - указывается, что из полного виртуального кадра требуется извлечь чатсь изображения, размером 16х16, левый верхний угол которого имеет координаты X=0,Y=16

Для устройства Сегмент 3 - указывается, что из полного виртуального кадра требуется извлечь чатсь изображения, размером 16х16, левый верхний угол которого имеет координаты X=16,Y=16

Все приемники имеют настройку вывода на свою матрицу, подключенную к приемнику, с координатоми левого верхнего угла матрицы X=0,Y=0.

Для применения настроек приемника - нажмите кнопку "Применить". Настройки должны вступить в силу немедленно, вывод полного кадра - посегментно на каждом устройстве в соответствии с привязкой.

Дополнительно

При потере сигнала от Мастера каждый приемник переходит в режим автономной работы - начинает воспроизводить эффекты на матрице в соответствии с собственной программой настроек эффектов. При возобновлении сигнала от мастера* все приемники автоматически переключаются в синхронный режим работы в группе.

В художественных целях (например, оформление сцены) можно создавать панели распределенного экрана с пересекающимися границами (угол захвата окна мастера X,Y), разных размеров сегментов матрицы и так далее. Источником сигнала - мастером может быть назначен компьютер, подключенный к сети на котором эффекты формирует одна из программ типа Jinx! Фантазируйте!

Clone this wiki locally