Nextion NX4827T043 - 4.3” HMI-панель с последовательным портом


Еще один обзор довольно интересной самодостаточной платформы для простого создания GUI к Вашим самоделкам.
Вариант 4,3", 480х272.
Другие обзоры данных панелей: раз, два, три.
Сразу уточню, это не «дисплей для Ардуины», это HMI-панель. =)

Распаковка

Пришел дисплей в большой картонной коробке.
Нещадно помятой, надо заметить.

Впрочем, ничего не пострадало.

Железо

Вот и наш дисплей. В симпатичной собственной коробке.

Сверху и снизу проложен мягким материалом, вероятность повреждения крайне мала.

Сам дисплей заклеен пломбой. Это приятно.

Из аксессуаров у нас адаптер на Dupont разъемы и адаптер питания.

Кстати, классная штука. Воткнул в свою макетную плату, да там и оставил.

Сам дисплей, заклеен транспортировочной пленкой. Видна резистивная тач-панель.

Сзади это дело выглядит… весьма мило!
К чистоте и качеству пайки нареканий нет.
К сожалению, слот под карту памяти только для прошивки.

Мозги и сердце девайса — ARM микроконтроллер STM32.

Большая микросхема — ПЛИС Altera MAX II. Производитель называет её «RGB driver», я же от комментариев воздержусь, ибо не очень разбираюсь в ПЛИС.

Постоянная память объемом 16 мегабайт, что довольно некисло.

А тут оперативная память видеоядра.

На преобразователе питания не сэкономили, импульсный с танталовыми конденсаторами.

Качество изображения

Панель построена на TN-матрице. В принципе, это всё объясняет.
Углы обзора у нас ограниченны, цвета не такие сочные, уже привыкшему к IPS глазу.
Но в целом, дисплей довольно качественный. Яркости достаточно, цвета довольно убедительные.
Ну и простите, господа — это же не устройство для просмотра кино.
Кстати, цифры «4,3» и «480х272» во мне всколыхнули кое-какие воспоминания. Это же был мой 2007 и PSP!
Так что делаю скриншот в меню PSP 3000, заливаю в панель и сравниваю:

Это PSP покрупнее:

Это Nextion:

Собственно, было бы сопоставимо, но картину портят неважные градиенты.
Это не критично, просто надо учитывать особенности железки (65K цветов) при создании дизайна GUI.

Софт

nextion.itead.cc/
Ну а вот и то, за что мы платим.
В смысле, софт-то бесплатный и даже с полноценным эмулятором всех панелей изготовителя (да-да, качайте и развлекайтесь, все функции доступны, нажатия на тач выполняются мышкой), но вот залить результат можно только в Nextion. =)

Для начала, давайте проверим самые азы.
Поморгаем светодиодом, а как же.
Идем смотреть инструкцию: support.iteadstudio.com/support/discussions/topics/1000065323
Но совсем-совсем для начала, нужно откалибровать тачскрин.
Подключаем панельку USB-TTL адаптером (питание, RX-TX, TX-RX). У меня вот такой.

Открываем пустой проект в Nextion Editor, жмем Debug.
Выбираем Nextion Device и соответствующий COM-порт.
В окошке Input пишем «touch_j», Enter.

Запустится программа калибровки:

Отлично, что это предусмотрели.

Ну а теперь можно и помигать.

Hello World

Вот описание проекта: www.itead.cc/blog/product-preview-nextion-in-an-arduino-project-3
К сожалению, что-то устарело и ничего не работает. Но мы разберемся!
Проект сделаем с нуля. Скачать.
Две странички, две картинки, две кнопки.
Кнопкам задаем отсылать по COM порту своё состояние по отпусканию.

В симуляторе всё работает, кажись.

Код Ардуино:
int char1,char2;
int charflag=0;

void setup() {
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}

void loop() {
 if (Serial.available()>1) 
{
 if (charflag)  
  {
  char2=Serial.read();
  if (char2==0x00) digitalWrite(13,HIGH);
  else if (char2==0x01) digitalWrite(13,LOW);
  charflag=0;
  }
  else
  {
   char1=Serial.read();
   if(char1==0x65) charflag=1;
  }
}
}

Подключаем всё так же, RX-TX, TX-RX. Ну и результат:


Идем далее, ввод-вывод


Мы можем не только управлять чем-то с дисплея, но и посылать на него данные.
Что ж, второе, что нужно сделать после мигания светодиодом — часы, ясное дело.
Подключаю свой к Ардуине свои любимые часы DS3231, иду в редактор.
Набрасываю проект:



Скачать HMI проект.
Вывод дисплея настолько понятный, что читается невооруженным глазом в мониторе COM-порта.
Зачем мне библиотеки, подумал я? Сделаем простейший парсер.
Через часок я вспомнил, что программист из меня неважный.
В общем, идем за библиотекой.
По умолчанию она настроена под Arduilo Mega с двумя физическими портами, так что под Pro Mega и подобные нужно настроить NexConfig.h так:

#define DEBUG_SERIAL_ENABLE —> //#define DEBUG_SERIAL_ENABLE
#define nexSerial Serial2  —> #define nexSerial Serial 

Разобраться было не очень просто, стиль программирования в примерах… своеобразный.
В качестве отправной точки я использовал эту статью: www.itead.cc/blog/nextion-tutorial-based-on-nextion-arduino-library
Обнаружилась особенность, которая стоила некоторого количества седых волос: обязательно нужно указывать уникальные имена для всех полей, куда будем делать вывод. Nextion Editor позволяет указывать параметр global/local, но железо не всегда с ним согласно.
В общем, вышло как-то так: скетч проекта.
Код кривой и громоздкий, прошу прощения. Но надеюсь, минимально читаемый.
В работе:


Выводы

+ Просто работать
+ Широкие возможности, из которых я использовал малую часть — ползунки, барграфы, стрелочные индикаторы
+ Неубиваемость — проверено выдергивание питания нагорячую при перепрошивке
+ Неплохое качество тачскрина и дисплея
+ Навалом памяти, не удивлюсь, если туда влезет VN-игра целиком, например

± Цена. Хотя модели поменьше вполне доступны: младшая 2.4“ стоит всего-то $13.90

— Нет GPIO (впрочем, уже анонсировано следующее поколение Nextion Enhanced с GPIO и RTC на борту)

Благодарю за внимание.

Бонус

Не терпится оставить коммент, что дорого?
У меня в закромах нашелся забавный девайс с подобным функционалом. Уже не выпускается, но на eBay стоит US $895.00, что примерно в 20 раз дороже.
Schneider Electric Magelis XBTGT2120.
Немножко побитый жизнью, но условно-рабочий. Половина дисплея повреждена.


Тоже несколько кнопок на тачскрине, да ввод-вывод.

Так это дело работает:


Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.
+
avatar
  • chaloc
  • 02 июня 2016, 01:34
+23
Купил тут себе смарт Tele2 mini за 32$…
Выводы
+ Просто работать
+ Широкие возможности, из которых я использовал малую часть
+ Неплохое качество тачскрина и дисплея
+ Навалом памяти, не удивлюсь, если туда влезет Android 6.0 целиком, например
± Цена. Хотя модели поменьше вполне доступны.
— Нет GPIO
ps^ этот комментарий конечно стёб, но я решительно не понимаю из чего складывается цена на DYI компоненты.
+
avatar
  • Serj_I
  • 02 июня 2016, 02:18
+7
Согласен полностью.
Еще в плюсы готовый корпус и аккумулятор.
Можно еще добавить ESP к смарту или планшету то и неограниченное количество GPIO появится.
+
avatar
  • sir0ta
  • 02 июня 2016, 07:57
0
Готовность к работе.
Как вы этим смартом как мк программер будете рулить? Писать приложение под ведро? Т.е. вы выучите «новый» язык, с его «новыми» фишками и т.д.?
Да дорого, но скажем делая тот же станок на производство я столкнулся с проблемомй вывода/ввода. Не хватило ножек и на управление и на экран с сенсором. Пришлось перейти на SPI экран пока. Ножек в притык. Следущий этап или этот экран, либо же делать клиент/серверную часть.
+
avatar
  • Alber
  • 02 июня 2016, 12:10
0
Когда Андроид телефоны стоят уже от 20 долларов, справедливой ценой на такую хрень считаю максимум 12 баксов.
+
avatar
  • ACE
  • 02 июня 2016, 14:04
0
Вопрос массовости. Телефоны клепают миллионами, такие панели — сотнями, ну может тысячу продадут. А разработка стоит денег.
Будет такая панель востребована на уровне ардуины и клонов — будет и цена копеечная. А пока увы, какую цену не считай справедливой, есть только то что есть. Вариантов не много.
+
avatar
  • alex0
  • 02 июня 2016, 01:43
0
За такие деньги ожидал от него гораздо больше…
+
avatar
  • ACE
  • 02 июня 2016, 01:51
+17
Как забавно жизнь складывается у электронных компонентов. 8-битная АТмега командует 32-битным стм32, который командует альтеровской ПЛИСиной макс 2. И всё это управляет релюшкой.
+
avatar
0
С языка сорвали, такой шилд надо делать автономным контроллером с GPIO, подключение к ардуино видимо залог успешных продаж. Хорошо этим ардуинством людям мозги залюбили… Хотя я без ардуины до программирования микроконтроллеров бы никогда не дошел, для меня это было что-то из космической отрасли )
+
avatar
  • kirich
  • 02 июня 2016, 03:34
+2
Еще немного усилий и будет такое.
+
avatar
0
Одно не понял, для чего автор её собрался использовать, поиграться и забросить на полки?
+
avatar
  • Kartus
  • 02 июня 2016, 07:04
0
По крайней мере обзор написать — уже сделано)))
+
avatar
0
Не терпится оставить коммент, что дорого?
Нет, не дорого, а просто все сыро и по китайски там. Очень малое количество глючных контролов, что то толковое посложнее часов или игры со сменяющимися картинками сложно реализовать.
+
avatar
  • Asasl
  • 02 июня 2016, 09:59
+2
Проще купить планшет за те же деньги и написать графический интерфейс на html.
+
avatar
0
Подскажите пожалуйста, а есть ли акого плана LCD модули, на который можно подать аналоговый видеосигнал (например с камеры заднего вида авто)?
Спасибо.
+
avatar
  • chaloc
  • 02 июня 2016, 13:23
0
Конечно есть. Называются автомобильными мониторами для камеры заднего вида. И стоят 10$. Но если вам нужен именно модуль без корпуса в виде «собери сам», то за вышеозначенные $44.90 готов разобрать монитор до голых плат и выслать вам)))
+
avatar
0
Как же все-таки хорошо, что мир не без добрых людей. Особенно остроумных и острословных…
Как же я сам не догадался до этого.
Огромное Вам человеческое спасибо!
Один нюанс — мне нужен экран диагональю максимум 2,8", а таких автомониторов я не нашел.
+
avatar
  • chaloc
  • 02 июня 2016, 16:28
+5
Про размер в вашем комментарии не было ни слова, а в обзоре панель на 4,3 дюйма. Какой вопрос — такой и ответ. По сабжу — на Али есть и маленькие мониторы, ВОТ первый попавшийся на 2,5 дюйма.

Или могу предложить совсем экзотический вариант — 1 сантиметровый ЭЛТ монитор… добывается из видоискателей старых видеокамер, коих куча на авито за копейки.
upd: нашел в закладках где видел

Тёплый ламповый ДОС на 1 сантиметре ЭЛТ.
+
avatar
  • Alber
  • 02 июня 2016, 12:03
0
Это какое-то шаблонное мышление из прошлого — создание хардварных консолей управления.
Считаю всё это созданием лишних сущностей.

99% потребностей DIY перекрывает вебконсоль в смарте-планшете.