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

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

Метки:
  1. Ne_L

    Ne_L Нуб

    Тогда другой вопрос)))) ....... как можно в цикле последовательно перебрать все значения элементов одного типа?
    хочу сделать что то вроде того:
    Код (C++):
    for (id=0;id<11;id+=2)
    {
    j[id].val=random
    }
     
  2. Ne_L

    Ne_L Нуб

    Отлично, ещё вопрос))
    Как можно засекать событие изменения величины поля, хочу чтобы прогресс бар показывал процентную величину, и отображал каждое изменение.
     
  3. Ne_L

    Ne_L Нуб

    если что я выяснил - данное обращение к массиву работает с элементом Button и Page (причем индекс в квадратных скобках должен указывать на ID элемента)
     
  4. d_tramp

    d_tramp Нуб

    Всех с Наступившим! У меня вопрос как привязать дисплей Nextion к Openhab? прочитал все 29 страниц - так ничего и не понял :)
    Есть Rasberry PI, есть дисплей прикрученный к D1 Mino Pro? стоит прошивка ESP Easy. все через mqtt брокер.
    На экране нажимаем на кнопки - данные видно в брокере - разберусь. А вот как передать данные не пойму пока.
    есть http запрос из браузера, ну например:

    http://192.168.0.150/control?cmd=NEXTION,t0.txt="11"
    на экране значение поменялось, теперь пробуем дальше. Передадим значение температуры, есть значение t_str на датчике am_str
    пишем правило:

    rule "Send street temperature"
    when
    Item am_str_t_str received update
    then
    http://192.168.0.150/control?cmd=NEXTION,t0.txt=am_str_t_str
    end
    соответственно не работает... как правильно передать запрос на основании правила?
    СПАСИБО!!!
     
  5. ИгорьК

    ИгорьК Гуру

    Если в автоматизации прямо указать значение вместо am_str_t_str - отражает? Просто указать какое-то число для начала.
     
  6. d_tramp

    d_tramp Нуб

    В том то и проблема, что в автоматизации ничего не проходит, ни текст, ни цифры... кроме запроса в браузере ничего не получается
     
  7. d_tramp

    d_tramp Нуб

    Никто такой связкой не пользуется?
     
  8. d_tramp

    d_tramp Нуб

  9. Feofan

    Feofan Нерд

    Последнее редактирование: 5 янв 2021
  10. d_tramp

    d_tramp Нуб

    привет! неа... так тоже не работает...
     
  11. d_tramp

    d_tramp Нуб

    Продолжим...
    sendHttpGetRequest("http://192.168.0.150/control?cmd=NEXTION,t0.txt=" + (amstr_humstreet.state))
    выводит в лог ESPEasy:
    HTTP: NEXTION,t0.txt=77.90
    но не выводит ничего на экран, пробовал это пихать и в цифры и в val. никак...
    понятно, что я это обошел правилами, то это костыль какой-то.
    такое чувство, что как на ардуино надо в конце залепить ввод. пробовал - может чего не так пишу?
    Должно же быть простое решение...
     
  12. Feofan

    Feofan Нерд

  13. Ильшат

    Ильшат Нуб

    Всем доброго времени суток!

    Возникли проблемы с элементом Waveform, при скорости обмена 115200. На скорости 9600 отображение графиков более менее корректное, временами тоже глючит, но повторная перерисовка графика обычно исправляет ситуацию.

    Входные данные:
    • дисплей из серии Basic NX4024T032_011;
    • микроконтроллер Wemos D1 mini.

    При переходе на страницу отображения графиков, дисплей отсылает на микроконтроллер специальную комбинацию символов, которая сигнализирует микроконтроллеру, что необходимо передать данные.
    [​IMG]
    Код из дисплея при переходе на страницу с графиками:
    Код (C++):
    print "#G1"
    printh ff
    Сами данные - это массив точек состоящий из 270 элементов.
    Функция передачи данных на дисплей:
    Код (C++):
    void drawGr (char in) {
    // вычисляем сколько 5 минутных отчетов прошло с начала суток
      int nex_cur_t;
      nex_cur_t = (timeClient.getHours()* 12) + (timeClient.getHours()/5) + 1;
    // прогоняем массив от 0:00 до текущего времени и рисуем график
      for (int i = 0 ; i < nex_cur_t ; i++) {
        if (in == '1') Serial.print("add 6,0,"+String(gr_temp_in_aqua[i]));
        if (in == '2') Serial.print("add 6,0,"+String(gr_temp_air[i]));
        if (in == '3') Serial.print("add 6,0,"+String(gr_humi_air[i]));
        if (in == '4') Serial.print("add 6,0,"+String(gr_press_air[i]));
        if (in == '5') Serial.print("add 6,0,"+String(gr_illum[i]));  
        Serial.write(0xff);
        Serial.write(0xff);
        Serial.write(0xff);
        yield();
      }
    Мое предположение, что при скорости 115200 переполняется входной буфер дисплея и часть данных теряется, т.к. микроконтроллер практически без задержек передает большой массив данных на дисплей. На скорости 9600 отображение графиков более корректное.

    Кто нибудь сталкивался с таким некорректным поведением? Не уж то дисплей действительно не успевает обработать входной пакет данных?
     
  14. Igor78

    Igor78 Нуб

    Добрый день ,подскажите как привести дисплей в чувство ,вроде прошивается через Nextion Editor но изображение не меняется.
    Connected! Com:COM13,baudrate:115200,Model:NX3224T028_011R(RTP),firmware Ver:S136,Device serial number DE685854078A3C33,CPUID:61488,Flash Size:4194304(4MB)address:0
    После прошивки HMI файла изменилась версия firmware Ver:S151
     

    Вложения:

  15. Andrew1992

    Andrew1992 Нуб

    Здравствуйте! Помогите пожалуйста кто сможет!
    Беда в следующем:
    Управляю Ардуино дисплеем nextion. Программировал Ардуино в fl prog (если это важно). К Ардуино подключен блок реле, который управляет двигателем и актуатором.

    Проблема в том, что периодически хаотично срабатывают реле. Даже если ничего не трогаешь.
    Также периодически бывает при нажатии кнопки на дисплее, отвечающее за одно реле- срабатывает и другое вместе с ним одновременно. Так как никакой закономерности в этом не было- подумал что фонит. Кидал резисторы - результатов не дало! Что делать- ума не приложу
     
  16. Рокки1945

    Рокки1945 Гуру

    Приветствую схему необходимо... - фото если можно
     
  17. Palnsk73

    Palnsk73 Нуб

    Здравствуйте всем. Насущный вопрос - а как вывести на Nextion значок градуса цельсия??? Что бы я ни делал, какие бы раскладки
    не выбирал при создании проекта, какие бы нагугленые коды не вставлял - на дисплее вместо этого знак вопроса. А хочется. Точнее надо.
    Я даже кириллические тексты научился отправлять на него по ходу. А с маленьким кругляшком - затык. Если кто знает ответ - буду крайне признателен за него.
     
  18. Рокки1945

    Рокки1945 Гуру

  19. parovoZZ

    parovoZZ Гуру

    А в некшион точно выньдовс-1251?
     
  20. Рокки1945

    Рокки1945 Гуру

    а шрифты - забыль? там их можно подсовывать
     
    Последнее редактирование: 31 янв 2022