Разработки ecoins для дисплея Nextion

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#1

Сообщение ecoins » 14.12.2020{, 14:24}

Dryundel писал(а):
14.12.2020{, 13:56}
Dryundel
Капитан
Сообщения: 870
Зарегистрирован: 22.05.2017{, 20:15}
Репутация: 246
Откуда: Ярославль
Имя: Андрей
Контактная информация: Контактная информация пользователя Dryundel
0BUTTON_REPORTЦитата#897Сообщение Dryundel » 21 минуту назад
ecoins писал(а): ↑Вчера{, 20:26}
Сейчас предстоит возобновить работу с Nextion.
Не забудьте открыть соответствующую тему.
Вопрос по Nextion весьма актуален, т.к. со штатными блоками для него беда.
Готов обсуждать и высказывать рекомендации (мнение), но в соответствующей теме.
По предложению Dryundel открываем новую тему.

--------------------------------------------------------------------------
1.Тема Nextion ecoins интересует давно;
2. Ее успешная реализация в том числе реализуется с распределением временных ресурсов контроллера и буферированием обмена через UART.
3. "Медлительность" блоков FLProg Nextion отмечали нескольких пользователей.
4. Этим постом анонсируем начавшую работу по создании библиотеки и блоков для работы с дисплеем NEXTION.
--------------------------------------------------------------------------
Сообщение для тех кому интересна тема "Дисплей Nextion:
1.Вышла версия Nextion Editor 1.6.12. По сравнению с предыдущей версией (0.53) у нее есть важные дополнительные возможности. Поэтому библиотека и блоки разрабатываются под новый редактор.
2.После поиска и исследований выбран следующий протокол обмена:
2.1. Из контроллера в дисплей (NXT) в текстовой форме: va0.val=0x12FA45DE, или va1.val=5 --> Запись in32t_t в NXT (без контроля достоверности). В NXT должны быть зарезервированы переменные va0,va1...и так с запасом, скажем до 32 (размер памяти позволяет). Если передается не существующая переменная, то запись игнорируется.
2.2. Из дисплея в контроллер упрощенное подобие ModBus ASCII:
1-байт - идентификатор начала посылки =':'
2-байт - тип посылки =1 передача байт; =2 передача uint16_t; =3 передача uint32_t;
3-байт - кол-во данных
.... передаваемые данные
n-байт - контрольная сумма
n+1 13 10 (коды завершения посылки).
В блоке FLProg должны будут зарезервированы необходимые буфера. Если данных больше чем буфер, то лишние данные отбрасываются.
Разработанный протокол - компромисс между скоростью и надежностью обмена, а также простотой реализации (в NXT большие программы писать не очень удобно).
-----
3. Дисплей посылает данные в контроллер , если они данные изменились или периодически(например 1раз в сек) для поддержания активного обмена.
Контроллер работает аналогично.
Устройства не ожидают подтверждения об отправленных посылок и потому обмен быстрый.
Прием и передача (RX,TX) независимы.
--------------------
Дисплей с большими возможностями, но имеющиеся программные продукты прямолинейны и тормозные.
Предлагаемая разработчиками библиотека ITEADLIB_Arduino_Nextion_master в наших разработках использовать не планируется - она избыточная, "тормозная" и т.п.
--------------------
Если есть какой-то опыт использования дисплея NXT, идеи по организации обмен, оформлению и т.п. - пишите.
Если есть вопросы по работе NXT - задавайте, ответим.
--------------------
Новая версия библиотек и блоков от 01.07.22.
Базовая библиотека (других библиотек не требуется)
RT_00_HW_BASE_v7.05_01.07.22.zip
(240.25 КБ) 25 скачиваний
Библиотеки ПБ
EIS.10==SYSTEM_SIMPLE вер.1.05 (01.07.22).zip
(555.4 КБ) 27 скачиваний
EIS.02---DEVICE_вер.3.05 (01.07.22).zip
(1.84 МБ) 25 скачиваний
EIS.01---SYSTEM вер.3.05(01.07.22).zip
(610.51 КБ) 22 скачивания
Тестовый пример для дисплея
Test_Nextion_7_v01_010722.zip
(371.96 КБ) 24 скачивания
Тестовый пример для FLProg
Test_Nextion_7_v01_010722.zip
(371.96 КБ) 24 скачивания

Платформенна независима, тест проверялся на MEGA2560
Последний раз редактировалось ecoins 01.07.2022{, 23:07}, всего редактировалось 4 раза.

ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#81

Сообщение ecoins » 27.08.2022{, 23:43}

Привет всем нужна помощь!!!
что мне записать в nextion чтобы вместе с p0 (in0 ;bit1=1) заработал tmdoz (en=1;анимация p2)
разное изпробовал не получается у меня :(
ВЛОЖЕНИЯ
---------------
По этой теме лучше писать здесь.
Присланный Вами файл .HMI у меня не открывается, пишет, что поврежден.
1.Попробуйте прислать еще раз.
2.Какая у Вас модель дисплея?
3.Какая у Вас версия редактора Nextion?

skrickis
Рядовой
Сообщения: 37
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 2

Разработки ecoins для дисплея Nextion

#82

Сообщение skrickis » 28.08.2022{, 08:56}

ecoins писал(а):
27.08.2022{, 23:43}
Привет всем нужна помощь!!!
что мне записать в nextion чтобы вместе с p0 (in0 ;bit1=1) заработал tmdoz (en=1;анимация p2)
разное изпробовал не получается у меня
ВЛОЖЕНИЯ
---------------
По этой теме лучше писать здесь.
Присланный Вами файл .HMI у меня не открывается, пишет, что поврежден.
1.Попробуйте прислать еще раз.
2.Какая у Вас модель дисплея?
3.Какая у Вас версия редактора Nextion?
программа Nextion версия 1.63.3
FLProg 7.5.2
дисплей extion 3.2 enhanced
залил файлы по новой :yes:
Вложения
Тест1.flp
(1.18 МБ) 7 скачиваний
Тест1.HMI
(1.24 МБ) 7 скачиваний
Последний раз редактировалось skrickis 28.08.2022{, 09:08}, всего редактировалось 1 раз.

ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#83

Сообщение ecoins » 28.08.2022{, 09:08}

skrickis писал(а):
27.08.2022{, 20:22}
Привет всем нужна помощь!!!
что мне записать в nextion чтобы вместе с p0 (in0 ;bit1=1) заработал tmdoz (en=1;анимация p2)
разное изпробовал не получается у меня
Попробовал новый файл, выскакивает неизвестная мне ошибка
Фото  с ошибкой.PNG

skrickis
Рядовой
Сообщения: 37
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 2

Разработки ecoins для дисплея Nextion

#84

Сообщение skrickis » 28.08.2022{, 09:16}

странно я загрузил из форума у меня открывается
если так?
Вложения
Тест1.zip
(220.94 КБ) 5 скачиваний

ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#85

Сообщение ecoins » 28.08.2022{, 09:20}

skrickis писал(а):
28.08.2022{, 09:16}
странно я загрузил из форума у меня открывается
если так?
Открылся файл без кириллицы в его имени.
Буду знать. А у Вас такой открылся?
----
Сейчас посмотрю его по Вашему вопросу.

skrickis
Рядовой
Сообщения: 37
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 2

Разработки ecoins для дисплея Nextion

#86

Сообщение skrickis » 28.08.2022{, 09:24}

ecoins писал(а):
28.08.2022{, 09:20}
А у Вас такой открылся?
у меня оба файла открывается

ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#87

Сообщение ecoins » 28.08.2022{, 10:00}

У меня
skrickis писал(а):
28.08.2022{, 09:24}
у меня оба файла открывается
У меня один без кириллицы. Любопытно... На будущее полезно, но здесь не важно.
У Вас сделано все верно, в свойствах задачи tmdoz задачу нужно включить - en=1 и тогда вентилятор вращается.
Test2.zip
(106.12 КБ) 6 скачиваний
Экран.PNG
Настройки.PNG
Настройки.PNG (22.32 КБ) 484 просмотра
И с временем полезно поменять - визуально что 50мс, что 100мс - возможно пульт не поспевает.
Но это не точно, надо пробовать.

skrickis
Рядовой
Сообщения: 37
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 2

Разработки ecoins для дисплея Nextion

#88

Сообщение skrickis » 28.08.2022{, 11:53}

ecoins писал(а):
28.08.2022{, 10:00}
tmdoz задачу нужно включить - en=1
это я понял
но мне надо чтобы "tmdoz" заработал от того же бита (in0-bit 1) что и "p0" ("tmdoz" срабатывает вместе с "p0")
я не смог написать этой задаче код :(

ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#89

Сообщение ecoins » 28.08.2022{, 12:55}

skrickis писал(а):
28.08.2022{, 11:53}
это я понял
но мне надо чтобы "tmdoz" заработал от того же бита (in0-bit 1) что и "p0" ("tmdoz" срабатывает вместе с "p0")
я не смог написать этой задаче код
Сейчас надо "бежать" по другим делам.
Если коротко, что удалось попробовать:
В другой задаче, которая всегда выполняется (я поробовал в tmpIn) добавьте код:
if(условие)
{
tmdoz.en=1
}else
{
tmdoz.en=0
p2.pic=8
}
---
Успехов

skrickis
Рядовой
Сообщения: 37
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 2

Разработки ecoins для дисплея Nextion

#90

Сообщение skrickis » 28.08.2022{, 13:12}

ecoins писал(а):
28.08.2022{, 12:55}
В другой задаче, которая всегда выполняется
Большое спасибо за отзывчивость :smile9:

ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#91

Сообщение ecoins » 28.08.2022{, 14:51}

skrickis писал(а):
28.08.2022{, 11:53}
то я понял
но мне надо чтобы "tmdoz" заработал от того же бита (in0-bit 1) что и "p0" ("tmdoz" срабатывает вместе с "p0")
я не смог написать этой задаче код
Можно управлять и из задачи tmdoz при tmdoz.en=1
Используя сложное условие через && , где будет присутствовать и (in0 & 0x).
Сложные условия не проверял в Nexton - в нем весьма ограниченные возможности языка - полагаю как-то можно сделать и будет работать.
----------
Очень инттересны Ввши опыты с дисплеем Nextion.
В тесте Вы используете Basic дисплей (NXxxxxT0xx).
В последних Intelligent дисплеях NXxxxxP0xx есть опции видео, через которые вроде вставляются и файлы с анимационными форматами. И есть звук, и прочее.
Дисплей интересный - он устойчивый в работе, работает быстро, надежен и с разнообразными возможностями.

skrickis
Рядовой
Сообщения: 37
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 2

Разработки ecoins для дисплея Nextion

#92

Сообщение skrickis » 28.08.2022{, 16:30}

ecoins писал(а):
28.08.2022{, 14:51}
Очень инттересны Ввши опыты с дисплеем Nextion.
работающем проекте Nextion 7.0 Enhanced, хочу переделать на блоки ecoins
оригинальные слегка тормозит

Отправлено спустя 1 час 31 минуту 34 секунды:
запустить анимацию p2 с tmdoz не удалось
в форуме arduino.ru один человек утверждал что на nextion нельзя запустить timer с другова timer ??? :shok:
но получилось запустить как в приложении
моём большом проекте HMI- 7.0 где в примерно 10 задач tminp p2 анимация отработалa один кадр при старте tminp и всё дальше не работал.
заработал так :smile9:
как я понял главное чтобы было p2.pic=8 иначе процесс останавливается
//-----------------------p2----------------------------
sys0=in0
sys1=sys0&01
if(sys1==0)
{
p2.pic=8
}else if(p2.pic<11)
{
p2.pic++
}else
{
p2.pic=8
}
//_______________p0______________________
sys0=in0
sys1=sys0&01
p0.pic=sys1+0
спасибо ecoins за помощь!
Вложения
Test2.HMI
(1.22 МБ) 5 скачиваний

Gordon0007
Сержант
Сообщения: 137
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 13
Имя: Павел

Разработки ecoins для дисплея Nextion

#93

Сообщение Gordon0007 » 14.09.2022{, 17:01}

Доброго дня, хотел спросить у ecoins, , вы еще не дошли до графиков и их заполнения?
Я описывал эту проблему тут
viewtopic.php?t=6943&start=20#p99009
Вы тогда отписались, что возможность есть, но так и нет решения этой проблемы.

ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#94

Сообщение ecoins » 14.09.2022{, 17:20}

Gordon0007 писал(а):
14.09.2022{, 17:01}
Доброго дня, хотел спросить у ecoins, , вы еще не дошли до графиков и их заполнения?
Я описывал эту проблему тут
viewtopic.php?t=6943&start=20#p99009
Вы тогда отписались, что возможность есть, но так и нет решения этой проблемы.
Внешне проблема остается - при смене экрана с графиом и возврата график строится заново.
Скорее всего можно написать скрипт, который из глобальных переменных (например 32 точки) при переходе на страницу заполняет график, а потом продолжает работать.
Эта как идея, вроде должна работать.
Если несколько графиков, несколько скриптов.
Попробуйте, может получиться, надо пробовать.
Как-нибудь и мы попробуем, хотя не исключено, что данная проблема окажется более сложной чем кажется.
Понятно, что с одним экраном проблем нет.

Gordon0007
Сержант
Сообщения: 137
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 13
Имя: Павел

Разработки ecoins для дисплея Nextion

#95

Сообщение Gordon0007 » 15.09.2022{, 09:12}

ecoins писал(а):
14.09.2022{, 17:20}
Скорее всего можно написать скрипт, который из глобальных переменных (например 32 точки) при переходе на страницу заполняет график, а потом продолжает работать.
У меня есть проект который лежит в долгом ящике уже лет 5, контролер для аквариума, и дисплей Nextion куплен для него и контролер, он там есть загвоздка которую я победить не смог тогда. Это заполнение графиков и сработки вачдога
В моем случае я штатными методами реализовал. НО пришлось отключить Вачдог. Штатными методами там ситуация такая, начинаешь передавать значение для заполнения графика и контроллер пока все не передаст на другое не отвлекается (в моем случае это порядка 70 секунд, не зависимо какой контроллер) вачдог думает что контроллер завис за 10сек и все перезагружает его, если его совсем отключать то можно не перезагрузить если зависнит. Тут можно несколькими путями идти отключать вачдог на время или разбираться в передачей или что еще.
В вашем методе есть минус и минус тут в том что нельзя взять 500 или 200 или 5 значений и передать одним пакетом, а только определенный пакет определённого размера и нужно на стороне контроллера упаковать значения в один пакет и на дисплее его распаковать, и потом обратно, что иногда тоже не очень удобно если нужно обновлять только 2 значения из 8 (как пример)
Может конечно я чего то не понимаю или вы мне подскажете.

Хотелось бы совместно с вами допилить блок для Nextion

ecoins
Полковник
Сообщения: 1804
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 315
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#96

Сообщение ecoins » 15.09.2022{, 09:43}

Gordon0007 писал(а):
15.09.2022{, 09:12}
Хотелось бы совместно с вами допилить блок для Nextion
Ответил в личном сообщении.

Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»