Дисплей Nextion: азы. Arduino, ESP8266.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 9 авг 2016.

Метки:
  1. mishgan

    mishgan Нуб

    Здравствуйте. Подскажите пожалуйста как передать кириллицу из ESP8266 в экран Nextion? Я получаю данные(кириллица) с сервера которые надо вывести на экран
     
  2. ИгорьК

    ИгорьК Давно здесь

    А хоть как-нибудь пробовали?
     
  3. mishgan

    mishgan Нуб

    Пробовал в Arduino IDE. Получаю данные с сервера и сразу их пуляю в экран.... При этом на экране появляются непонятные символы.
    Код (C++):
     http.begin("http://192.168.1.50:8080/log.php?id="+String(fID));
    int httpCode = http.GET();
    if(httpCode == HTTP_CODE_OK) {
    String payload = http.getString();
    payload.toCharArray(buffer ,payload.length()+1);
    sprintf (buffer2, "info.txt=\"%s\"" ,buffer);
    nex.sendCommand (buffer2);
    }
     
  4. ИгорьК

    ИгорьК Давно здесь

    Код (C++):
    nex.sendCommand (buffer2);
    Применяете библиотеку? Дык, ее и надо ковырять.

    Если Вы новости хотите читать на дисплее, то задача будет интересной и длинной.

    А если пишете что-то типа "Солнечно" или "Пасмурно" - наверно проще в дисплее завести такие шаблоны записи заранее и выводить их по приходу какого-нибудь установленного сигнала.
     
  5. mishgan

    mishgan Нуб

    В том то все и дело, что данные динамические. Просто я делаю систему учета рабочего времени по отпечаткам пальцев. В базе на сервере записаны имена сотрудников .
     
  6. ИгорьК

    ИгорьК Давно здесь

    Надо ковыряться, а мне не когда. Да и не в традиции у меня ввязываться в коммерческие проекты.
     
  7. mishgan

    mishgan Нуб

  8. ИгорьК

    ИгорьК Давно здесь

    О как... Амперка решила эти дисплеи торговать.
     
  9. mishgan

    mishgan Нуб

    Нашел способ передавать кириллицу в экран. Есть прога fontgen для создания шрифтов. http://support.iteadstudio.com/helpdesk/attachments/1035333755 Там можно создать кириллический шрифт. Там каждую символу можно присвоить аналог. Ну например Q=Й W=Ц E=У и т.д. и когда мы передадим в экран строку на латинице то на экране появится ее кириллический аналог
     
  10. BAR__MEN

    BAR__MEN Гуру

    Выложите картинки
    Ваши из проекта
     
  11. AndreyFly

    AndreyFly Нерд

    Подскажите, экран у меня совсем недавно, еще не сильно разобрался, но появилась мысль, которая не дает мне покоя. У расширенной версии есть 8 GPIO портов, возможно ли повешать на них 16 кнопок? Кто нибудь вникал в работу портов? Идея такая: Стандартная клавиатурная матрица 4х4. По встроенному таймеру стробируются 4 вывода GPIO, и при нажатых кнопках на одном из 4 входов (или на нескольких) будет имитация нажатия кнопок. Там же при обработке по таймеру переназначать кнопки? Или это невозможно?
     
  12. ИгорьК

    ИгорьК Давно здесь

    Вы систему команд его видели? И все еще желание остается?
    Что мешает эти кнопки на экране то сделать?
     
  13. AndreyFly

    AndreyFly Нерд

    Экран к токарному станку собираюсь прикрутить, масляными руками в экран не очень охота лезть, вот цифровое поле 0-9 и несколько функций и хотел вынести на физические кнопки, но если не возможно, то стилус на веревочке подвешу рядом с экраном.
    И да, система команд у экрана специфическая :)
     
    ИгорьК нравится это.
  14. ИгорьК

    ИгорьК Давно здесь

    По секрету: Arduino Pro mini даже у Амперки стоит дешево.
     
  15. AndreyFly

    AndreyFly Нерд

    Там мега уже трудится, хотел вообще все меню и кнопки на некстион перенести, А так с китая ардуино нано - целая упаковка для опытов лежит.
    И мегу в планах поменять на DUE, но пока не разобрался с STM, да и DUE еще не приехала для экспериментов. Сам проект сильно впритык в меге по прерываниям и вычислениям, а в DUE и математика 16 битная побыстрее.
     
  16. ИгорьК

    ИгорьК Давно здесь

    Ну и завесьте клаву на нее, а информацию передайте в Мегу по UART.
     
  17. Avo

    Avo Нуб

    Здравствуйте!
    Прошу помочь начинающему.

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

    Пытаюсь разобраться на простом скетче.

    Итак, есть дисплей Nextion и плата arduino Uno. Tx дисплея подключаю к Rx arduino, и Rx к Tx соответственно.
    Питание диспея от ардуины, а самой ардуина- от USB.

    На странице дисплея с именем "Length_p" (page 5) есть глобальная переменная "L".
    Значение этой переменной меняется через меню дисплея.

    Необходимо переменной "L_a" (в ардуино) присвоить значение переменной "L".

    Код в ардуино:

    Код (C++):
    #include <SoftwareSerial.h>
    #include <Nextion.h>

    int L_a;
    NexVariable L_d=NexVariable(0,3,"Length_p.L");

    void setup()
    {
    Serial.begin(9600);
    nexInit();
    }

    void loop()
    {
    L_d.getValue(L_a);
    Serial.println (L_a);
    delay(1000);
    }
    При этом, независимо от того, подключен дисплей к ардуине, или нет, у меня монитор порта выдаёт :

    яяяbkcmd=1яяяpage 0яяяget Length_p.L.valяяя0
    get Length_p.L.valяяя0
    get Length_p.L.valяяя0
    get Length_p.L.valяяя0
    .
    .
    и т.д.

    Просьба к знатокам подсказать, где ошибка в скетче.
     
    Последнее редактирование: 10 май 2017
  18. ИгорьК

    ИгорьК Давно здесь

    Snap_2017.05.10_17h27m14s_015.jpg
    Здесь пасутся только олухи, которые не работают с Nextion при помощи библиотек. Знатоки встречаются редко.
     
    AndreyFly нравится это.
  19. AndreyFly

    AndreyFly Нерд

    :) Ну или хотя бы читают ветку с начала.
    В этой ветке все разжевано и по полочкам разложено. В скетче уйдите от библиотек, Си везде одинаков с небольшими отличиями и нюансами, но адаптируется легко.
    Конкретно у Вас ошибка в обращении к библиотеке. Сам я библиотеками не пользовался и конкретно по синтаксису не подскажу.
     
  20. Avo

    Avo Нуб

    Спасибо, что ответили))
    Ветку читал с начала. Поскольку Си изучается вместе с Arduino, то не так всё просто.
    Мне пока проще работать с библиотеками.

    В общем, помучившись, с помощью YouTube и различных форумов, удалось понять как она работает.
    Во-первых, в файле "NexConfig.h" необходимо исправить ошибки:
    - 27-ую строку ("#define DEBUG_SERIAL_ENABLE") - закомментировать
    - 37-ой строке ("#define nexSerial Serial2") - убрать "2" (должно получиться "#define nexSerial Serial")

    Еще у меня была ошибка в строке:
    было
    Код (C++):
    L_d.getValue(L_a);
    должно быть:
    Код (C++):
    L_d.getValue(&L_a);
    Arduino по прежнему выводит какие-то непонятные значения, но, в принципе, работе с переменными это не мешает
     

    Вложения:

    • NexConfig.h
      Размер файла:
      1,3 КБ
      Просмотров:
      26
    Последнее редактирование: 23 май 2017