Здравствуйте! Столкнулся с такой же ситуацией, удалось вам решить проблему?Коллеги, всех приветствую, не знаю почему, но никак не могу запустить AJAX график в режиме точки доступа.
Здравствуйте! Столкнулся с такой же ситуацией, удалось вам решить проблему?Коллеги, всех приветствую, не знаю почему, но никак не могу запустить AJAX график в режиме точки доступа.
GP.RELOAD(имя); // скрытый блок перезагрузки страницы. Добавь его "имя" в UPDATE и ответь 1 на update, чтобы обновить страницу
GP.RELOAD_CLICK(список); // клик по указанным в списке компонентам перезагружает страницу [пример: "id1,id2,id5"]
#define AP_SSID "???"
#define AP_PASS "???"
#include <GyverPortal.h>
GyverPortal ui;
void build() {
GP.BUILD_BEGIN(600);
GP.THEME(GP_LIGHT);
GP.GRID_RESPONSIVE(700);
M_GRID(
M_BLOCK_TAB(
"WiFi Setup",
M_BOX(GP.LABEL("SSID: "); GP.TEXT("ssid", "SSID", ""););
M_BOX(GP.LABEL("Password: "); GP.TEXT("password", "Password", ""););
M_BOX(GP.BUTTON_MINI("btn", "Submit"));
);
);
GP.FORM_END();
GP.BUILD_END();
}
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(AP_SSID, AP_PASS);
ui.attachBuild(build);
ui.attach(action);
ui.start();
}
void action() {
if (ui.click("btn")) {
Serial.println(ui.getString("ssid"));
}
}
void loop() {
ui.tick();
}
#define AP_SSID ""
#define AP_PASS ""
#include <GyverPortal.h>
GyverPortal ui;
// конструктор страницы
void build() {
GP.BUILD_BEGIN();
GP.THEME(GP_DARK);
// ui.uri() возвращает текущий адрес страницы
// используем его в конструкции с if для постройки страницы
// переход на страницы может осуществляться в адресной строке браузера
// или по кнопке-ссылке BUTTON_LINK
// страница с формой
// ВАЖНО: url страницы должен совпадать с именем формы!
// чтобы форма отображалась в браузере после Submit
if (ui.uri("/save")) {
GP.FORM_BEGIN("/save");
GP.TEXT("txt", "text", ""); GP.BREAK();
GP.SUBMIT("Submit");
GP.FORM_END();
GP.BUTTON_LINK("/", "Back");
// страница с кнопкой, на которую можно кликнуть
} else if (ui.uri("/clicks")) {
GP.BUTTON("btn", "Button");
GP.BUTTON_LINK("/", "Back");
// страница с лампочкой, которая сама переключается
} else if (ui.uri("/updates")) {
GP.UPDATE("led");
GP.LABEL("LED: ");
GP.LED_RED("led", 0); GP.BREAK();
GP.BUTTON_LINK("/", "Back");
// главная страница, корень, "/"
} else {
GP.BUTTON_LINK("/save", "Form");
GP.BUTTON_LINK("/clicks", "Clicks");
GP.BUTTON_LINK("/updates", "Updates");
}
GP.BUILD_END();
}
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(AP_SSID, AP_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(WiFi.localIP());
// подключаем конструктор и запускаем
ui.attachBuild(build);
ui.attach(action);
ui.start();
}
bool led;
void action() {
// имитация активности
if (ui.form("/save")) Serial.println(ui.getString("txt"));
if (ui.click("btn")) Serial.println("Button");
if (ui.update("led")) ui.answer(led = !led);
}
void loop() {
ui.tick();
}
#include <LittleFS.h>
#include <GyverPortal.h>
#include <EEPROM.h>
GyverPortal ui(&LittleFS);
struct settings {
char ssid[30];
char password[30];
} user_wifi = {};
void build() {
GP.BUILD_BEGIN(600);
GP.THEME(GP_LIGHT);
GP.GRID_RESPONSIVE(700);
GP.FORM_BEGIN("/main");
M_GRID(
M_BLOCK_TAB(
"Статус",
M_BOX(GP.LABEL("WiFi connected"););
M_BOX(GP.LABEL("SSID: "); GP.LABEL(user_wifi.ssid););
);
);
GP.FORM_END();
GP.BUILD_END();
}
void action() {
if (ui.form("/setup")) {
eepromput();
}
}
void eepromput(){
ui.copyStr("ssid", user_wifi.ssid);
ui.copyStr("password", user_wifi.password);
EEPROM.begin(sizeof(struct settings));
EEPROM.put(0, user_wifi);
EEPROM.commit();
Serial.println("Reset...");
delay(1000);
WiFi.softAPdisconnect();
ESP.restart();
}
void setup() {
Serial.begin(115200);
EEPROM.begin(sizeof(struct settings));
EEPROM.get(0, user_wifi);
WiFi.mode(WIFI_STA);
WiFi.begin(user_wifi.ssid, user_wifi.password);
byte tries = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
if (tries++ > 10) {
Serial.println("");
Serial.println("Can't connect.");
setupPortal();
break;
}
}
Serial.println("");
Serial.println("WiFi connected.");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
ui.attachBuild(build);
ui.attach(action);
ui.start();
ui.enableOTA("admin", "pass");
if (!LittleFS.begin()) Serial.println("FS Error");
ui.downloadAuto(true);
}
void loop() {
ui.tick();
}
void setupPortal() {
Serial.println("Portal start");
// запускаем точку доступа
WiFi.mode(WIFI_AP);
WiFi.softAP("WiFi Setup");
ui.attachBuild(buildSetup);
ui.attach(action);
ui.start();
// работа портала
while (ui.tick());
}
void buildSetup() {
GP.BUILD_BEGIN(600);
GP.THEME(GP_LIGHT);
GP.GRID_RESPONSIVE(700);
GP.FORM_BEGIN("/setup");
M_GRID(
M_BLOCK_TAB(
"WiFi Setup",
M_BOX(GP.LABEL("SSID: "); GP.TEXT("ssid", "SSID", ""););
M_BOX(GP.LABEL("Password: "); GP.TEXT("password", "Password", ""););
M_BOX(GP.SUBMIT("Submit"));
);
);
GP.FORM_END();
GP.BUILD_END();
}