LCD - LCD дисплей для устройств

LCD - LCD дисплей для устройств

Обзор

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

Основные возможности

  • Отображение системной информации: Загрузка CPU, использование памяти, сетевые интерфейсы
  • Статус сети: IP-адреса, статистика интерфейсов, информация о соединениях
  • Пользовательские сообщения: Настраиваемый текст для идентификации устройства
  • Поддержка LCDPROC: Использование мощного демона LCDPROC для управления дисплеями
  • Множество типов подключения: USB, последовательный порт (serial), параллельный порт

Важные замечания

ℹ️
Только для физического оборудования: Функциональность LCD дисплея предназначена исключительно для bare-metal установок VyOS на физическом оборудовании. Данная функция не применима для виртуальных машин или облачных развертываний.
⚠️
Ограниченная поддержка моделей: VyOS поддерживает ограниченный набор LCD дисплеев из коробки. Если ваша модель не поддерживается, создайте запрос на добавление функциональности через систему отслеживания проблем VyOS.

Архитектура LCDPROC

VyOS использует LCDPROC - клиент-серверную архитектуру для управления LCD дисплеями:

  • LCDd (демон): Серверный процесс, который напрямую взаимодействует с аппаратным дисплеем
  • Клиенты: Программы, которые подключаются к LCDd для отображения информации
  • Драйверы: Специфичные для оборудования модули для различных моделей дисплеев

Преимущества LCDPROC

  1. Модульность: Разделение логики отображения от аппаратного управления
  2. Множественные клиенты: Несколько программ могут использовать один дисплей
  3. Поддержка широкого спектра оборудования: Обширная база драйверов
  4. Сетевая прозрачность: Возможность удаленного управления дисплеем

Поддерживаемые модели дисплеев

CrystalFontz

VyOS официально поддерживает следующие модели CrystalFontz:

CFA-533

Модель: cfa533
Тип: LCD текстовый дисплей
Размер: 16x2 символа
Интерфейс: USB
Особенности:
  - 4 направленные кнопки навигации
  - Подсветка с регулируемой яркостью
  - Контрастность настраиваема программно

Конфигурация:

set system lcd device ttyUSB0
set system lcd model cfa533
commit
save

CFA-631

Модель: cfa631
Тип: LCD текстовый дисплей
Размер: 20x2 символа
Интерфейс: USB
Особенности:
  - Увеличенный размер дисплея
  - 4 направленные кнопки + 2 дополнительные
  - RGB подсветка
  - Встроенный температурный датчик

Конфигурация:

set system lcd device ttyUSB0
set system lcd model cfa631
commit
save

CFA-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
save

CFA-635

Модель: cfa635
Тип: LCD текстовый дисплей
Размер: 20x4 символа
Интерфейс: USB / Serial
Особенности:
  - Большой дисплей 20x4
  - 6 направленных кнопок
  - RGB подсветка
  - До 4 вентиляторов с управлением
  - Температурные датчики (до 32)
  - DOW считыватель

Конфигурация:

set system lcd device ttyUSB0
set system lcd model cfa635
commit
save

Matrix Orbital

ℹ️
Расширенная поддержка: Хотя официальная документация VyOS упоминает только модели CrystalFontz, LCDPROC поддерживает широкий спектр дисплеев Matrix Orbital. Для использования этих моделей может потребоваться ручная конфигурация LCDPROC или запрос на добавление поддержки.

Популярные модели 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.

Решение: Запросить добавление поддержки

  1. Проверить поддержку в LCDPROC напрямую
  2. Создать 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.com

3. Документирование конфигурации

Добавьте описание системы:

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.sh

5. Резервное копирование конфигурации

LCD конфигурация сохраняется в /config/config.boot:

# Резервная копия
sudo cp /config/config.boot /config/config.boot.backup

# Или через VyOS команду
save /config/config.boot.backup

6. Питание 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-53316x2USB4ОдноцветнаяБазовое, компактное
CFA-63120x2USB6RGBРасширенное, цветное
CFA-63316x2USB/Serial4ОдноцветнаяУниверсальное
CFA-63520x4USB/Serial6RGBПрофессиональное

Рекомендации по выбору

CFA-533:

  • Бюджетный вариант
  • Базовый функционал
  • Компактные устройства

CFA-631:

  • Средний сегмент
  • Больше информации (20 символов)
  • RGB подсветка для цветовой индикации

CFA-633:

  • Универсальный выбор
  • Гибкость подключения
  • Совместимость с 5.25" отсеком

CFA-635:

  • Профессиональный уровень
  • Максимум информации (20x4)
  • Дополнительный функционал (вентиляторы, датчики)
  • Серверное применение

Заключение

LCD дисплеи в VyOS предоставляют удобный способ мониторинга состояния системы непосредственно на физическом устройстве. Это особенно полезно для:

  • Дата-центров: Быстрая идентификация устройств в стойке
  • Удаленных локаций: Локальная диагностика без удаленного доступа
  • Критичных систем: Мониторинг без зависимости от сети
  • Промышленных применений: Надежное отображение в жестких условиях

Ключевые моменты

  1. Только bare-metal: Функция не работает в виртуальных средах
  2. Ограниченная поддержка: Проверьте совместимость вашей модели
  3. Простая конфигурация: Всего две команды для базовой настройки
  4. Автоматическое управление: LCDPROC автоматически циклически отображает информацию
  5. Расширяемость: Возможность ручной настройки LCDPROC для продвинутых сценариев

Дальнейшие шаги

  • Проверьте совместимость вашего LCD дисплея
  • Определите тип подключения (USB или Serial)
  • Примените базовую конфигурацию
  • Проверьте отображение информации
  • При необходимости настройте расширенные параметры

Дополнительные ресурсы


Примечание: Данная документация актуальна для VyOS 1.4 (Sagitta) и VyOS 1.5 (Circinus). Функциональность LCD дисплеев является стабильной и существенно не меняется между версиями.