WebInterface dostepny podczas normalnej pracy

neo_marki
Posts: 9
Joined: Wed Nov 01, 2023 9:13 pm

Post

Cześć,
Jak zrobić żeby WebInterface stworzony w IDE był dostępny podczas normalnej pracy a nie tylko w trybie konfiguracyjnym? Chodzi mi o identyczną funkcjonalność jak w GUI.
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Code: Select all

    Supla::WebServer::Instance()->start();
Tylko najbezpieczniej to wywołać dopiero, gdy są skonfigurowane interfejsy sieciowe.
Dodatkowo na ESP8266 może być mało RAM-u. WebServer w SuplaDevice nie był optymalizowany pod kątem wymaganej pamięci, przez co przy szyfrowanym połączeniu z serwerem, oraz przy uruchomionym WebServer, na ESP8266 urządzenie może nie pracować prawidłowo.
Nie mam w planach optymalizacji, ani testowania tego pod tym kątem, także ogólnie taką konfigurację należy traktować jako niewspieraną.

Na ESP32 będzie to działać prawidłowo, bo tam pamięci jest na pewno wystarczająco.
Najlepsze suple dla Twojego domu :mrgreen:
neo_marki
Posts: 9
Joined: Wed Nov 01, 2023 9:13 pm

Post

Dziękuję za pomoc wszystko pięknie działa!
User avatar
veeroos
Posts: 1081
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów
Has thanked: 1 time
Been thanked: 9 times

Post

Cześć. A jak mam taki komunikat

Code: Select all

Starting local web server

assert failed: tcpip_send_msg_wait_sem /IDF/components/lwip/lwip/src/api/tcpip.c:449 (Invalid mbox)
No i oczywiście bootloop, to co namieszałem? dodałem tylko

Code: Select all

Supla::WebServer::Instance()->start();
przed

Code: Select all

SuplaDevice.begin();
ESP32, przykład z biblioteki: WebInterface
Zamel Mew-01, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more

https://github.com/v33r005
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

veeroos wrote: Tue Jul 23, 2024 7:41 am Cześć. A jak mam taki komunikat

Code: Select all

Starting local web server

assert failed: tcpip_send_msg_wait_sem /IDF/components/lwip/lwip/src/api/tcpip.c:449 (Invalid mbox)
Startować web serwer można tylko, gdy jest już jakiś interfejs sieciowy gotowy. Przed begin (a nawet po nim) nie jest ;). Trzeba w loopie dać if'a czekającego na sieć i wtedy wystartować.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
veeroos
Posts: 1081
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów
Has thanked: 1 time
Been thanked: 9 times

Post

klew wrote: Tue Jul 23, 2024 7:58 am
Startować web serwer można tylko, gdy jest już jakiś interfejs sieciowy gotowy. Przed begin (a nawet po nim) nie jest ;). Trzeba w loopie dać if'a czekającego na sieć i wtedy wystartować.
a w sumie nie doczytałem ze zrozumieniem, już testuję ;-)
Edit. Pięknie działa, dzięki wielkie ;-)
Zamel Mew-01, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more

https://github.com/v33r005
radzik_r
Posts: 468
Joined: Sun Aug 11, 2019 5:32 pm
Has thanked: 1 time
Been thanked: 2 times

Post

Code: Select all

void loop() {
  SuplaDevice.iterate();


  static bool LOCAL_WEB_SERVER = false;
  if (!LOCAL_WEB_SERVER) {
    if (Supla::Network::IsReady()) {
      LOCAL_WEB_SERVER = true;
      SuplaDevice.handleAction(0, Supla::START_LOCAL_WEB_SERVER);
    }
  }
 };
taki warunek wystartuje webserver po nawiązaniu połączenia z siecią
User avatar
malarz
Posts: 506
Joined: Wed Jan 27, 2021 4:04 pm
Been thanked: 2 times

Post

@klew czy można jakoś wymusić logowanie do interfejsu podczas stałej pracy, podobnie jak to ma GG?
Próbuję przerobić pomysły na działające projekty w ArduinoIDE.

Return to “Ogólna dyskusja”