Табло для бассейна
Здесь представлен пример конфигурации спортивного табло для бассейна на основе решения Lavritech LED PLC. Приведена конструкция табло и его основные функции, а также пошаговая инструкция по настройке данного варианта табло. Табло такого типа может отображать числовые значения (например, счётчик или таймер, текущее время), а также заранее заданный набор изображений. Также сохраняется возможность вывода текста шрифтом небольшого размера с поддержкой русского алфавита.
Примечание: Далее представлена типовая конфигурации табло. Для других вариантов табло набор физических характеристик (размеры, цветность, тип модулей), и характеристик ПО (интерфейсы связи, набор шрифтов, количество зон отображения) может быть изменён под потребности заказчика.
Описание
Конструкция
Данное табло выполнено с использованием светодиодных модулей с шагом светодиодов 4 мм (P4). Каждый модуль содержит 80x40 пикселей (80 светодиодов по ширине и 40 по высоте). А размер модуля составляет 320x160 мм. Типовые размеры табло могут составлять 3x2 или 2x2 модуля.
На торце табло (или на задней панели) присутствует переключатель режима работы c двумя положениями: "Настройка" и "Работа". Его удобно использовать при первом доступе к веб-интерфейсу табло, чтобы выполнить начальную настройку интерфейсов связи. Про его использование будет подробно описано в разделе "Настройка Wi-Fi подключения"
Интерфейсы связи
Табло может быть подключено к сети по беспроводному каналу связи (Wi-Fi), либо по проводному подключению (Ethernet).
Для настройки табло используется веб-интерфейс. Возможна удалённая настройка при использовании облачного сервиса https://cloud.lavritech.com/
Для удалённого управления табло (отправки информации) в данном примере будет использоваться протокол MQTT. MQTT - это широко распространённый протокол передачи данных по сети для IoT устройств. Для него существует множество программ-клиентов (как для ПК, так и для мобильного телефона), которые позволяют отправлять команды на табло. Многие из них позволяют создать удобный графический интерфейс. Для обеспечения связи программы с табло также потребуется MQTT-cервер (MQTT-брокер). Можно воспользоваться бесплатным (или платным) готовым сервером в сети Интернет (например wqtt.ru, mqtthq.com и другие), либо создать свой. Подробнее см. материалы в разделе "Связанные темы"
Особенности проекта
Возможность управления табло по различным интерфейсам обеспечивает контроллер Lavritech. Веб-интерфейс контроллера используется для конфигурации зон отображения. Также в состав проекта входит графическая плата управления светодиодными модулями - LED GPU. Она отвечает за отображение информации на табло (является аналогом графической платы ПК). Графическая плата имеет своё программное обеспечение.
Для этого проекта используется специализированная версия ПО для LED GPU:
- используется специальный шрифт для отображения цифр большого размера
- используется специальный шрифт с предустановленным набором изображений, позволяющий выводить изображения по его номеру
Начало работы
Настройка Wi-Fi подключения
- отключите питание устройства
- переведите устройство в режим настройки. Для этого переведите переключатель на торце табло в положение "Настройка".
- в сети появится Wi-Fi точка доступа
LavriTech
- перейдите по адресу
192.168.4.1
в браузере, далее откроется веб-интерфейс табло
- перейдите на вкладку
Main
- в разделе WIFI options выберите режим Station mode. Расшифровка режимов:
AP
- access point (режим точки доступа)Station
- режим подключения к уже имеющемуся роутеру
- выберите Dynamic IP (если хотите использовать динамический IP-адрес), и нажмите на кнопку
Set
- далее DHCP-сервер выдаст IP-адрес в поле
IP
(например, 192.168.1.120) - выключите питание устройства
- переведите переключатель на торце табло в положение "Работа"
- включите устройство
- теперь устройство подключится к вашей Wi-Fi сети и будет доступно по адресу 192.168.1.120, а точка доступа
LavriTech
перестанет быть доступной - во вкладке
Main
, в полеHost Name
можно задать удобное имя для устройства, например "ClockDisplay". Для сохранения настроек необходимо нажать на кнопкуSet
.
Настройка Ethernet подключения
В большинстве случаев табло также имеет возможность подключения к сети по кабелю (Ethernet).
Желательно также обеспечивать подключение по сети Wi-Fi как основной тип связи.
Динамический IP
Рассмотрим наиболее распространённый случай, когда в сети работает DHCP-сервер, раздающий IP адреса всем устройствам:
Подключите LAN-кабель и включите табло. По-умолчанию ПО светодиодного табло поддерживает автоматическое назначение IP-адреса по DHCP. Для установки соединения достаточно подключить табло к вашему роутеру или маршрутизатору и включить питание.
Определите IP адрес. Для доступа к веб-интерфейсу нам потребуется определить выданный IP-адрес. Найти устройство в сети можно несколькими способами:
- перевести устройство в режим настройки и зайти в веб-интерфейс через Wi-Fi точку доступа
LavriTech
- зайти в интерфейс вашего роутера и посмотреть список подключенных устройств
- установить на ПК или телефон программу IP сканера и просканировать сеть
Рассмотрим первый способ подробнее:
- чтобы перевести устройство в режим настройки, пожалуйста повторите шаги, описанные в разделе "Настройка Wi-Fi подключения"
- перейдите на вкладку
Main
в веб-интерфейсе - внизу, под настройками Wi-Fi подключения, будет доступен блок с настройками для Ethernet
- в поле адреса будет указан действующий IP адрес
Статический IP
Для установки статического IP-адреса устройства:
- перейдите на вкладку
Main
в веб-интерфейсе - выберите в настройках опцию Static IP и задайте вручную IP-адрес в поле ввода
IP
- также опционально можно указать IP-адрес роутера (основной шлюз) в поле
GW
- нажмите на кнопку
Set
для того, чтобы применить и сохранить новые настройки
Удалённое подключение
Облачный сервис https://cloud.lavritech.com/ позволяет удалённо получить доступ к веб-интерфейсу табло из сети Интернет. Включение/отключение этой возможности определяется конфигурацией прошивки Lavritech. При этом пользователю становятся доступны все настройки и визуальные элементы контроля и управления, как будто он находится в локальной сети. Для доступа к сервису необходимо иметь аккаунт в системе. Его можно получить у администратора по дополнительному запросу.
После входа в облако, в разделе Мои Устройства Вaм станет доступным список устройств.
При клике на карточке устройства откроется соответствующий веб-интерфейс.
Проверка связи с LED GPU
- включите табло
- перейдите на вкладку
Display
в веб-интерфейсе
- откроется окно настроек дисплея
- выберите тип дисплея Led Platform в выпадающем списке и нажмите кнопку
Set
- подождите некоторое время (3-5 секунд), пока информация на странице обновится. Вы увидите новый блок с элементами управления для настройки областей отображения.
-
контроллеру может потребоваться некоторое время для первоначальной установки связи с LED GPU. Пожалуйста, обновите страницу (нажав F5), если вы видите надпись "Not connected" внизу страницы.
-
при наличии верного соединения в блоке Display status вы увидите статус "Pro activated", а также идентификатор устройства. Это означает, что связь контроллера и LED GPU установлена.
Установка яркости
Устройство поддерживает несколько уровней яркости (от 1 до 10).
Их можно задать в поле Brightness на вкладке Display
.
Для сохранения уровня яркости нажмите на кнопку Set
.
Настройка областей отображения
Программное обеспечение поддерживает до 8-ми (или до 16-ти в некоторых версиях) областей областей отображения. Они определяют местоположение и вид данных.
Ниже показан общий интерфейс для настройки областей отображения.
Вначале указано поле Areas. Для перехода на нужную область нажмите на ссылку с её номером.
Каждая область имеет свои независимые настройки. Для сохранения настроек области нужно будет нажать на кнопку Sеt
Внимание! Перед переходом на другую область важно сохранить настройки, нажав на кнопку
Set
. Иначе настройки текущей области не будут изменены!
Описание доступных опций
Для каждой области можно задавать следующие параметры:
- в выпадающем списке выбирается привязка к данным, которые будут отображаться в текущей области
Zoom
- "зум" - увеличивает каждый пиксель кратно значению в этом поле.1
- обычный размер.Font
- идентификатор шрифта. Набор шрифтов зависит от версии прошивки для LED GPUText: x, y
- координаты начала строки текста (текст выводится внутри области)color
- задаёт цвет текста и цвет фона (RGB, см. примеры значений ниже)Area: x, y, height, width
- положение и размер области: координаты верхнего левого угла, высота и ширина в пикселях
Для сохранения параметров нажмите на кнопку Set
.
Значения цвета
Цвет указывается тремя цифрами в формате RGB, где каждая цифра соответствует интенсивности цвета по каналам.
Первая цифра - красный канал, вторая цифра - зелёный, третья - синий.
На данный момент поддерживаются 2 уровня интенсивности 0 (канал выключен) и 1 (канал включен). То есть можно выбрать 8 сочетаний цветов.
Примеры:
- 000 - чёрный
- 100 - красный
- 010 - зелёный
- 001 - синий
- 111 - белый
Пробная настройка областей (часы)
Для примера возьмём табло 3x2 модуля. Каждый модуль содержит 80x40 пикселей. Итого размер табло составляет 240x80 пикселей (240 по ширине и 80 по высоте). Опишем настройку областей отображения для табло бассейна.
Для начала создадим одну текстовую область во весь экран и посмотрим на ещё отображение. Для примера выведем текущее время. Для этого выберите из выпадающего списка Local time, и задайте параметры области как на скриншоте ниже:
Пояснения:
Zoom
= 1 - шрифт без увеличения, обычный размерFont
= 0 - шрифт под номером 0. В данном случае это будет моноширинный шрифт с размером символов 6x8 пикселейText
x = 80, y = 0 - смещаем начало строки текста на 80 пикселей (1 модуль) вправо, чтобы текущее время выводилось в середине таблоcolor
001 000 - устанавливаем цвета: синий текст на чёрном фонеArea
x = 0, y = 0, height = 80, width = 240 - задаём размеры области отображения во весь экран (height - высота, width - ширина)
Нажмите на кнопку Set
, чтобы сохранить настройки. На табло появится текущее время.
Для примера изменим параметры области, и сделаем большие часы во всё табло:
Font
= 1. - устанавливаем шрифт большого размера, в высоту экрана (высотой 80 пикселей). Этот шрифт поддерживает только цифры 0-9 и точку.Text
x = 0, y = 0 - убираем смещение- остальные параметры оставляем без изменений
- сохраняем настройки - нажав на кнопку
Set
Настройка областей для табло бассейна
Задача состоит в том, чтобы посетители бассейна могли видеть графическую информацию в виде значка и некоторое число. Например, это может быть состояние бассейна и температура воды в бассейне. Информация будет задаваться оператором, либо передаваться по MQTT (см. соответствующий раздел "Работа с MQTT"). Пример показан ниже:
Далее мы проведём настройку двух областей отображения: графической и числовой.
Графическая область
🔔 В данном примере использован специализированный графический шрифт. Набор символов в шрифте подбирается индивидуально с заказчиком.
В первой области расположим графический символ размером 80x80 пикселей. Он будет располагаться слева.
Для этого применим шрифт Font
= 2. Этот шрифт поддерживает 3 изображения, которые мы сможем выбирать, используя в качестве строки данных соответствующий номер:
- 1 - знак "Нет ограничений"
- 2 - знак "Купаться запрещено"
- 3 - знак "Нырять запрещено"
Примечание: Также можно выбрать пустое изображение под номером 0 чтобы очистить область.
Итак, зададим нужные параметры и размер области:
- в выпадающем списке выберем "Designer line 1"
- выберем основной цвет - зелёный (010)
- не используем смещение
- размеры области установим 80x80 пикселей
- сохраним настройки (
Set
)
Теперь покажем, как можно выставить определённое значение в области прямо из веб-интерфейса. Для этого воспользуемся встроенным инструментом "Designer lines".
Мы выбрали источник данных для области "Designer line 1". Как видно из снимка выше, у нас изменилось содержимое среднего блока. Теперь в нём отображается привязка, что данные для области 1 будут устанавливаться из "Designer line 1", а рядом появилась кнопка Edit
. Нажмите на неё.
Вам откроется интерфейс редактирования данных для строки 1 ("line 1"). Здесь доступно несколько строк, их можно выбирать по ссылкам вверху в списке Lines.
- вводим в поле для редактирования цифру 1, Таким образом мы выбираем знак "Нет ограничений".
- сохраняем данные, нажав на кнопку
Set
- далее можно вернуться в главное меню, нажав на кнопку
Main
(а оттуда можно попасть обратно в меню дисплеяDisplay
)
Через несколько секунд на табло появится знак "Нет ограничений" в соответствии с выбранными параметрами зоны отображения
Числовая область
Настроим вторую область отображения, она будет располагаться левее первой, и предназначена для вывода чисел.
Внимание! При переходе на страницу
Display
c главной страницы, важно контролировать какая область для редактирования выбрана в спискеAreas
, и при необходимости выбирать нужную.
- выбираем в списке
Areas
область 2 (кликаем по ссылке) - устанавливаем привязку к данным: выбираем в выпадающем списке вторую линию - "Designer line 2"
Font
= 1 - выбираем шрифт 1, который поддерживает крупные символы для цифр и символ точкиText
x = 80, y = 0 - смещаем начало строки текста на 80 пикселей (на ширину первой области)Area
x = 0, y = 0, height = 80, width = 240 - в размерах области тоже задаём смещение 80 пикселей, а длину 160 пикселей (до конца экрана). Высота во весь экран: 80 пикселей.color
001 000 - задаём желаемый цвет текста и фона. Например, выбираем синие цифры на чёрном фоне.Set
- сохраняем настройки для второй области.
Теперь откроем редактор. В среднем блоке должна появится привязка второй области и кнопка Edit
.
- нажимаем
Edit
напротив "Designer line 2" - убеждаемся, что сейчас активна линия под номером 2
- редактируем текст, задаём желаемое число, например
123
- сохраняем по кнопке
Set
В итоге на табло будет отображаться 2 области c выбранным данными:
Работа с MQTT
В примере выше мы рассмотрели применение "Designer lines", чтобы выводить на табло данные, установленные напрямую в веб-интерфейсе контроллера. Также часто возникает необходимость удалённого управления и передачи данных на контроллер из других программ и систем. И одним из распространённых способов является применение протокола MQTT.
Подготовка
Для использования этого способа связи вам потребуется MQTT-брокер. Можно воспользоваться бесплатным (или платным) готовым сервером в сети Интернет (например wqtt.ru, mqtthq.com, либо создать свой. Далее мы предполагаем что у Вас уже есть MQTT-брокер и данные для входа в него. Ниже будет показан пример подключения к одному из брокеров.
Протестировать подключение к MQTT-брокеру можно при помощи программы MQTT-клиента. Также при помощи такой программы мы будет отправлять данные и команды на табло. Для него существует множество программ-клиентов (как для ПК, так и для мобильного телефона), которые позволяют отправлять команды на табло. Многие из них позволяют создать удобный графический интерфейс. Мы будем использовать бесплатную утилиту MQTT Explorer.
Более подробную информацию можно получить по ссылкам из раздела "Связанные темы".
Рассмотрим подключение на примере брокера wqtt.ru. Новым пользователям данного сервиса предоставляется бесплатный тестовый период. После прохождения регистрации вы попадёте в панель управления. Выбираем в меню пункт "Брокер". Нас интересуют данные для подключения:
Теперь на ПК запустим программу MQTT-клиента: MQTT Explorer.
В настройках подключения скопируем информацию, которую мы получили на скриншоте выше:
- адрес и порт брокера
- логин и пароль пользователя
- можно задать имя для этого подключения и сохранить настройки по кнопке
Save
- соединяемся с сервером - нажимаем
Connect
По-умолчанию вам будет доступна сервисная информация о брокере: вы увидите набор "топиков" и их значений. Информация периодически обновляется. Это означает, что подключение установлено и брокер успешно функционирует. Таким образом, теперь у нас установлена связь с брокером, и оператор сможет принимать и посылать сообщения ко всем подключенным устройствам.
Подключение табло к MQTT-брокеру
Подключение контроллера табло к брокеру выполняется через веб-интерфейс:
- открываем главную страницу, и в блоке Config переходим в пункт Servers
- устанавливаем галочку "Enable send MQTT"
- устанавливаем период обновления (по умолчанию раз в минуту)
- вводим данные брокера
- нажимаем кнопку
Set
- перезагружаем контроллер
Внимание! Крайне рекомендуется после настройки MQTT всегда перезагружать контроллер и убеждаться что свежие данные появились в MQTT-клиенте. Перезагрузить контроллер можно из веб-интерфейса, выбрав на главной странице пункт Restart.
Через несколько секунд контроллер подключится к брокеру, а на странице Servers в интерфейсе справа появится надпись "OK"
Вернёмся в MQTT Explorer и убедимся что теперь мы принимаем сообщения от нашего табло.
Одним из интересных параметров является uptime
- время работы в секундах от момента перезагрузки.
Пример отправки данных через MQTT-топики
Для начала отключим привязку данных для областей к "Designer lines". Для этого выберите пункт "NOT selected" в выпадающем списке и сохраните настройки по кнопке Set
. Повторите действия для всех используемых областей отображения.
Теперь на табло в нужную область отображения можно отправлять данные через MQTT.
Для этого используется топик вида login/hostname/set/lcd/lineX, где X - номер области отображения.
Разберём поля топика подробнее:
- login - ваш логин пользователя в MQTT-брокере, у нас он равен
u_ISW9PF
- hostname - название устройства, которое мы видим на главной странице. В данном примере это
OFFICE_LED_TST
. Название устройства можно поменять в вёб-интерфейсе в разделеMain
, параметрHost name
. - set - идентификатор записи - признак того, что мы устанавливаем значение
- lcd - идентификатор типа дисплея, всегда равен
lcd
- lineX - идентификатор области отображения. Вместо
X
указываем номер области отображения
Составим по этому принципу 2 топика для записи данных:
u_ISW9PF/OFFICE_LED_TST/set/lcd/line1
- для записи в графическую областьu_ISW9PF/OFFICE_LED_TST/set/lcd/line2
- для записи в числовую область
Теперь откроем MQTT Explorer и сформируем несколько команд.
Для отправки сообщений предназначен блок "Publish". Он расположен в панели справа (при необходимости прокрутите содержимое панели)
Например, изменим знак в графической области, установим знак "Купаться запрещено" (код 2
):
- находим блок Publish
- в поле Topic вводим название топика для записи в область
u_ISW9PF/OFFICE_LED_TST/set/lcd/line1
- ниже в поле для текста сообщения вводим
2
. Это данные, которые будут выведены в область (в нашем случае код графического символа) - для отправки команды на табло нажимаем кнопку
Publish
Аналогично изменим содержимое числовой области:
- в поле Topic меняем
line1
наline2
- в текстовом поле пишем новое число, например
31.4
- контролируем результат на табло:
Управление цветом
Рассмотрим вывод графических знаков разными цветами. Часть знаков в этом проекте являются запрещающими, и их логично выводить красным цветом.
Для решения этой задачи создадим ещё одну область отображения (область 3), которая будет копией первой области, но основной цвет зададим красный (100
).
Далее из MQTT Explorer отправляем в область 3 код для знака "Купаться запрещено" (2). Знак будет выведен красным цветом.
Теперь, отправляя сообщения в топик с нужным номером области (line1
или line3
), можно быстро менять цвет знака.
Работа со встроенным реле
В некоторых модификациях табло дополнительно может быть установлено встроенное реле. С помощью данного реле можно подключать различную нагрузку, например управлять светом или сиреной. Реле можно управлять как из веб-интерфейса, так и через MQTT.
Начальная настройка реле
Как правило, табло с функцией реле поставляются с уже выполненной начальной настройкой. Начальная настройка реле необходима, если Вы устанавливаете ПО самостоятельно, или случайно сбросили настройки. Вы можете заказать начальную настройку реле у наших специалистов, либо самостоятельно выполнить шаги, описанные ниже.
Рассмотрим настройку на примере двухканального Modbus-реле WB-MRM2-mini. Реле данного типа часто устанавливается внутри корпуса табло. На торце реле указан его Modbus-адрес, который нам понадобится позже. Этот адрес также может быть предоставлен по запросу при заказе табло.
Убедимся, что связь контроллера с реле установлена:
- подключаемся к веб-интерфейсу табло, далее в блоке Сonfig переходим в пункт Modbus. Откроется страница настроек.
- в поле Address вводим адрес реле (
210
) - выбираем в выпадающем списке пункт WB Check address
- сохраняем настройки по кнопке
Set
- переходим обратно на главную страницу по ссылке
Main
- ждём несколько секунд
- при необходимости обновляем страницу в браузере
- если линия связи в порядке и настройки заданы верно, то на главной странице появится новая строка с адресом реле:
Далее настроим интеграцию реле с ПО контроллера:
- снова переходим в пункт Modbus
- вверху нажимаем на ссылку Discrete device. Откроется новая страница настроек.
- вводим настройки, согласно изображению ниже:
- выбираем опцию "Discrete Coils"
- в поле Address вводим адрес реле (
210
) - в поле Start register вводим 0
- поле len отражает количество каналов реле и не меняется. У нас 2 канала.
- сохраняем настройки по кнопке
Sеt
Внутри системы контроллера существует своя нумерация подключенных входов и выходов от различных устройств.
Обратите внимание на номера в строке GPIO control: 180-181
.
Это означает, что в данном случае каналы реле будут распределены следующим образом:
- первый канал реле будет доступен по номеру
180
- второй канал реле будет доступен по номеру
181
Номера желательно записать, они понадобятся позже.
Управление реле через веб-интерфейс
Для удобного управления реле создадим кнопку в веб-интерфейсе на главную страницу:
- переходим на главную страницу, далее в блоке Сonfig выбираем Web key
- в поле GPIO прописываем
180
- номер для первой группы контактов реле (K1) - в поле Name указываем желаемое название кнопки
- вторую кнопку пока оставим пустой, для этого в поле GPIO во второй строке оставляем номер
255
- сохраняем настройки, нажимаем кнопку
Set
Вернёмся на главную страницу по ссылке Main
.
Теперь на главной странице доступна кнопка для управления контактной группой реле.
В данной версии табло установлено реле с нормально-открытыми контактами (версия NO). Соответственно, когда кнопка не активна (серая) контакты реле разомкнуты и нагрузка отключена. Для включения нагрузки нажмите на кнопку, кнопка перейдёт в активное состояние и станет зелёной. Для отключения нагрузки нажмите на кнопку повторно.
Также состояние кнопки может выступать как индикатор состояния реле. Для более оперативного обновления информации рекомендуется обновлять страницу вручную.
Управление реле через MQTT
Для управления реле можно использовать запись в топик вида login/hostname/set/gpioXXX, где XXX - номер выхода в системе нумерации контроллера.
Напомним, что для первого канала реле у нас этот номер равен 180
, а для второго - 181
Таким образом, составим 2 топика для записи значений в канал реле:
u_ISW9PF/OFFICE_LED_TST/set/gpio180
- для управление первым каналом (первой группой контактов реле) - группа K1u_ISW9PF/OFFICE_LED_TST/set/gpio181
- для управление вторым каналом (второй группой контактов реле) - группа K2
В тексте сообщения можно использовать значения 0
и 1
.
Для реле с нормально-открытыми контактами (версия NO) они означают:
0
- разомкнуть контакты реле (отключить нагрузку)1
- замкнуть контакты реле (включить нагрузку)
Ниже показан пример посылки команды из MQTT Explorer для включение нагрузки на первом канале реле. Изменение состояния реле можно проконтролировать в дереве слева: значение в топике на чтение (u_ISW9PF/OFFICE_LED_TST/gpio180
) изменится на 1
. А также через несколько секунд будет обновлено состояние кнопки в веб-интерфейсе (при необходимости обновите главную страницу вручную).
При нахождении рядом с табло можно также проконтролировать срабатывание реле на слух.