Подскажите по NEXTION панели

Brand2
Лейтенант
Сообщения: 413
Зарегистрирован: 26.02.2018{, 21:27}
Репутация: 41
Откуда: Haifa
Имя: Alex

Подскажите по NEXTION панели

#21

Сообщение Brand2 » 11.12.2019{, 12:42}

KulibinOrsk, пример в студию пожалуйста

KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

Подскажите по NEXTION панели

#22

Сообщение KulibinOrsk » 11.12.2019{, 13:18}

Brand2, Вам что пример из 2-х строчек с флпрог нужен ? Или хотите фот-видео с панелей ?

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

Подскажите по NEXTION панели

#23

Сообщение grin-mpx » 11.12.2019{, 15:38}

KulibinOrsk писал(а):
11.12.2019{, 12:02}
- вывести и текст и фигуры различных цветов и в любое место программы
Во первых, не в любое, а на ТЕКУЩУЮ страницу.
KulibinOrsk писал(а):
11.12.2019{, 14:13}
support, полагаю что во всех версиях (я проверил на 5.3.0) не работает вывод текста в панель NEXTION в частности NX3224T028-011.
Пытаюсь использовать панель просто как цветной дисплей (очень удобно кстати) и вот с flprog не выводит текст, при этом круги, квадраты разными цветами все отрабатывает.
Вот объясните мне, как чистая панель может вывести текст если в ней нет ШРИФТОВ. Даже в том параметре где Вы указали, отправка текста НА ТЕКУЩУЮ СТРАНИЦУ! нужно указать ID шрифта, а он заливается ТОЛЬКО из Nextion Editor.
send.jpg
Отправлено спустя 13 минут 35 секунд:
KulibinOrsk писал(а):
11.12.2019{, 13:18}
Brand2, Вам что пример из 2-х строчек с флпрог нужен ? Или хотите фот-видео с панелей ?
Ценю Ваш юмор про 2 строчки. Отправка текста HELLO на дисплей, на текущую страницу.
Может Вы 2 блока имели ввиду?
СпойлерПоказать
struct _nextionLissenStruct{
char code;
String result;
long number;
};
_nextionLissenStruct _nextionTempLissen;
bool _nextionPaintTXT1_OldStae = 0;
bool _trgrt1 = 0;
bool _trgrt1I = 0;

void setup()
{

Serial2.begin(9600, SERIAL_8N1);
nextionSendCommand("", 2);
nextionSendCommand("page 0", 2);

}
void loop()
{

String _tempVariable_String;





//Плата:1
if (!(0)) { if (_trgrt1I) { _trgrt1 = 0;} else {_trgrt1 = 1; _trgrt1I = 1;} } else {_trgrt1 = 0; _trgrt1I = 0;};
if ( _trgrt1) { if ( ! _nextionPaintTXT1_OldStae) {_nextionPaintTXT1_OldStae = 1 ; _tempVariable_String = String ("xstr ") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("1") + String (",") + String ("1") + String (",") + String ("1") + String (",\"") + String (" HELLO") + String ("\"");
nextionSendCommand(_tempVariable_String.c_str(), 2);}} else { _nextionPaintTXT1_OldStae = 0; }






}

bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
struct _nextionLissenStruct nextionSendCommand(const char* cmd, byte port )
{
while (Serial2.available()){Serial2.read(); }
Serial2.print(cmd);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
return nextionListen(port);
}
struct _nextionLissenStruct nextionListen( byte port )
{
byte _bite;
byte _end = 0xff;
byte cmd[100];
int index = 0;
_nextionLissenStruct temp;
temp.result = "";
temp.code = 'z';
temp.number = 0;
int countEnd = 0;
delay(50);
long startTime = millis();
while(! (countEnd==3)) {
while(Serial2.available()>0){
if(Serial2.available()>0){
_bite = Serial2.read();
cmd[index] = _bite;
index++;
if(_bite == _end){countEnd++;}
if(countEnd == 3){break;}
}}
if(_isTimer(startTime, 100)) {return temp;}
}
switch (cmd[0]) {
case 0x66:
temp.code = 'f';
temp.result = String(cmd[1], DEC);
return temp;
break;
case 0x70:
temp.code = 'p';
for (int i = 1; i < index - 3; i++) {
temp.result += char(cmd);}
return temp;
break;
case 0x71:
temp.code = 'q';
temp.number = uint32_t(cmd[4]) << 24 | uint32_t(cmd[3]) << 16 | uint32_t(cmd[2]) << 8 | uint32_t(cmd[1]);
return temp;
break;
default:
return temp;
break;
}
return temp;
}
int nextionAskPageNamper(byte port)
{
int result;
_nextionLissenStruct temp;
temp = nextionSendCommand("sendme",port);
if((temp.code == 'f')&&(temp.result != "")){result = temp.result.toInt();} else {result = -1;}
return result;
}


KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

Подскажите по NEXTION панели

#24

Сообщение KulibinOrsk » 11.12.2019{, 17:13}

grin-mpx, вообще то тут речь про FLprog, так к сведению... Поэтому отправка текста и какой-нибудь фигуры из флпрог есть 2 строчки (утрированно).
Насчет выбора ID я пробовал разные варианты. Единственное не понятно: где в Nextion Editor указываем ID шрифта при создании пустого проекта. Вот тут может быть весь косяк, но пока с этим мутно все.

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

Подскажите по NEXTION панели

#25

Сообщение grin-mpx » 11.12.2019{, 18:01}

KulibinOrsk писал(а):
11.12.2019{, 17:13}
Единственное не понятно: где в Nextion Editor указываем ID шрифта при создании пустого проекта. Вот тут может быть весь косяк, но пока с этим мутно все.
Его нельзя просто так указать. Для начала его нужно сгенерировать. https://habr.com/ru/company/flprog/blog/392561/
Видео, включая генерацию шрифтов, примерно с 11 минуты.
СпойлерПоказать

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

Подскажите по NEXTION панели

#26

Сообщение Nikan » 11.12.2019{, 22:48}

.
Последний раз редактировалось Nikan 24.03.2023{, 01:23}, всего редактировалось 1 раз.

SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06.02.2016{, 11:01}
Репутация: 37
Откуда: Ярославль
Имя: Сергей

Подскажите по NEXTION панели

#27

Сообщение SSSergeich » 11.12.2019{, 23:13}

Nikan писал(а):
11.12.2019{, 22:48}
SSSergeich писал(а):
11.12.2019{, 12:05}
Думаю, многим будет интересен такой обзор!
Не слышал про такие.
в этой теме viewtopic.php?f=45&t=5946
Спасибо! Заинтересовался!)

KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

Подскажите по NEXTION панели

#28

Сообщение KulibinOrsk » 12.12.2019{, 07:21}

grin-mpx, благодарю за подсказку. Сгенерил. Заработало. Видимо тот большой дисплей был со шрифтами с завода, это то и внесло смуту что во всех должно быть...
Осталось решить ситуацию с русским шрифтом, чтобы не вставлять текст картинками, хотя и это будет не плохо.

SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06.02.2016{, 11:01}
Репутация: 37
Откуда: Ярославль
Имя: Сергей

Подскажите по NEXTION панели

#29

Сообщение SSSergeich » 12.12.2019{, 09:33}

KulibinOrsk писал(а):
12.12.2019{, 07:21}
Осталось решить ситуацию с русским шрифтом,
Что не так с русскими шрифтами?

KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

Подскажите по NEXTION панели

#30

Сообщение KulibinOrsk » 12.12.2019{, 10:21}

SSSergeich, каракули вместо текста. Хотя и выбрал iso8995-5 (как было рекомендовано для отображения кирилицы)

SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06.02.2016{, 11:01}
Репутация: 37
Откуда: Ярославль
Имя: Сергей

Подскажите по NEXTION панели

#31

Сообщение SSSergeich » 12.12.2019{, 11:49}

KulibinOrsk, А в дебаггере нормально?

Аватара пользователя
sser
Рядовой
Сообщения: 82
Зарегистрирован: 02.01.2018{, 12:19}
Репутация: 20
Откуда: Н.Новгород
Имя: Сергей
Контактная информация:

Подскажите по NEXTION панели

#32

Сообщение sser » 13.02.2020{, 08:45}

В Nextion editor отвалилась нижняя панель служащая для соединения с Некстион через СОМ порт.
операционка (Windows 7).
http://arduino.ru/sites/default/files/u25112/n1.jpg
Сейчас вот так :
http://arduino.ru/sites/default/files/u25112/n2.jpg
Кто знает как решить эту проблему?
Reset Layout- не помогло, удаление программы -не помогло,откат версии-не помог..... :smile37:
Пробовал на другом компе -там всё нормально...

Brand2
Лейтенант
Сообщения: 413
Зарегистрирован: 26.02.2018{, 21:27}
Репутация: 41
Откуда: Haifa
Имя: Alex

Подскажите по NEXTION панели

#33

Сообщение Brand2 » 13.02.2020{, 09:23}

sser, у вас на картинке n2.jpg в строке SEND COMMAND TO выбран CURRENT SIMULATOR,поэтому Вв и не видите строку для соединения с COM PORT,на n1.jg же установленно NEXTION DEVICE,поэтому и появляется строка для подключения к COM порту.

Аватара пользователя
sser
Рядовой
Сообщения: 82
Зарегистрирован: 02.01.2018{, 12:19}
Репутация: 20
Откуда: Н.Новгород
Имя: Сергей
Контактная информация:

Подскажите по NEXTION панели

#34

Сообщение sser » 13.02.2020{, 11:04}

Верхняя строка для связи с физической панелью.
А нижняя для подключения эмулятора панели к ардуине.
Это ничего не меняет.
Смотрите :
Вложения
n3.bmp
n3.bmp (4.23 МБ) 468 просмотров

Аватара пользователя
moiseenko75
Рядовой
Сообщения: 45
Зарегистрирован: 14.11.2017{, 03:46}
Репутация: 7
Откуда: Макеевка

Подскажите по NEXTION панели

#35

Сообщение moiseenko75 » 13.02.2020{, 21:07}

KulibinOrsk, Нужные надписи можно прописать в дисплее и по нужным условиям будет выводится та или иная надпись даже нужного цвета или бегущая строка не нагружая ардуину. Вот тут можно поковыряться повыписывать https://nextion.tech/editor_guide/ то что может пригодится. Чем больше впитываешь информации тем больше начинает играет фантазия реализации необходимого.

Ответить

Вернуться в «Помогите, а то я "нимагу"»