Nextion-дисплей для хотспота: подключение и прошивка

Категория: ХотспотыСложность: ★★★~9 мин

OLED-экранчик 0.96" показывает позывной и статус — и это уже неплохо. Но Nextion — умный цветной TFT с сенсорным стеклом и собственным процессором — выводит сразу: позывной и DMR ID звонящего, имя talkgroup, BER, RSSI, время последнего QSO и часы в режиме ожидания. Экран работает автономно: хост шлёт ему короткие команды по UART, а всю графику Nextion рисует сам. На хотспоте с образом RadioStar, Pi-Star или WPSD это реализовано «из коробки» — нужно только правильно подключить и настроить.

Что такое Nextion и чем он отличается от OLED

OLED (обычно 128×64, I²C) — пассивный дисплей: хост сам рисует каждый пиксель, постоянно обновляя буфер. Nextion — умный TFT: внутри стоит ARM-контроллер с флеш-памятью, где хранится интерфейс (картинки, шрифты, элементы). Хост (Raspberry Pi / MMDVMHost) отправляет по UART короткие текстовые команды вида t0.txt="R3ABC", а Nextion сам обновляет нужное поле. Это снижает нагрузку на Pi и даёт плавную анимацию без мерцания.

Интерфейс прошивается в Nextion файлом .tft (скомпилированный проект из Nextion Editor). Именно поэтому «прошивка дисплея» и «прошивка хоста» — две разные операции.

Выбор модели: размер и серия

Для MMDVM-хотспотов наиболее распространены три диагонали:

По серии: Basic (T) — например, NX4024T032 — достаточно для хотспота. Enhanced (K) — дороже, но добавляет RTC, больше флеша и скоростной UART. Для любительского узла разницы практически нет.

Совет Покупая Nextion на маркетплейсе, сверяйте маркировку на плате с описанием — клоны иногда прошиты как другая модель. Если при прошивке дисплей сообщает иной model, прошейте именно тот .tft, который он называет.

Подключение: UART и питание

Nextion общается с хостом по последовательному интерфейсу UART: четыре провода — питание (+5В и GND) и данные (TX, RX). Стандартная цветовая маркировка шлейфа дисплея:

Важно: TX и RX перекрещиваются — выход одного устройства идёт на вход другого. Ошибка здесь — самая частая причина «дисплей не реагирует».

Согласование уровней 5В и 3.3В

Raspberry Pi работает с логикой 3.3В. Большинство Nextion Basic-серии на линии TX фактически выдают 3.3В, что совместимо с Pi напрямую. Однако питание экрана — обязательно : вывод 3.3В GPIO-колодки не тянет подсветку, нужен вывод 5В (pin 2 или 4 на GPIO Raspberry Pi).

Важно Не подавайте 5В на вход GPIO Raspberry Pi (линия RX Pi). Если ваш Nextion выдаёт на TX реальные 5В (Enhanced-серия или нестандартный клон) — используйте делитель напряжения (два резистора) или преобразователь уровней (level shifter). Подача 5В на 3.3В-вход Pi выведет процессор из строя.

Если дисплей подключается не к GPIO Pi напрямую, а к MMDVM-шляпе (HS_Hat, Nano_Hat и аналоги), уточните в документации шляпы — часть плат имеет встроенный разъём для Nextion с уже согласованными уровнями и 5В-питанием. В таком случае просто вставляете штатный шлейф.

Подключение через USB-UART адаптер

Если аппаратный UART Pi занят модемом DVMega или другим устройством — используйте адаптер USB-UART (CH341, CP2102). Nextion подключается к адаптеру, адаптер — в USB Pi. Система определит его как /dev/ttyUSB0 (или ttyUSB1, ttyUSB2 — зависит от порядка подключения); проверьте командой:

dmesg | grep ttyUSB

Прошивка дисплея файлом .tft

Nextion прошивается двумя способами: через microSD-карту (проще и надёжнее) или по UART из хоста (требует Python-скрипта). Рекомендуется microSD.

Способ 1: microSD

  1. Отформатируйте чистую microSD-карту в FAT32.
  2. Скопируйте на карту один файл .tft для вашей модели дисплея. Больше ничего на карте быть не должно.
  3. Вставьте карту в слот Nextion (слот на тыльной стороне платы).
  4. Подайте питание на дисплей. Экран автоматически обнаружит файл и начнёт прошивку — появится прогресс-бар.
  5. Дождитесь надписи об успехе, выключите питание, извлеките карту.
Где взять .tft Готовые макеты для MMDVM публикует сообщество на GitHub (репозиторий WA6HXG/MMDVM-Nextion-Screen-Layouts). Скачайте архив, найдите папку под вашу модель, возьмите файл .tft нужной раскладки. Редактировать макет — в Nextion Editor (бесплатный, Windows), компилировать через File → Compile.

Способ 2: по UART из командной строки Pi

Если microSD недоступна — можно залить прошивку скриптом:

sudo python3 nextion.py NX4024T032.tft /dev/ttyAMA0

Скрипт nextion.py есть в том же репозитории WA6HXG. Перед запуском убедитесь, что MMDVMHost остановлен и порт свободен.

Настройка Pi-Star

Зайдите в Pi-Star → Configuration → MMDVM Configuration → Display. Установите:

После сохранения Pi-Star перезапустит MMDVMHost. Если дисплей ожил и показывает надпись «Idle» или часы — всё работает.

Если экран молчит Первым делом проверьте перекрёстность TX/RX. Затем — правильность порта в настройках. Запустите pistar-mmdvmhostd restart через SSH и смотрите в лог /var/log/pi-star/MMDVM-*.log на строки Nextion — там будет ошибка, если порт не открылся.

Настройка WPSD

В WPSD поддержка Nextion встроена нативно — никаких дополнительных скриптов не нужно. Откройте Admin → Configuration → Display:

WPSD обновляется по rolling-release модели; при очередном ночном обновлении драйвер Nextion также обновляется автоматически.

Настройка в образе RadioStar (DMRhub)

Образ RadioStar базируется на той же основе, что Pi-Star. Конфигурация Nextion редактируется в файле /etc/mmdvmhost вручную через SSH или через веб-интерфейс панели. Нужные секции:

[General]
Display=Nextion

[Nextion]
Port=/dev/ttyUSB0
Brightness=50
DisplayClock=1
UTC=0
IdleBrightness=20

После правки перезапустите сервис:

sudo systemctl restart mmdvmhost

Параметр Brightness — яркость в процентах (0–100). IdleBrightness — яркость в режиме ожидания, полезно для продления жизни экрана. DisplayClock=1 показывает часы в простое.

Соберите хотспот с Nextion уже сегодня

На странице «Собрать образ» вы выбираете тип платы, скачиваете готовый образ RadioStar для Raspberry Pi и прошиваете его за 10 минут. Nextion можно подключить сразу — образ поддерживает его без дополнительных пакетов. А контакт-листы DMRhub с позывными операторов сети скачиваются в кабинете.

Источники

  1. Репозиторий макетов MMDVM-Nextion с инструкцией по прошивке и разводке — github.com/WA6HXG
  2. Подключение Nextion к MMDVMHost (Marrold's Blog, практика с USB-UART) — marrold.co.uk
  3. Туториал Nextion + MMDVM + Raspberry Pi (F5UII), параметры UART и конфиг — f5uii.net
  4. Обновление прошивки Nextion для Pi-Star (Ailunce Blog) — ailunce.com