begin делаю. подключение прямое (RX-RX, TX-TX) хотя и наоборот пробовал. землю обьединял.
На метеной плате еще висит схема с датчиком температуры, LCD дисплеем и вентилятором.
Еще вопрос у UNO serial только один правильно я понимаю, пины 0 и 1. я ним подключаю RX-TX. А монитор порта в Ardulino IDE тоже должен команды показывать которые я на Nextion передаю???
Подключение должно быть перекрёстное: с TX ардуины на RX Nextion, с RX ардуины - на TX Nextion, по-моему, это какбэ очевидно: что послала ардуина, должно приниматься Nextion, и наоборот.
Для тестирования совместно с монитором порта лучше юзать SoftwareSerial для Nextion.
Собственно, решением было подобрать конфигурацию под Wine и оттестировать.
Проблемой такого решения было слабое знание нюансов wine и сборки префиксов даже среди линуксойдов.
Вот и решил собрать автоматический скрипт для PlayOnLinux, ибо это самое простое и быстрое решение для всех =)
Запускать можно кописастой в браузер данной ссылки. PLayOnLinux должен быть установлен, разумеется.
playonlinux://www.playonlinux.com/repository/download_update.php?id=6104
Прошу помощи у сообщества для тестирования. Потестите как оно работает у вас, пишите о багах и траблах.
Ну и если работает - напишите отзыв прямо на странице. Так скрипт пройдет проверку быстрее и появится в официальных источниках. Можно будет устанаваливать в три клика))
Немогу поменять скорость юарта на дисплеи. Сначало Serial2.begin(9600); дальше в дисплей команду "baud=115200", затем уже сериал на 115200 перевожу и результата ноль. Если вместо 115200 ввести 9600 в эти все строки, дисплей работает.
Коллеги, подскажите, кто пользуется библиотекой nextion-master, как запросить значение компонента дисплея? Есть цифровое поле с вводом, при нажатии кнопки на дисплее необходимо передать значение в ардуино. Пробовал на симуляторе - значение посылается. А в ардуину приходят кракозябры, хотя другие значения (нажатия кнопок и т.д.) передаются корректно.
Пробовал командой библиотеки при получении команды с кнопки запрашивать с ардуино значение поля с данными
int value = myNextion.getComponentValue("z0");
Serial.println(value);
кракозябры в ответ.
Пробовал print z0.val из самого дисплея - аналогично. В чем проблема - не пойму.
Разобрался я частично с проблемой, она была в библиотеке.
Получаю в итоге в терминал, к примеру: 71f000ffffffffffff, где значение после 71 (в данном случае "f") - это как раз значение которое мне нужно. Значение приходит строкой. Лишнее я откинул, только никак не пойму, как мне f привести к десятичной систем (т.е. к 15).
Все верно. Бинарные данные приходят и побайтно складываются и переводятся в строку, что мы затем видим в мониторе.
То, что было касательно кракозябр - это библиотека неправильно читала байты. С этим я и разобрался.
Теперь пытаюсь понять как перевести 0x0f в 15.
Если базовый, то создаёте переменные Number и туда пишите значения часов, минут и т.д. А можно и текстовой строкой загонять, как удобнее. Некоторые библиотеки позволяют получать данные с часов в текстовой строке.
играюсь с упрощённой библиотекой.
передача данных на дисплей раз в секунду.
если в этот момент нажали кнопку дуня дисплей не слышит, в сериале кракозябры
на дисплее событие отработалось (например цвет кнопки двойного нажатия изменился), а на дуне нифига.....
такая ерунда не часто но получается.
есть какие то решения, идеи?
может кто сталкивался
Не понял Ваш комментрий к скрипту. Вычисления и производятся на меге. Но чтобы правильно их производить, необходимо иметь нужный формат полученных данных.
Получить команду с кнопки - проблема не велика. Я устанавливаю, к примеру, температуру кнопками + / -. Отправка выставленного значения происходит по нажатию на кнопку Ок. Так мне нужно получить не стгнал с кнопки, а введенную температуру.
Упрощенная библиотека, это которая nextion master? У нее есть такой косяк. Исправляется раскомментированием куска кода в библиотеке. Если мы именно об этой библиотеке говорим.
коллеги, а подскажите - нигде не нашел - какая шина используется при подключении этих дисплеев к Ардуино?
Какая может быть максимальная длина для подключения?
есть очень большое желание взять весь из себя такой умный дисплей. повесить его на стене в коридоре, а "мозги" - то бишь Ардуино - в двух метрах в шкафу.
Что-то у меня какая-то фигня с дисплеем. Карту SD то видит, то требует отформатировать с FAT32. А она и так FAT32. Вообще, кто какие карты пользует для дисплея? У меня была на 8Гб, но сдохла, купил на 16, то видит карту, то не не видит.
и еще вопрос - производитель везде пишет, что питания требуется аж 5 Ватт!
это действительно так, и греется начинка; или просто производитель перестраховывается, поскольку в линейке есть большие экраны и им нужно много подсветки
Упрощенная библиотека, это которая nextion master? У нее есть такой косяк. Исправляется раскомментированием куска кода в библиотеке. Если мы именно об этой библиотеке говорим.
посмотрел библиотеку.
там закомментирован кусок
String Nextion::listen(unsigned long timeout)
так перед ним в три раза больший кусок с функцией с тем же названием.
если первый закомментировал а второй открыл, то вообще не фурычит
Vvadim, а дисплей по софту подключен или по харду? Если по софту, попробуйте на хард подключить, у меня на софте тоже периодически приходили кракозябры.
А что касается библиотеки, то тут тогда сложно сказать, нужно код смотреть.
в принципе работает вроде всё нормально
температура на дисплей отсылается , меню бегает, параметры меняются
а вот с двойными кнопками беда
на дисплее при нажатии цвет меняется всегда, а на дуню команда не всегда проходит
при попадании нажатия на момент отправки температуры на дуню в сериале порта приходит яяя
получается цвет кнопки поменялся а реле не включилось
как только убираю отправку банных на дуню - всё гуд
myNextion.setComponentText("t3", String(celsius));
попробовал так
если не слушаем дисплей то отсылаем данные
if (nextion.isListening() == false)
myNextion.setComponentText("t3", String(celsius));
в этом случае кнопки-реле работают хорошо, а температура вообще не отправляется
begin делаю. подключение прямое (RX-RX, TX-TX) хотя и наоборот пробовал. землю обьединял.
На метеной плате еще висит схема с датчиком температуры, LCD дисплеем и вентилятором.
Еще вопрос у UNO serial только один правильно я понимаю, пины 0 и 1. я ним подключаю RX-TX. А монитор порта в Ardulino IDE тоже должен команды показывать которые я на Nextion передаю???
Подключение должно быть перекрёстное: с TX ардуины на RX Nextion, с RX ардуины - на TX Nextion, по-моему, это какбэ очевидно: что послала ардуина, должно приниматься Nextion, и наоборот.
Для тестирования совместно с монитором порта лучше юзать SoftwareSerial для Nextion.
Если я подключаю перекреснто при закгрузке на арделину выдает avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
У вас Nextion подключен к RX0 и TX0? Отключите его перед загрузкой скетча.
Если долго мучиться что нибудь получиться... параметры записывает, а теперь как читать???
void ReadFromLCD ????
Если долго мучиться что нибудь получиться... параметры записывает, а теперь как читать???
void ReadFromLCD ????
Прочитать документацию: http://wiki.iteadstudio.com/Nextion_Instruction_Set#Format_of_Device_Return_Data - там всё написано, что и в каком формате возвращает экран в порт.
В принципе можно и свой протокол сморозить. Для передачи там есть команды Print и Printh.
Здравствуйте, не пробовали камеру через ардуиино подключать и выводить на этот дисплей , тормоза будут ?
Здравствуйте, не пробовали камеру через ардуиино подключать и выводить на этот дисплей , тормоза будут ?
Данный дисплей по определению не рассчитан на вывод потокового видео.
понятно , спасибо .
Народ, нужна помощь! Может ли кто нибудь слить дамп, с 4 мегабайтной флешки, для экранчика tjc3224t022_011n. Заранее буду благодарен.
Всем привет!
У меня есть маленькая просьба к использующим данные экраны и желающим потестить эдитор под линуксом.
Не так давно от ITEAD был официальный ответ по поводу поддержки Nextion Editor для Linux
http://support.iteadstudio.com/support/discussions/topics/1000062201?page=1
Ответ отрицательный, хотя, изначально они обещали запилить.
Собственно, решением было подобрать конфигурацию под Wine и оттестировать.
Проблемой такого решения было слабое знание нюансов wine и сборки префиксов даже среди линуксойдов.
Вот и решил собрать автоматический скрипт для PlayOnLinux, ибо это самое простое и быстрое решение для всех =)
https://www.playonlinux.com/en/app-3021-Nextion_Editor_037.html
Запускать можно кописастой в браузер данной ссылки. PLayOnLinux должен быть установлен, разумеется.
playonlinux://www.playonlinux.com/repository/download_update.php?id=6104
Прошу помощи у сообщества для тестирования. Потестите как оно работает у вас, пишите о багах и траблах.
Ну и если работает - напишите отзыв прямо на странице. Так скрипт пройдет проверку быстрее и появится в официальных источниках. Можно будет устанаваливать в три клика))
Кто нибудь покупал в этом магазине http://ru.aliexpress.com/store/group/LCD-Module-HMI/900905_503279166.htm...
Там появились новые, расширенные версии.
Никак немогу понять как сделать чтобы, картинка появлялась при сигнале с ардуины. В библиотеке nextion-master такого не нашел.
Библиотекой не пользуюсь, есть команда vis
https://www.itead.cc/wiki/Nextion_Instruction_Set#vis:_Hide.2Fshow_compo...
Спасибо, помогло))) я так понимаю здесь все команды идут чисто стрингом
Пример для китайского Nextion
NX3224T024
который рисует графики по сигналам на аналоговых входах Arduino Leonardo
Немогу поменять скорость юарта на дисплеи. Сначало Serial2.begin(9600); дальше в дисплей команду "baud=115200", затем уже сериал на 115200 перевожу и результата ноль. Если вместо 115200 ввести 9600 в эти все строки, дисплей работает.
Есть команда bauds=115200, установка по умолчанию.
Пробывал и эту команду. С их форума все последовательно делал, у них работает, у меня нет. Завтра попробую с компьютера отправить команду.
Настроил через отладчик на 115200. Почему с ардуины не настраивалось, непонятно.
Народ, ни кто не сталкивался с "разрезанием" изображения в кнопке "Button"?
Нашел - картинку режет если в поле txt что либо написанно.
Треснул дисплей, точнее стекло под сенсором. Сенсор перестал откликаться окончательно, меняется ли он? Или можно перепаять дисплей на подобный?
Что-то тема затихла.
Коллеги, подскажите, кто пользуется библиотекой nextion-master, как запросить значение компонента дисплея? Есть цифровое поле с вводом, при нажатии кнопки на дисплее необходимо передать значение в ардуино. Пробовал на симуляторе - значение посылается. А в ардуину приходят кракозябры, хотя другие значения (нажатия кнопок и т.д.) передаются корректно.
Пробовал командой библиотеки при получении команды с кнопки запрашивать с ардуино значение поля с данными
кракозябры в ответ.
Пробовал print z0.val из самого дисплея - аналогично. В чем проблема - не пойму.
Можно сообщить конкретно, что ожидается получить, и что на савмом деле приходит?
Кракозябров-то в любом случае не должно быть - печатаем число.
Ожидается получть значение числового поля Numeric, которое на дисплее имеет значение 15.
В монитор порта приходят такие символы
Если это "Terminal", то нужно включить "HEX". Я это 0xFF
Разобрался я частично с проблемой, она была в библиотеке.
Получаю в итоге в терминал, к примеру: 71f000ffffffffffff, где значение после 71 (в данном случае "f") - это как раз значение которое мне нужно. Значение приходит строкой. Лишнее я откинул, только никак не пойму, как мне f привести к десятичной систем (т.е. к 15).
0x0f и есть десятичное 15.
Да это я знаю :)
Функция есть, которая переводит из 0x0f в 15?
А что должна желать эта функция?
0x0f и 15 - это разные варианты записи одного и того же.
Или Вы имеете в виду преобразование из текста в текст? Тогда обычно переводят через внутреннее (бинарное) представление.
Но Вы уверены, что получаете именно текст, а не бинарные данные, которые затем Serial.print() переводит в текст, который Вы видите на экране?
То, что у Вас изображено в посте №126, это не текст, а как раз бинарные данные, которые каким-то образом были ошибочно трактованы как текст.
Все верно. Бинарные данные приходят и побайтно складываются и переводятся в строку, что мы затем видим в мониторе.
То, что было касательно кракозябр - это библиотека неправильно читала байты. С этим я и разобрался.
Теперь пытаюсь понять как перевести 0x0f в 15.
Ну в данном конкретном случае речь идет о преобразовании шестнадцатиричного представления в десятичное.
Не могу понять как часы сделать.
Победил я и преобразование. Код может и корявый, но работает. Мне необходимо преобразовывать в десятичные числа от 15 до 30. Serial.print для дебага.
Sliva
Если дисплей расширенный, то запускается таймер с периодом 1сек и в его обработчике пишите
Если базовый, то создаёте переменные Number и туда пишите значения часов, минут и т.д. А можно и текстовой строкой загонять, как удобнее. Некоторые библиотеки позволяют получать данные с часов в текстовой строке.
Победил я и преобразование. Код может и корявый, но работает. Мне необходимо преобразовывать в десятичные числа от 15 до 30. Serial.print для дебага.
а не проще по командам дисплея на дуне все вычисления делать
играюсь с упрощённой библиотекой.
передача данных на дисплей раз в секунду.
если в этот момент нажали кнопку дуня дисплей не слышит, в сериале кракозябры
на дисплее событие отработалось (например цвет кнопки двойного нажатия изменился), а на дуне нифига.....
такая ерунда не часто но получается.
есть какие то решения, идеи?
может кто сталкивался
Не понял Ваш комментрий к скрипту. Вычисления и производятся на меге. Но чтобы правильно их производить, необходимо иметь нужный формат полученных данных.
Получить команду с кнопки - проблема не велика. Я устанавливаю, к примеру, температуру кнопками + / -. Отправка выставленного значения происходит по нажатию на кнопку Ок. Так мне нужно получить не стгнал с кнопки, а введенную температуру.
Упрощенная библиотека, это которая nextion master? У нее есть такой косяк. Исправляется раскомментированием куска кода в библиотеке. Если мы именно об этой библиотеке говорим.
коллеги, а подскажите - нигде не нашел - какая шина используется при подключении этих дисплеев к Ардуино?
Какая может быть максимальная длина для подключения?
есть очень большое желание взять весь из себя такой умный дисплей. повесить его на стене в коридоре, а "мозги" - то бишь Ардуино - в двух метрах в шкафу.
Да по идее и на бОльшую длину должно хватить
Я через витую пару метров на 5 подключал, всё работало.
Таймер без ардуино можно сделать?
Что-то у меня какая-то фигня с дисплеем. Карту SD то видит, то требует отформатировать с FAT32. А она и так FAT32. Вообще, кто какие карты пользует для дисплея? У меня была на 8Гб, но сдохла, купил на 16, то видит карту, то не не видит.
dr.lmg, alex_r61
Спасибо!
и еще вопрос - производитель везде пишет, что питания требуется аж 5 Ватт!
это действительно так, и греется начинка; или просто производитель перестраховывается, поскольку в линейке есть большие экраны и им нужно много подсветки
У меня сейчас дисплей 4.3, при подсветке по умолчанию от USB порта он не запускался.
Для дисплея этого нужен как минимум ток 1А. От usb такого не получить.
посмотрел библиотеку.
там закомментирован кусок
String Nextion::listen(unsigned long timeout)
так перед ним в три раза больший кусок с функцией с тем же названием.
если первый закомментировал а второй открыл, то вообще не фурычит
Vvadim, а дисплей по софту подключен или по харду? Если по софту, попробуйте на хард подключить, у меня на софте тоже периодически приходили кракозябры.
А что касается библиотеки, то тут тогда сложно сказать, нужно код смотреть.
в принципе работает вроде всё нормально
температура на дисплей отсылается , меню бегает, параметры меняются
а вот с двойными кнопками беда
на дисплее при нажатии цвет меняется всегда, а на дуню команда не всегда проходит
при попадании нажатия на момент отправки температуры на дуню в сериале порта приходит яяя
получается цвет кнопки поменялся а реле не включилось
как только убираю отправку банных на дуню - всё гуд
myNextion.setComponentText("t3", String(celsius));
попробовал так
если не слушаем дисплей то отсылаем данные
if (nextion.isListening() == false)
myNextion.setComponentText("t3", String(celsius));
в этом случае кнопки-реле работают хорошо, а температура вообще не отправляется