И встроенный язык уже полностью освоили? Вы даже со щрифтами, похоже, не разобрались. Я уже видел проекты, где даже для переключения страниц в дисплее используют Дуню, смешно.
Встроенный язык там - одно название, чего там осваивать-то? По поводу шрифтов - это вам только кажется, что не разобрался, поэтому и пишете "похоже". Разобрался - и вовсе от них отказался, в силу того, что они кодируются побитово, следовательно - о сглаживании можно забыть. Шрифты - это самое слабое место у Nextion, к слову.
Я вот не понял - вам только наехать или как? А то что-то тон вашего сообщения какбэ намекает на то, что опять я лох, а вы во всём разобрались. Я ни-че-го не хочу никому доказывать, о чём неоднократно упоминал. Не надо моего мнения - не читайте, что я пишу. Не устраивает - это ваше право. Не согласны - аргументируйте.
А то, похоже, вы даже в шрифтах Nextion не разобрались, а всё туда же. Видел я подобные проекты - смешно.
Я ни на что не намекаю, а Вы сразу "с шашкой наголо". Весеннее обострение? Подскажите тогда как реализовать Radio Buttons и Checkbox, имеющимися средствами. Я что то завяз, а у них пока не реализовано.
Я ни на что не намекаю, а Вы сразу "с шашкой наголо". Весеннее обострение? Подскажите тогда как реализовать Radio Buttons и Checkbox, имеющимися средствами. Я что то завяз, а у них пока не реализовано.
Два рисунка состояний, чекнуто/нечекнуто. Для чекбокса - всё есть из коробки, компонент Dual-state button. Для радио - тоже юзаем Dual-state button, по нажатию на каждый (событие по вкусу - touch press или touch release):
ref_stop // чтобы экран не помаргивал, если радиокнопок много
bt1.val=0 // выключаем кнопку 1
bt2.val=0 // выключаем кнопку 2
// и т.д.
ref_star
В общем, при нажатии на каждую радио надо выключать все другие, с которыми она в одной группе.
Правка: только с радио придётся ещё обрабатывать ситуацию, когда щёлкают по одной и той же кнопке постоянно. Можно и без dual-state button это решить, просто компонентом image, например. Короче, никаких особых "против" нету - всё делается быстро штатными средствами.
Вопрос по отличию китайской и нормальной версии - как я понял из того что писалось там только с IDE непосредственно в дисплейчик не грузится. А если все просто скопировать на карточку и ее вставить? Будет работать?
Но читать HMI-файл по идее должна любая версия редактора. То есть, если даже что-то прикрыли в этом варианте, то достаточно просто пересохранить готовый файл под китайской версией. Впрочем, надеюсь скоро попробовать - у меня как раз нарисовались обе версии...
Увы, хотя я за выходные свою плату успел собрать, но запустить ее смогу не раньше чем в следующие выходные. Если все нормально заработает, то и дисплейчики опробую...
Плюйтесь в меня, бросайтесь чем хотите, хоть какулями. Пришел ко мне нахаляву. Получил минут 30 назад. Только кабель зарядки телефона с собой есть, подключил, красота.... Завтра дома буду, буду щупать. А, так, демка-менюшки.
Други, подскажите, залил на sd карту проект, дисплей карту видит, а файл проекта - нет. В какую сторону копать?
Файл проекта - это HMI? Если да, то не тот файл скармливаете: на флешке должен лежать единственный файл, с расширением tft. найти его можно, выбрав в Nextion Editor пункт меню File->Open build folder после того, как скомпилируете проект. В этот папке и будет лежать tft-файл, который надо перенести на девственно чистую карточку.
Так, разобрался я как передавать данные с ардуинки в дисплей. Теперь дело за малым: настроить передачу параметров с ардуинки в дисплей, и с дисплея в ардуинку :)
Так, разобрался я как передавать данные с ардуинки в дисплей. Теперь дело за малым: настроить передачу параметров с ардуинки в дисплей, и с дисплея в ардуинку :)
Есть библиотека для Arduino IDE прямо от разработчиков Nextion - это, что называется, раз. Два: там всё просто, как блин - разобраться можно за пару часов, неспешно прочитав доку на команды дисплея, и впилить в код то, что нужно.
Если вкратце - то любая команда, которая гоняется туда/сюда по UART - заканчивается тремя байтами 0xFF, по наличию трёх таких последних байт в буфере приёма - понимаешь, что команда от дисплея пришла. Далее - смотришь код команды, и интерпретируешь данные.
Посылать дисплею - ещё проще: послал что-то типа j0.val=10 - в конце дописал в UART три байта 0xFF - и всё.
Да вот заткнулся опять на проблемке: значение одной переменной типа String или Int передаются нормально. Как только я пытаюсь передать сразу несколько переменных разных типов,ардуинка зависает. Пользую библиотеку nextion.h
А может попробуем свою прошивку написать,там контроллер помощьнее avr, на плате даже вывод под st-link есть. Камень stm32f030 дисплей подключен по 16 битной шине к PB0-15. Контроллер экрана не известен, но есть подозрение что это HX8352. Придет st-link буду ковырять, с stm раньше дел не имел. Кто подскажет с чего начать, как слить родную прошивку?
Свой я ранее получил в такой же коробочке. А вот китайскую версию прислали просто замотанную в пленку с пупырышками. Еще не включал, но видимых повреждений не заметно...
Так, что мой вопрос здесь уже, по все видимости, не актуален. Прошу прощения за то, что несвоевременно об этом сообщаю (серьезно). Здесь вопрос снимаю, переношу в указанную ветку.
И официальная документация к дисплею не помогает? Что ж такое то - сволочи китайцы, не умею писать документации вовсе! Да ещё примеры не компилируются, выдают ошибку в строке номер сто тридцать пять! Гавно ваша ардулино!
Если вкратце - то все команды, посылаемые в Nextion по UART - суть текстовые, заканчивающиеся тремя байтами 0xFF. Чтобы установить текст в компоненте, надо в порт послать t3.txt="тут текст"0xFF0xFF0xFF.
Как принимать и интерпретировать принятое - тоже есть по указанной ссылке.
Ирония совсем не уместна, мы когда то все учились... И китайцы не причем... И документацию читал... Но все равно спасибо за ответ.
Вы же прекрасно понимаете, почему я иронизирую. Поверьте - в документации есть всё. Я даже не брал в руки библиотеку для Arduino IDE, которую так любезно наколбасили китайцы, ибо она - избыточна для моих целей. Брал всё именно из документации, там есть прекрасные таблички, которые описывают, что приходит в порт от Nextion и как это интерпретировать, есть также примеры команд по установке значения того или иного компонента.
Считаю, что вы просто не сделали над собой усилие и не прочитали толком, отсюда и ирония.
З.Ы. И да, будьте готовы к тому, что вся годная (да и негодная тоже) документация - на басурманском, и даташиты на микросхемы всякие - тоже на языке потенциального противника. Так что лучше привыкать сразу ;)
Надеюсь, begin для нужного serial делается? Подключено перекрёстно (RX-TX, TX-RX)? Если разные источники питания - земли объединены?
Вообще, строго говоря, сразу с места в бой - практика порочная. Для понимания того, как оно работает, достаточно подключить Nextion через USB-TTL-конвертер и в любой терминалке посылать ему команды, добиваясь, чтобы заработало. Ну и заодно бесплатно смотреть, чего он там отсылает взад.
Вот лично я не знаю дисплея проще в общении, чем Nextion. Уж если с ним не получается, тогда...
И встроенный язык уже полностью освоили? Вы даже со щрифтами, похоже, не разобрались. Я уже видел проекты, где даже для переключения страниц в дисплее используют Дуню, смешно.
Встроенный язык там - одно название, чего там осваивать-то? По поводу шрифтов - это вам только кажется, что не разобрался, поэтому и пишете "похоже". Разобрался - и вовсе от них отказался, в силу того, что они кодируются побитово, следовательно - о сглаживании можно забыть. Шрифты - это самое слабое место у Nextion, к слову.
Я вот не понял - вам только наехать или как? А то что-то тон вашего сообщения какбэ намекает на то, что опять я лох, а вы во всём разобрались. Я ни-че-го не хочу никому доказывать, о чём неоднократно упоминал. Не надо моего мнения - не читайте, что я пишу. Не устраивает - это ваше право. Не согласны - аргументируйте.
А то, похоже, вы даже в шрифтах Nextion не разобрались, а всё туда же. Видел я подобные проекты - смешно.
Я ни на что не намекаю, а Вы сразу "с шашкой наголо". Весеннее обострение? Подскажите тогда как реализовать Radio Buttons и Checkbox, имеющимися средствами. Я что то завяз, а у них пока не реализовано.
Я ни на что не намекаю, а Вы сразу "с шашкой наголо". Весеннее обострение? Подскажите тогда как реализовать Radio Buttons и Checkbox, имеющимися средствами. Я что то завяз, а у них пока не реализовано.
Два рисунка состояний, чекнуто/нечекнуто. Для чекбокса - всё есть из коробки, компонент Dual-state button. Для радио - тоже юзаем Dual-state button, по нажатию на каждый (событие по вкусу - touch press или touch release):
В общем, при нажатии на каждую радио надо выключать все другие, с которыми она в одной группе.
Правка: только с радио придётся ещё обрабатывать ситуацию, когда щёлкают по одной и той же кнопке постоянно. Можно и без dual-state button это решить, просто компонентом image, например. Короче, никаких особых "против" нету - всё делается быстро штатными средствами.
Спасибо, в принципе так и начал делать, а потом меня что то не в ту степь понесло:)
Вопрос по отличию китайской и нормальной версии - как я понял из того что писалось там только с IDE непосредственно в дисплейчик не грузится. А если все просто скопировать на карточку и ее вставить? Будет работать?
http://arduino.ru/forum/apparatnye-voprosy/nextion-displei#comment-184299
Увы - не дюже понятно что там прикрыли...
Но читать HMI-файл по идее должна любая версия редактора. То есть, если даже что-то прикрыли в этом варианте, то достаточно просто пересохранить готовый файл под китайской версией. Впрочем, надеюсь скоро попробовать - у меня как раз нарисовались обе версии...
Будет интересно чем всё кончится.
Будет интересно чем всё кончится.
Увы, хотя я за выходные свою плату успел собрать, но запустить ее смогу не раньше чем в следующие выходные. Если все нормально заработает, то и дисплейчики опробую...
Как и предпологалось дисплей не пришёл. И xDriver оказался прав - жулик, мне на комплектухе маленько сэкономил.
Как и предпологалось дисплей не пришёл. И xDriver оказался прав - жулик, мне на комплектухе маленько сэкономил.
А что, уже прошли все сроки ?
Какие сроки? Комплектуха пришла без дисплея и нескольких микрух.
Други, подскажите, залил на sd карту проект, дисплей карту видит, а файл проекта - нет. В какую сторону копать?
Плюйтесь в меня, бросайтесь чем хотите, хоть какулями. Пришел ко мне нахаляву. Получил минут 30 назад. Только кабель зарядки телефона с собой есть, подключил, красота.... Завтра дома буду, буду щупать. А, так, демка-менюшки.
Модель NX3224T028_011
Други, подскажите, залил на sd карту проект, дисплей карту видит, а файл проекта - нет. В какую сторону копать?
Файл проекта - это HMI? Если да, то не тот файл скармливаете: на флешке должен лежать единственный файл, с расширением tft. найти его можно, выбрав в Nextion Editor пункт меню File->Open build folder после того, как скомпилируете проект. В этот папке и будет лежать tft-файл, который надо перенести на девственно чистую карточку.
Да, изначально пытался скормить HMI, не получилось :)
Потом уже покопавшись на itead studio, нашел, что нужен как раз tft. Дисплей запустил.
Теперь не могу понять, как из ардуины на него передать, к примеру, показания температуры? И как его на дисплее отобразить.
hunk_72
Трек UAxxxxxxxxxYP был ?
Территориально где находишься ?
Мои повисли где-то ....
Питер.
А, ты сам где?
Москва, так трек то какой был ?
Так, разобрался я как передавать данные с ардуинки в дисплей. Теперь дело за малым: настроить передачу параметров с ардуинки в дисплей, и с дисплея в ардуинку :)
Так, разобрался я как передавать данные с ардуинки в дисплей. Теперь дело за малым: настроить передачу параметров с ардуинки в дисплей, и с дисплея в ардуинку :)
Есть библиотека для Arduino IDE прямо от разработчиков Nextion - это, что называется, раз. Два: там всё просто, как блин - разобраться можно за пару часов, неспешно прочитав доку на команды дисплея, и впилить в код то, что нужно.
Если вкратце - то любая команда, которая гоняется туда/сюда по UART - заканчивается тремя байтами 0xFF, по наличию трёх таких последних байт в буфере приёма - понимаешь, что команда от дисплея пришла. Далее - смотришь код команды, и интерпретируешь данные.
Посылать дисплею - ещё проще: послал что-то типа j0.val=10 - в конце дописал в UART три байта 0xFF - и всё.
Да вот заткнулся опять на проблемке: значение одной переменной типа String или Int передаются нормально. Как только я пытаюсь передать сразу несколько переменных разных типов,ардуинка зависает. Пользую библиотеку nextion.h
Плюнул на эту библиотеку, под одной IDE идёт под другой нет. Для передачи использую подпрограмму.
void sendToLCD(uint8_t type, String index, String cmd) { if (type == 1 ){ Nextion.print(index); Nextion.print(".txt="); Nextion.print("\""); Nextion.print(cmd); Nextion.print("\""); } else if (type == 2){ Nextion.print(index); Nextion.print(".val="); Nextion.print(cmd); } else if (type == 3){ Nextion.print(index); Nextion.print(".picc="); Nextion.print(cmd); } else if (type ==4 ){ Nextion.print("page "); Nextion.print(cmd); } Nextion.write(0xff); Nextion.write(0xff); Nextion.write(0xff); }Для приёма сделал свой протокол.
А может попробуем свою прошивку написать,там контроллер помощьнее avr, на плате даже вывод под st-link есть. Камень stm32f030 дисплей подключен по 16 битной шине к PB0-15. Контроллер экрана не известен, но есть подозрение что это HX8352. Придет st-link буду ковырять, с stm раньше дел не имел. Кто подскажет с чего начать, как слить родную прошивку?
Ну что, можно и в меня какашками кидать :)
Нихрена, ты хапнул, вот китаец попал.
Свой я ранее получил в такой же коробочке. А вот китайскую версию прислали просто замотанную в пленку с пупырышками. Еще не включал, но видимых повреждений не заметно...
xDriver когда заказал?
http://arduino.ru/forum/apparatnye-voprosy/nextion-displei#comment-182057
25-03-2016
http://arduino.ru/forum/apparatnye-voprosy/nextion-displei#comment-182057
25-03-2016
По той цене?
Ну так о чем и речь !!!
Я в шоке, перепутал там чего китаец или обкурился, но факт есть факт.
Ребята, может кто сталкивался с такой фичей:
Если HMI (у меня 3.5 базовая) подключить в мегу2560 к TX0 и RX0 у меня начинаются танцы с бубнами ( и не одним):
1. программа в 2560 не грузится, говорит "stk500v2_getsync(): timeout communicating with programmer"
2. отключаешь дисплей от TX0 и RX0 все грузится нормально
Это был раз. Теперь два:
1. после повторного подключения к TX0 и RX0 (после того как скетч загрузил) дисплей команды принимает, но 2560 данные от дисплея не принимает.
2. если в этот момент включить Serial Monitor или какой-нибудь терминал (например, PuTTY), то прием данных от дисплея ардуиной начинает работать.
Если подключать к любым другим TX/RX (1, 2, 3), то все работает нормально и сразу.
Вот, блин, что это? На сайте ITEAD нифига не нашел. Может плохо искал...
... Вот, блин, что это? ...
Это извращение, сударь :) А зачен лепить дисплей на занятый порт? На другие что мешает?
Это извращение, сударь :) А зачен лепить дисплей на занятый порт? На другие что мешает?
Согласен, если не предполагать, что остальные уже заняты. А дальше возникает вот эта проблема
http://www.arduino.ru/forum/obshchii/problemy-raboty-po-tx0rx0-mega2560-tozhe-na-due
Так, что мой вопрос здесь уже, по все видимости, не актуален. Прошу прощения за то, что несвоевременно об этом сообщаю (серьезно). Здесь вопрос снимаю, переношу в указанную ветку.
Друзья подскажите как решить простую задачу:
На nextion записан проект с одним обьектом Text. Objectname: t3.
как из ардулино записать в свойство txt - "123345"
И прочитать его обратно....
Все перерыл, примеры из официальной библиотеки не компилируются.
Просьба если не сложно полный листинг, а не куском.... или ссылку
И официальная документация к дисплею не помогает? Что ж такое то - сволочи китайцы, не умею писать документации вовсе! Да ещё примеры не компилируются, выдают ошибку в строке номер сто тридцать пять! Гавно ваша ардулино!
Вы точно документацию читали? Там все команды описаны: http://wiki.iteadstudio.com/Nextion_Instruction_Set
Если вкратце - то все команды, посылаемые в Nextion по UART - суть текстовые, заканчивающиеся тремя байтами 0xFF. Чтобы установить текст в компоненте, надо в порт послать t3.txt="тут текст"0xFF0xFF0xFF.
Как принимать и интерпретировать принятое - тоже есть по указанной ссылке.
Ирония совсем не уместна, мы когда то все учились... И китайцы не причем... И документацию читал... Но все равно спасибо за ответ.
К этим инструкциям ещё и пол литра надо :) Отправка:
void sendToLCD(uint8_t type, String index, String val, String cmd) { if (type == 1 ){ // Текст (text) mySerial.print(index); // К примеру: t0.txt="PayalnikTV 2015" mySerial.print(".txt="); mySerial.print("\""); mySerial.print(cmd); mySerial.print("\""); } else if (type == 2){ // Страница (page), например: page 1 mySerial.print("page "); mySerial.print(cmd); } else if (type == 3){ // Разные параметры {val} val pic bco pco и т.д. mySerial.print(index); // К примеру: j0.val=50 или t1.pco=2016 mySerial.print("."); mySerial.print(val); mySerial.print("="); mySerial.print(cmd); } mySerial.write(0xff); // В конце каждой команды посылаем такую последовательность mySerial.write(0xff); mySerial.write(0xff); }Ирония совсем не уместна, мы когда то все учились... И китайцы не причем... И документацию читал... Но все равно спасибо за ответ.
Вы же прекрасно понимаете, почему я иронизирую. Поверьте - в документации есть всё. Я даже не брал в руки библиотеку для Arduino IDE, которую так любезно наколбасили китайцы, ибо она - избыточна для моих целей. Брал всё именно из документации, там есть прекрасные таблички, которые описывают, что приходит в порт от Nextion и как это интерпретировать, есть также примеры команд по установке значения того или иного компонента.
Считаю, что вы просто не сделали над собой усилие и не прочитали толком, отсюда и ирония.
З.Ы. И да, будьте готовы к тому, что вся годная (да и негодная тоже) документация - на басурманском, и даташиты на микросхемы всякие - тоже на языке потенциального противника. Так что лучше привыкать сразу ;)
К этим инструкциям ещё и пол литра надо :) Отправка:
void sendToLCD(uint8_t type, String index, String val, String cmd) { if (type == 1 ){ // Текст (text) mySerial.print(index); // К примеру: t0.txt="PayalnikTV 2015" mySerial.print(".txt="); mySerial.print("\""); mySerial.print(cmd); mySerial.print("\""); } else if (type == 2){ // Страница (page), например: page 1 mySerial.print("page "); mySerial.print(cmd); } else if (type == 3){ // Разные параметры {val} val pic bco pco и т.д. mySerial.print(index); // К примеру: j0.val=50 или t1.pco=2016 mySerial.print("."); mySerial.print(val); mySerial.print("="); mySerial.print(cmd); } mySerial.write(0xff); // В конце каждой команды посылаем такую последовательность mySerial.write(0xff); mySerial.write(0xff); }Позволю себе позанудствовать и немного улучшить определение функции:
По итогу - избежим ненужного дёрганья памяти при передаче значений в функцию.
нда, что то совсем у меня не работает:(((( :))))
Железо: UNO+Nextion
Коммутация: Желтый провод RX - на пин 0 в ардулино, Синий провод TX - на пин 1 в ардулино
В проекте Nextion Editor 3 страницы (page0, page1, page2)
---- скетч
#include <SoftwareSerial.h>
не page1, а page 1
http://wiki.iteadstudio.com/Nextion_Instruction_Set#page:_Refresh_page
page 1 - пробовал все равно не переходит.
page 1 - пробовал все равно не переходит.
Вангую - что-то делаете неправильно. Вот этот код просто обязан работать:
Serial.write("page 1"); static uint8_t endOfPacket[3] = {0xFF,0xFF,0xFF}; Serial.write(endOfPacket,sizeof(endOfPacket));Может просто страница не page 1 называется...
https://yadi.sk/i/4MBp8jaAtSo2n скрин
А может с головой?
sendToLCD(1,"t0", "Privet golova");
Про голову - согласен, иначе бы не спрашивал...
даже так не работает sendToLCD(1,"t3","","Privet golova"); :))))))))))))))))))
Надеюсь, begin для нужного serial делается? Подключено перекрёстно (RX-TX, TX-RX)? Если разные источники питания - земли объединены?
Вообще, строго говоря, сразу с места в бой - практика порочная. Для понимания того, как оно работает, достаточно подключить Nextion через USB-TTL-конвертер и в любой терминалке посылать ему команды, добиваясь, чтобы заработало. Ну и заодно бесплатно смотреть, чего он там отсылает взад.
Вот лично я не знаю дисплея проще в общении, чем Nextion. Уж если с ним не получается, тогда...