LCD - LCD дисплей для устройств
LCD - LCD дисплей для устройств
Обзор
VyOS поддерживает конфигурацию и управление LCD дисплеями для аппаратных устройств, таких как 19-дюймовые серверы в стойках или специализированные сетевые устройства. LCD дисплеи позволяют отображать информацию о состоянии системы в реальном времени непосредственно на физическом устройстве без необходимости подключения монитора или удаленного доступа.
Основные возможности
- Отображение системной информации: Загрузка CPU, использование памяти, сетевые интерфейсы
- Статус сети: IP-адреса, статистика интерфейсов, информация о соединениях
- Пользовательские сообщения: Настраиваемый текст для идентификации устройства
- Поддержка LCDPROC: Использование мощного демона LCDPROC для управления дисплеями
- Множество типов подключения: USB, последовательный порт (serial), параллельный порт
Важные замечания
Архитектура LCDPROC
VyOS использует LCDPROC - клиент-серверную архитектуру для управления LCD дисплеями:
- LCDd (демон): Серверный процесс, который напрямую взаимодействует с аппаратным дисплеем
- Клиенты: Программы, которые подключаются к LCDd для отображения информации
- Драйверы: Специфичные для оборудования модули для различных моделей дисплеев
Преимущества LCDPROC
- Модульность: Разделение логики отображения от аппаратного управления
- Множественные клиенты: Несколько программ могут использовать один дисплей
- Поддержка широкого спектра оборудования: Обширная база драйверов
- Сетевая прозрачность: Возможность удаленного управления дисплеем
Поддерживаемые модели дисплеев
CrystalFontz
VyOS официально поддерживает следующие модели CrystalFontz:
CFA-533
Модель: cfa533
Тип: LCD текстовый дисплей
Размер: 16x2 символа
Интерфейс: USB
Особенности:
- 4 направленные кнопки навигации
- Подсветка с регулируемой яркостью
- Контрастность настраиваема программноКонфигурация:
set system lcd device ttyUSB0
set system lcd model cfa533
commit
saveCFA-631
Модель: cfa631
Тип: LCD текстовый дисплей
Размер: 20x2 символа
Интерфейс: USB
Особенности:
- Увеличенный размер дисплея
- 4 направленные кнопки + 2 дополнительные
- RGB подсветка
- Встроенный температурный датчикКонфигурация:
set system lcd device ttyUSB0
set system lcd model cfa631
commit
saveCFA-633
Модель: cfa633
Тип: LCD текстовый дисплей
Размер: 16x2 символа
Интерфейс: USB / Serial
Особенности:
- Гибкое подключение (USB или RS-232)
- 4 направленные кнопки
- Подсветка с регулировкой
- Совместимость с 5.25" отсекомКонфигурация (USB):
set system lcd device ttyUSB0
set system lcd model cfa633
commit
saveКонфигурация (Serial):
set system lcd device ttyS0
set system lcd model cfa633
commit
saveCFA-635
Модель: cfa635
Тип: LCD текстовый дисплей
Размер: 20x4 символа
Интерфейс: USB / Serial
Особенности:
- Большой дисплей 20x4
- 6 направленных кнопок
- RGB подсветка
- До 4 вентиляторов с управлением
- Температурные датчики (до 32)
- DOW считывательКонфигурация:
set system lcd device ttyUSB0
set system lcd model cfa635
commit
saveMatrix Orbital
Популярные модели Matrix Orbital:
- GLK12232-25-USB: Графический дисплей 122x32
- GLK19264-7T-1U: Графический дисплей 192x64
- LK162-12: Текстовый дисплей 16x2
- LK204-25: Текстовый дисплей 20x4
Другие производители
LCDPROC поддерживает дисплеи от:
- Hitachi HD44780: Базовый LCD контроллер (множество производителей)
- Noritake: VFD дисплеи
- SureElec: USB LCD дисплеи
- Tyan: Встроенные дисплеи серверов
- Shuttle: Дисплеи для ПК-корпусов
Конфигурация
Базовая настройка
Минимальная конфигурация требует указания устройства и модели дисплея:
configure
set system lcd device <device_path>
set system lcd model <model_name>
commit
saveОпределение устройства
Автоматическое определение USB устройств
VyOS поддерживает tab-completion для доступных последовательных интерфейсов:
configure
set system lcd device <TAB>Вывод:
Possible completions:
ttyS0 Serial port 0
ttyS1 Serial port 1
ttyUSB0 USB serial device 0
ttyUSB1 USB serial device 1Определение USB LCD вручную
Для определения подключенного USB LCD дисплея:
lsusbПример вывода:
Bus 001 Device 003: ID 0403:fc0d Future Technology Devices International, LtdПроверка создания устройства:
ls -la /dev/ttyUSB*Вывод:
crw-rw---- 1 root dialout 188, 0 Oct 15 10:23 /dev/ttyUSB0Последовательные порты (Serial)
Стандартные последовательные порты:
- ttyS0: COM1 (IRQ 4, IO 0x3F8)
- ttyS1: COM2 (IRQ 3, IO 0x2F8)
- ttyS2: COM3 (IRQ 4, IO 0x3E8)
- ttyS3: COM4 (IRQ 3, IO 0x2E8)
Проверка доступности порта:
dmesg | grep ttySВыбор модели дисплея
Список поддерживаемых моделей можно получить через tab-completion:
configure
set system lcd model <TAB>Вывод:
Possible completions:
cfa533 Crystalfontz CFA-533
cfa631 Crystalfontz CFA-631
cfa633 Crystalfontz CFA-633
cfa635 Crystalfontz CFA-635Пример полной конфигурации
Пример 1: CFA-633 через USB
configure
# Настройка LCD дисплея
set system lcd device ttyUSB0
set system lcd model cfa633
# Применение конфигурации
commit
# Сохранение конфигурации
save
exitПример 2: CFA-635 через Serial
configure
# Настройка LCD дисплея
set system lcd device ttyS0
set system lcd model cfa635
# Применение конфигурации
commit
# Сохранение конфигурации
save
exitПример 3: CFA-533 для стоечного сервера
configure
# LCD дисплей для идентификации в стойке
set system lcd device ttyUSB0
set system lcd model cfa533
# Настройка hostname для отображения
set system host-name rack-router-01
# Применение и сохранение
commit
save
exitОтображаемая информация
Системные экраны
LCDPROC автоматически циклически отображает следующую информацию:
Экран 1: Системная информация
VyOS 1.5.0-rc
Uptime: 5d 3h 42mОтображает:
- Версию VyOS
- Время работы системы (uptime)
Экран 2: Процессор и память
CPU: 45% [|||| ]
MEM: 2.3G/8.0G 28%Отображает:
- Загрузку процессора в процентах и графически
- Использование памяти (использовано/всего)
Экран 3: Сетевые интерфейсы
eth0: 192.168.1.1
UP 1000Mb/s FullОтображает:
- IP-адрес основного интерфейса
- Статус линка и скорость соединения
Экран 4: Статистика сети
RX: 1.2TB 45Mb/s
TX: 834GB 12Mb/sОтображает:
- Полученные данные (всего и текущая скорость)
- Отправленные данные (всего и текущая скорость)
Экран 5: Hostname
rack-router-01
ReadyОтображает:
- Имя хоста системы
- Статус готовности
Время обновления
Информация на дисплее обновляется:
- Системная информация: Каждые 5 секунд
- CPU/Memory: Каждую секунду
- Сетевая статистика: Каждые 2 секунды
- Переключение экранов: Каждые 4-6 секунд
Проверка конфигурации
Просмотр активной конфигурации
show configuration commands | grep lcdВывод:
set system lcd device 'ttyUSB0'
set system lcd model 'cfa633'Проверка статуса LCDPROC
Проверка запущенного процесса LCDd:
ps aux | grep LCDdВывод:
root 1234 0.1 0.2 12345 6789 ? Ss 10:23 0:01 /usr/sbin/LCDdПроверка логов
Просмотр логов LCDPROC для диагностики:
journalctl -u lcdproc.serviceИли:
cat /var/log/syslog | grep -i lcdprocТестирование подключения
Проверка доступности устройства:
ls -la /dev/ttyUSB0Проверка прав доступа:
stat /dev/ttyUSB0Устранение неполадок
Проблема: Дисплей не инициализируется
Симптомы: Дисплей остается пустым после конфигурации.
Решение 1: Проверить правильность устройства
# Список USB устройств
lsusb
# Список последовательных устройств
ls -la /dev/ttyUSB* /dev/ttyS*
# Проверить, что устройство создано
dmesg | tail -50Решение 2: Проверить права доступа
# Добавить пользователя в группу dialout
sudo usermod -a -G dialout root
# Проверить права на устройство
ls -la /dev/ttyUSB0
# Должно быть: crw-rw---- 1 root dialoutРешение 3: Перезапустить службу LCDPROC
sudo systemctl restart lcdproc
sudo systemctl status lcdprocПроблема: Неправильная модель дисплея
Симптомы: Дисплей показывает искаженные символы или мерцает.
Решение: Убедиться в правильности модели
configure
# Удалить старую конфигурацию
delete system lcd model
# Установить правильную модель
set system lcd model <correct_model>
commit
saveПроблема: USB устройство отключается
Симптомы: Дисплей периодически пропадает.
Решение 1: Отключить USB autosuspend
# Найти USB устройство
lsusb -t
# Отключить autosuspend для конкретного устройства
echo -1 > /sys/bus/usb/devices/1-1/power/autosuspend_delay_msРешение 2: Проверить питание USB
# Проверить ограничения по питанию
lsusb -v | grep -i maxpower
# Убедиться, что USB порт обеспечивает достаточное питаниеПроблема: Конфликт последовательного порта
Симптомы: Ошибка “Device is busy” при конфигурации.
Решение: Проверить, не используется ли порт другим процессом
# Проверить процессы, использующие устройство
lsof /dev/ttyUSB0
# Или через fuser
fuser /dev/ttyUSB0
# Остановить конфликтующий процесс
kill <PID>Проблема: Дисплей показывает старую информацию
Симптомы: Информация на дисплее не обновляется.
Решение: Перезапустить LCDPROC с очисткой
# Остановить службу
sudo systemctl stop lcdproc
# Очистить возможные блокировки
sudo rm -f /var/run/LCDd.pid
# Запустить снова
sudo systemctl start lcdproc
# Проверить статус
sudo systemctl status lcdprocПроблема: Неподдерживаемая модель
Симптомы: Нужная модель не появляется в tab-completion.
Решение: Запросить добавление поддержки
- Проверить поддержку в LCDPROC напрямую
- Создать feature request в VyOS Phabricator:
- URL: https://vyos.dev/
- Указать модель дисплея
- Указать производителя и спецификации
- Приложить документацию на дисплей
Временное решение: Ручная конфигурация LCDPROC
# Редактировать конфигурационный файл LCDPROC напрямую
sudo vi /etc/LCDd.conf
# Добавить секцию для вашего драйвера
[your_driver]
Device=/dev/ttyUSB0
Size=20x4
# Перезапустить службу
sudo systemctl restart lcdprocРасширенная конфигурация
Ручная настройка LCDPROC
Для продвинутых настроек можно редактировать конфигурационный файл LCDPROC напрямую:
sudo vi /etc/LCDd.confПример расширенной конфигурации для CFA-635:
[server]
Driver=CFontz635
Bind=127.0.0.1
Port=13666
ReportLevel=3
ReportToSyslog=yes
[CFontz635]
Device=/dev/ttyUSB0
Size=20x4
Contrast=560
Brightness=1000
OffBrightness=0
Speed=115200
NewFirmware=yes
Reboot=noНастройка контрастности и яркости
Для моделей с программной настройкой:
[CFontz633]
Device=/dev/ttyUSB0
Size=16x2
# Контрастность (0-1000)
Contrast=500
# Яркость (0-1000)
Brightness=800
# Яркость при неактивности (0-1000)
OffBrightness=100Настройка скорости порта
Для последовательных подключений:
[CFontz633]
Device=/dev/ttyS0
# Скорость передачи (baud rate)
Speed=19200
# Возможные значения: 1200, 2400, 9600, 19200, 38400, 57600, 115200Настройка кнопок
Для моделей с кнопками:
[menu]
# Включить меню с кнопками
MenuKey=Enter
# Назначение кнопок
UpKey=Up
DownKey=Down
LeftKey=Left
RightKey=RightЛучшие практики
1. Выбор устройства
- USB предпочтительнее: USB соединения более универсальны и просты в настройке
- Serial для критичных систем: Последовательные порты более надежны в суровых условиях
- Избегайте длинных USB кабелей: Используйте кабели не длиннее 3 метров
2. Идентификация в дата-центре
Используйте осмысленные имена хостов для облегчения идентификации:
set system host-name dc1-edge-router-01
set system domain-name example.comДисплей будет показывать:
dc1-edge-router-01
.example.com3. Документирование конфигурации
Добавьте описание системы:
set system description "Edge Router - Rack 15, Position 23"4. Мониторинг состояния дисплея
Создайте скрипт для периодической проверки:
#!/bin/bash
# /config/scripts/check_lcd.sh
if ! pgrep -x "LCDd" > /dev/null; then
logger "LCD daemon not running, restarting..."
systemctl restart lcdproc
fiДобавьте в планировщик:
set system task-scheduler task check-lcd interval 5m
set system task-scheduler task check-lcd executable path /config/scripts/check_lcd.sh5. Резервное копирование конфигурации
LCD конфигурация сохраняется в /config/config.boot:
# Резервная копия
sudo cp /config/config.boot /config/config.boot.backup
# Или через VyOS команду
save /config/config.boot.backup6. Питание USB устройств
Для предотвращения проблем с питанием:
- Используйте порты USB 3.0 (больше мощности)
- Рассмотрите использование USB хаба с питанием
- Проверяйте потребление:
lsusb -v | grep MaxPower
7. Совместимость с серверным оборудованием
При установке в серверное шасси:
- Проверьте размеры дисплея (5.25" или 3.5" отсек)
- Убедитесь в совместимости крепежа
- Проверьте доступность USB/Serial портов изнутри шасси
8. Тестирование при обновлении
После обновления VyOS:
# Проверить конфигурацию LCD
show configuration commands | grep lcd
# Проверить статус службы
systemctl status lcdproc
# Проверить логи
journalctl -u lcdproc.service -n 50Интеграция с мониторингом
SNMP мониторинг дисплея
Можно мониторить статус LCD через SNMP:
configure
# Включить SNMP
set service snmp community public authorization ro
set service snmp community public network 192.168.1.0/24
commit
saveПроверка с удаленного хоста:
snmpwalk -v2c -c public <router-ip> .1.3.6.1.4.1.2021.11Интеграция с системными событиями
Можно расширить функциональность для отображения критических событий на дисплее через пользовательские скрипты и LCDPROC клиенты.
Примеры использования
Пример 1: Пограничный маршрутизатор в стойке
configure
# Основная конфигурация системы
set system host-name border-router-dc1-r15
set system domain-name corp.example.com
set system description "Border Router - DC1, Rack 15"
# LCD дисплей
set system lcd device ttyUSB0
set system lcd model cfa635
# Время и NTP
set system time-zone UTC
set system ntp server 0.pool.ntp.org
set system ntp server 1.pool.ntp.org
commit
saveПример 2: Firewall с последовательным дисплеем
configure
# Системная конфигурация
set system host-name fw-dmz-01
set system description "DMZ Firewall"
# LCD через последовательный порт
set system lcd device ttyS0
set system lcd model cfa633
# Конфигурация интерфейсов для отображения
set interfaces ethernet eth0 description "WAN"
set interfaces ethernet eth1 description "DMZ"
set interfaces ethernet eth2 description "LAN"
commit
saveПример 3: VPN концентратор
configure
# Системная конфигурация
set system host-name vpn-concentrator-01
set system description "VPN Gateway - Branch Office"
# LCD дисплей
set system lcd device ttyUSB0
set system lcd model cfa631
# VPN конфигурация будет видна на дисплее
set vpn ipsec site-to-site peer 203.0.113.1 description "HQ"
commit
saveСравнение моделей
| Модель | Размер | Интерфейс | Кнопки | Подсветка | Применение |
|---|---|---|---|---|---|
| CFA-533 | 16x2 | USB | 4 | Одноцветная | Базовое, компактное |
| CFA-631 | 20x2 | USB | 6 | RGB | Расширенное, цветное |
| CFA-633 | 16x2 | USB/Serial | 4 | Одноцветная | Универсальное |
| CFA-635 | 20x4 | USB/Serial | 6 | RGB | Профессиональное |
Рекомендации по выбору
CFA-533:
- Бюджетный вариант
- Базовый функционал
- Компактные устройства
CFA-631:
- Средний сегмент
- Больше информации (20 символов)
- RGB подсветка для цветовой индикации
CFA-633:
- Универсальный выбор
- Гибкость подключения
- Совместимость с 5.25" отсеком
CFA-635:
- Профессиональный уровень
- Максимум информации (20x4)
- Дополнительный функционал (вентиляторы, датчики)
- Серверное применение
Заключение
LCD дисплеи в VyOS предоставляют удобный способ мониторинга состояния системы непосредственно на физическом устройстве. Это особенно полезно для:
- Дата-центров: Быстрая идентификация устройств в стойке
- Удаленных локаций: Локальная диагностика без удаленного доступа
- Критичных систем: Мониторинг без зависимости от сети
- Промышленных применений: Надежное отображение в жестких условиях
Ключевые моменты
- Только bare-metal: Функция не работает в виртуальных средах
- Ограниченная поддержка: Проверьте совместимость вашей модели
- Простая конфигурация: Всего две команды для базовой настройки
- Автоматическое управление: LCDPROC автоматически циклически отображает информацию
- Расширяемость: Возможность ручной настройки LCDPROC для продвинутых сценариев
Дальнейшие шаги
- Проверьте совместимость вашего LCD дисплея
- Определите тип подключения (USB или Serial)
- Примените базовую конфигурацию
- Проверьте отображение информации
- При необходимости настройте расширенные параметры
Дополнительные ресурсы
- VyOS Documentation: https://docs.vyos.io/en/latest/configuration/system/lcd.html
- LCDPROC Project: http://lcdproc.org/
- CrystalFontz Support: https://www.crystalfontz.com/support/
- VyOS Community: https://forum.vyos.io/
- VyOS Bug Tracker: https://vyos.dev/
Примечание: Данная документация актуальна для VyOS 1.4 (Sagitta) и VyOS 1.5 (Circinus). Функциональность LCD дисплеев является стабильной и существенно не меняется между версиями.