Умный дом. Сенсорный дисплей Itead Nextion Enhanced

Itead Nextion screen with Arduino

«Умный дом» — это не только датчики, провода и головное устройство, которое держит под тотальным контролем кучу оборудования. А как показывает практиканастроить систему для полностью автономной работы бывает не так просто. Часто хочется иметь возможность быстро внести изменения в настройки: во сколько разбудить хозяина, при каком уровне влажности полить цветы или при какой концентрации газа в воздухе начать бить тревогу. Как правило, самым простым решением является сенсорный экран в прихожей или любом другом месте. Дисплеи Nextion от фирмы Itead как раз для такого случая.

Перед выбором средства конфигурирования оборудования, будь то промышленная установка или умный дом, встает любой инженер. На больших производствах под это отводят целые рабочие места с АРМ и даже залы управления, для маленьких узлов подойдет пара кнопок или небольшой дисплей. А вот для собственной квартиры лучше подыскать средний вариант.

Обратная сторона платы Nextion Enhanced

Обратная сторона платы Nextion Enhanced

Дисплеи серии Nextion в данном случае оказываются весьма кстати. К нам на обзор попала модель NX8048K050 старшей серии Enhanced. Ключевая особенность данных дисплеев — наличие собственного микроконтроллера и ПЗУ, в котором хранится прошивка со всей графикой, настройками и логикой. Как правило, контроллеры не обладают большой памятью, и хранить графику для вывода на экран попросту негде, да и порта для дисплея на контроллере нет. Для Raspberry Pi ситуация чуть лучше: на плате есть HDMI, но подключать его тоже нужно к чему-то. Можно использовать планшет на ОС Android с функцией OTG. Вот только вместо написания приложения под мобильную ОС проще воспользоваться специальной средой разработки для Nextion, где интерфейс настраивается быстро и просто.

Nextion Editor

Nextion Editor

Подключается дисплей к контроллеру через обычный Serial-порт 2-мя проводами, а 5В питание подается по 2-м оставшимся. Связь между устройствами осуществляется при помощи специальной библиотеки, позволяющей вызывать команды на дисплее или, наоборот, отправлять на контроллер информацию при срабатывании событий нажатия. Среда разработки Nextion IDE выглядит очень похоже на Visual Studio, а внутренний язык программирования чрезвычайно прост. Настраиваем несколько страниц (page — так здесь называются экраны с элементами) и затем вызываем их простой командой, например, «page 1». Сложность заключается лишь в том, чтобы понять правила здешнего синтаксиса и найти в запутанном хитросплетении официальной wiki-инструкции список команд. Сама IDE пока что дожила до версии 0.47. Выглядит она не доведенной до ума, но функции свои выполняет честно. Присутствует генератор шрифтов с поддержкой русских символов и встроенный эмулятор железного устройства.

Узнать о главных особенностях дисплеев Nextion можно также из ролика «Амперки»:

Все дисплеи линейки цветные, выполнены на основе TFT-матрицы и имеют резистивный тач-сенсор. Старшие модели Enhanced оснащены часами реального времени с отсеком для батарейки и 8 GPIO пинами, что позволяет напрямую работать с простыми устройствами, например, реле. Впрочем, вся привлекательность дисплея раскрывается в связке с микроконтроллером. К нашему дисплею прилагалась плата расширения, на которую были вынесены пины, а также распаяны кнопки для управления. На сайте производителя имеются макеты для печати 3D-корпуса, чтобы упростить установку дисплея и платы расширения в готовые изделия.

Для создания интерфейса есть целый набор элементов:

  • Text, Scrolling text, Number позволяют отображать текст и вводить свой при помощи экранной клавиатуры;
  • Button и Dual-state button — кнопка с одиночным нажатием и 2-мя положениями (тумблер);
  • Progress bar и Slider — обычные поля, позволяющие отображать прогресс выполнения, уровень яркости и т.п.;
  • Picture и Crop — отображение заранее подготовленного изображения целиком либо его части;
  • Hotspot — тач-зона, при касании которой можно вызывать события;
  • Gauge — циферблат, положение стрелки которого можно регулировать в положениях от 0 до 360 градусов;
  • Waveform — область для вывода до 4-х графиков, полезный элемент для отображения, например, колебания температуры;
  • Timer, Variable — пользовательские таймеры и переменные для хранения значений;
  • Checkbox, Radio — чекбоксы радио-переключатели.

Используя этот небольшой, но полезный арсенал элементов, можно создать полноценный интерфейс со множеством экранов. Многие элементы имеют события, например, при начале или в конце нажатия, при изменении положения. Современный и удобный подход, значительно упрощающий разработку.

Переходник питания Nextion

Переходник питания

Простор для практического применения подобных дисплеев огромен. От выключателей света до вывода информации о проблемах или о состоянии различных датчиков. Но что самое интересное, возможности устройств серии Nextion позволяют создавать достаточно сложные интерфейсы с переключением между экранами с разными наборами кнопок и графиков, таким образом можно собрать на одном дисплее множество помещений умного дома или целый ворох установок, которыми требуется управлять. Главное, чтобы хватало производительности контроллера, в симбиозе с которым работает дисплей. Стоит помнить, что своей памяти у устройства — 32 МБ. Размер прошивки сильно зависит от количества шрифтов и наличия изображений. Например, наша тестовая прошивка, которую можно увидеть на фото, занимает 3,5 МБ.

Купить дисплей можно на официальном сайте или, например, у наших друзей по электронике, Амперки.

Технические характеристики дисплея:

Разрешение: 800 x 480
Напряжение: 5 В
Цвета: 65 тыс.
Тип тача: резистивный
Ресурс тача: > 1 миллиона нажатий
Подсветка: LED
Ресурс подсветки: > 30 тыс. часов
Яркость: 250 нит
Карта памяти: FAT32, до 32 ГБ.
Масса: 108 г.
Flash память: 32 МБ
EEPROM: 1 КБ
RAM: 8 КБ
Буфер: 1 КБ

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Евгений Беляев

Евгений Беляев

@MorgenS (110 lvl)

Гик и геймер. Фанат ПК и чуточку консольщик. Редактор и автор.

Twitter (username)

Комментарии:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: