GyverPortal

Charlot

✩✩✩✩✩✩✩
11 Фев 2025
3
1
Всем привет. Столкнулся с проблемой того, что GyverPortal не хочет строить графики в режиме точки доступа Wifi.AP. Я полагаю что библиотеке нужно получать время из интернета, а в режиме точки доступа интернета нет. Подскажите, в правильном направлении ли я мыслю и как задать время не опираясь на NTP, а прямо в коде
 

SoftFelix

★✩✩✩✩✩✩
16 Фев 2020
39
10
@Charlot,

1. Не все графики работают off-line. Т.е. без и-нета.
2. Из папки библиотеки нужно скопировать папку data целиком в папку со скетчем! Там off-line скрипты для работы графиков.
3. В проекте должна быть инициализированная файловая система. LittleFS, к примеру. Вот тут не совсем уверен, нужно ли это.
4. Специальным плагином типа ESP32 Sketch Data Upload к Arduino IDE нужно загрузить в файловую систему контроллера папку data. Это как процесс заливки прошивки в мк. Плагин всегда ищет папку data для загрузки в папке со скетчем!
5. В параметрах графика в самом конце опцию local обязательно выставить в 1.

C++:
GP.PLOT_STOCK_DARK<2, 15>("plot_temp", temp_name_graph, graphHourTime, tempHourDay, 10, 400, 1);
NTP тут вообще не причём.

Далее компилить примеры библиотеки для графиков и пытаться получить результат.
 
  • Лойс +1
Реакции: Charlot

Charlot

✩✩✩✩✩✩✩
11 Фев 2025
3
1
Сделал как написано, почему-то всё равно график не отображается. Специально проверил чтобы у функции графика была переменная local и передал значение 1. Может в коде где-то ошибся?

C++:
#include <LittleFS.h>
#include <GyverPortal.h>

#define humidity_sensor_pin 0

GyverPortal ui(&LittleFS); // для проверки файлов


int humidity = 0;
int max_humidity = 250;



GPdate nowDate;

GPtime nowTime;

int valNum;



// поддержка wifi связи
void wifiSupport() {
  if (WiFi.status() != WL_CONNECTED) {
    WiFi.softAP("MyESP8266", "12345678");
    WiFi.softAPConfig(IPAddress(192,168,4,1), IPAddress(192,168,4,1), IPAddress(255,255,255,0));
    Serial.println(WiFi.localIP());
  }
}//wifiSupport()


// конструктор страницы
void build() {
 
  GP.BUILD_BEGIN();
  GP.THEME(GP_DARK);
  GP.PAGE_TITLE("StartUp");
  GP.ONLINE_CHECK();


  GP.BUILD_BEGIN();
  GP.THEME(GP_DARK);
  GP.AJAX_PLOT("plot1", 1, 200, 30000,400,1);

  GP.BUILD_END();


  GP.UPDATE("nowDate,nowTime");
  GP.TITLE("График влажности в %", "t1");
  GP.HR();

  GP.BUTTON("btn", "Калибровка");
  GP.BREAK();
  GP.BREAK();
  GP.BUILD_END();
}


void action() {
  // было обновление
 
 if (ui.update("plot1")) ui.answer(humidity); // установка значения


  //ui.update();
  // был клик по компоненту внутри веб странички
  if (ui.click()) {
    if (ui.click("btn")) {
      max_humidity = humidity;
      Serial.println("Button click");
      Serial.println(max_humidity);
    }
  }//ui.click()
}//action()


void setup() {
  Serial.begin(115200);
  wifiSupport();
  pinMode(humidity_sensor_pin, INPUT);
  // подключаем конструктор и запускаем
  ui.attachBuild(build);
  ui.attach(action);
  ui.start();

  if (!LittleFS.begin()) Serial.println("FS Error");
  ui.downloadAuto(true);
    wifiSupport();
}//setup()


void loop() {

  ui.tick();
  static uint32_t tmr1;
  if (millis() - tmr1 >= 5000) {
    tmr1 = millis();
    humidity = analogRead(humidity_sensor_pin);
    humidity = map(humidity,max_humidity,1023,100,0);
  }

}
 

SoftFelix

★✩✩✩✩✩✩
16 Фев 2020
39
10
@Charlot, где переменные отметок времени и даты для графика? Примеры из библиотеки работают? Папку data загрузил в фс после прошивки?
 
  • Лойс +1
Реакции: Charlot

Charlot

✩✩✩✩✩✩✩
11 Фев 2025
3
1
@SoftFelix,Спасибо! Изначально не тот файл распаковал в папку tools для файловой системы и из-за этого data не загружалась, но кнопка загрузки в "инструменты" была. Всё работает
 
  • Лойс +1
Реакции: SoftFelix

RomaT

★✩✩✩✩✩✩
5 Ноя 2019
105
38
А кто -нибудь под freertos случаем портал не переписывал? пока я страдать не начал...:LOL: