Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ESP8266] Błąd zapisu ustawień #151

Open
monteros007 opened this issue Dec 26, 2021 · 46 comments
Open

[ESP8266] Błąd zapisu ustawień #151

monteros007 opened this issue Dec 26, 2021 · 46 comments

Comments

@monteros007
Copy link

monteros007 commented Dec 26, 2021

Po ostatnim update praktycznie nic nie działa prawidłowo. Prosty zapis ustawień jak zmiana wysokości, kończy się przerwaniem pracy i błędem wczytywania strony. To co idzie w URL:
http://IP/config_device_save?DEVICENAME_AUTO=yes&LANGUAGE=polish&LATITUDE=50.228&LONGITUDE=20.887&MYALTITUDE=107&THP_MODEL=BME280&DUST_MODEL=PMS7003&CONFIG_FIRST_THP_SDA=D4&CONFIG_FIRST_THP_SCL=D3&CONFIG_DUST_TX=D1&CONFIG_DUST_RX=D2&FREQUENTMEASUREMENT=no&DUST_TIME=30&NUMBEROFMEASUREMENTS=10&DEEPSLEEP_ON=no&DISPLAY_PM1=yes&CONFIG_AUTH=no&CONFIG_USERNAME=admin&CONFIG_PASSWORD=password&DEBUG=no&MODEL=white&AUTOUPDATE_ON=no&submit1=Zapisz

Kiedy już uda się coś zapisać, to nie idzie ustawić influx db, przycisk zapisz zlewa się z wpisaniem hasło do bazy.

ESP8266.bin

EDIT WAŻNE. Po tym błędzie ESP wysypuje się i jest widoczne od zera jako swoje wifi, trzeba konfigurować sieć od nowa.

Czy moja płytka już zdechła? wgrywałem do niej soft może dopiero 2-4 razy. D1 mini

EDIT2. Nowa płytka D1 wemos, wgrane 2..8.1 jest to samo, po zmianie tylko języka, urządzenie resetuje się do ustawień fabrycznych po zapisie.

@mrozu-poland
Copy link

Nie ma możliwości zapisu konfiguracji dla serwera MQTT, nie zapamiętuje hosta, portu, i parametrów kolejek.
Nie ma możliwości zapisu konfiguracji dla ThingSpeak-a (pola ChanellId - cały czas jest 57365, i ReadAPIKey - nie zapamiętuje). WriteApiKey zapisuje się i dane są wysyłane poprawnie do serwisu.

@bryan-pl
Copy link

bryan-pl commented Jan 1, 2022

Dokładnie to samo mam na ESP32 - po wrzuceniu flasha przez esphome-flasher konsula zrzuca takie coś:
[00:16:49]Mounting FS...
[00:16:49]E (65) SPIFFS: mount failed, -10025
[00:16:49]Failed to parse config file
[00:16:49]Failed to load config
[00:16:49]Saving the current config...

Smogly działa itp, ale tak jak u Mrozu-Poland nie zapisuje ustawień MQTT i przez to MQTT nie działa.

Dodatkowo nie daje się wrzucić flasha przez nodemcu py flasher 5.0 bo wyrzuca podobne komunikaty jak w wątku dot. flashowania esp32

@bfaliszek
Copy link
Member

Czyli jak rozumiem problem jest tylko ustawieniami MQTT?

@monteros007
Copy link
Author

Z zapisem danych do influxDB tak samo. To w ogóle nie działa po ostatnim update.

@bryan-pl
Copy link

bryan-pl commented Jan 4, 2022

Z dodatkowych rzeczy - niekoniecznie związanych z zapisem konfiguracji - jak zaznaczy się wyświetlanie danych z airmonitor czy community.sensor, to okienka owszem są, ale w przekazanych żądaniach HTML nie ma identyfikatora stacji / lokalizacji i wykresy są puste.

@kpoow
Copy link

kpoow commented Jan 4, 2022

U mnie jest podobnie z wysypującym się urządzeniem przy zapisie ustawień (mam wgrany najnowszy soft dla ESP8266) . Dodatkowo jak próbuję połączyć płytkę z siecią Wifi to nie ładuje się UI do wyboru sieci. Da się to obejść uderzając bezpośrednio w link http://smogomierz-ip/wifisave?s=<nazwa_sieci>&p=, wtedy poprawnie połączy się z siecią.

@bfaliszek
Copy link
Member

Z dodatkowych rzeczy - niekoniecznie związanych z zapisem konfiguracji - jak zaznaczy się wyświetlanie danych z airmonitor czy community.sensor, to okienka owszem są, ale w przekazanych żądaniach HTML nie ma identyfikatora stacji / lokalizacji i wykresy są puste.

Nie wiem jak z airmonitor, ale wykresy z community.sensor pojawiają się po jakimś czasie. Na początku są puste. Dopiero, gdy będzie trochę danych w ich bazie, to są generowane. Nie wiem dokładnie po jakim czasie ale na pewno nie szybciej niż 30 minut. Dopiero, gdy będzie tyle danych i wykona się restart urządzenia, to będzie dostępne ID dla community.sensor

@bryan-pl
Copy link

bryan-pl commented Jan 4, 2022

Na stronie community sensor te statystyki są od tygodnia i oba wykresy pojawiają się OK. Problem jest po stronie smogomierza, bo wyświetla puste wykresy z uwagi na to, że w linku do nich nie ma id stacji (node=0) zamiast node=id_stacji_w_community_sensor:

<iframe src='https://maps.sensor.community/grafana/d-solo/000000004/single-sensor-view?orgId=1&panelId=2&var-node=0' ></iframe>

Natomiast na airmonitor wykresy wyświetlają się puste błędem 404. W linku do nich są przekazane koordynaty stacji, na stronie airmonitor dane ze smogomierza są widoczne.

@monteros007
Copy link
Author

Ta wersja nie nadaje się na produkcję moim zdaniem. Jak dla mnie to w 2.7.9 poprawić CSS na poprawny URL i wydać wersję 2.7.9.1. Próbowałem sam skompilować 2.7.9 z tą poprawką ale za cienki jestem na c++ ;/

@bfaliszek bfaliszek changed the title Bład zapisu ustawień [ESP8266] Błąd zapisu ustawień Jan 4, 2022
@bfaliszek
Copy link
Member

@bryan-pl
Mówisz o wersji ESP32 czy ESP8266?
Na ESP8266 nie działa airmonitor.

Jeśli chodzi o sensor.community, to żeby wyświetlić wykresy musisz mieć podane odpowiednie(takie same jak na ich stronie) współrzędne GPS. Urządzenie przy starcie sprawdza najbliższe stacje sensor.community dla tych współrzędnych i ściąga ich ID. To ID jest wymagane do wyświetlania wykresów. Nie wiem jak inaczej wydobyć to ID, bo jest ono inne niż to w panelu na stronie sensor.community. Ogólnie to przy wykresach sensor.community dwie rzeczy mogą pójść źle:

  1. rozbierze koordynaty w ustawieniach i panelu sensor.community
  2. błąd przy pobieraniu ID przy starcie Smogomierza

@bfaliszek
Copy link
Member

MQTT
Powrót do pełnego wsparcie MQTT w 2.8.x chcę zrobić po tym, gdy wersja dla ESP32 będzie dobrze działać z BME280/PMSx003. Właśnie skończyłem to robić i powinno być teraz ok, ale chcę to przez kilka dni potestować.
W 2.7.9 MQTT chyba działało poprawnie, ale nie korzystałem z niego, więc ciężko mi potwierdzić.

@bryan-pl
Copy link

bryan-pl commented Jan 4, 2022

@bryan-pl Mówisz o wersji ESP32 czy ESP8266? Na ESP8266 nie działa airmonitor.

Mówię o ESP32 gdzie nie trzyma części ustawień - szczególnie tych odnośnie przy MQTT

na ESP 8266 problemy z tą wersją są inne - każda próba zapisu ustawień powoduje reset ustawień wifi i smogomierz ustawia się na domyślnym wifi.

Jeśli chodzi o sensor.community, to żeby wyświetlić wykresy musisz mieć podane odpowiednie(takie same jak na ich stronie) współrzędne GPS. Urządzenie przy starcie sprawdza najbliższe stacje sensor.community dla tych współrzędnych i ściąga ich ID. To ID jest wymagane do wyświetlania wykresów. Nie wiem jak inaczej wydobyć to ID, bo jest ono inne niż to w panelu na stronie sensor.community. Ogólnie to przy wykresach sensor.community dwie rzeczy mogą pójść źle:

  1. rozbierze koordynaty w ustawieniach i panelu sensor.community
  2. błąd przy pobieraniu ID przy starcie Smogomierza

ID czujnika do sensor community jest do wydobycia na stronie devices.sensor.community. Każde urządzenie dostaje 3 numerki.
1 numerek - nr sensora wyświetlany przed ID sensora (5 cyfrowy w moim przypadku ) jak się kliknie w dane to wyświetlane są ID czujnika PM i ID czujnika BME. i Sensor ID dla czujnika smogu jest w tym polu. Może dałoby się dodać do interfejsu smogomierza przy konfiguracji community.sensor wpisywać tą wartość 'z palca'. Jest to co prawda trochę upierdliwe przy konfiguracji, ale raz wpisane zostaje z urządzeniem na zawsze'.

Jak się uporam z arduino lub platformio żeby mi się w końcu udało smogomierz skompilować to spróbuję przy tym podłubać. Na razie jednak przy jakiejkolwiek próbie kompilacji wywala mi się na kolejnych bibliotekach - mam strasznie obrośnięte obie platformy przez dłubanie w innych projektach :(

@bfaliszek
Copy link
Member

@bryan-pl w sumie mogę dać opcję wpisywania tego ID ręcznie. Po kliknięciu w Dane odpowiedniego urządzenia na devices.sensor.community jest Sensor ID dla miernika pyłu i on jest potrzebny do wykresów.

@bryan-pl
Copy link

bryan-pl commented Jan 4, 2022

@bryan-pl w sumie mogę dać opcję wpisywania tego ID ręcznie. Po kliknięciu w Dane odpowiedniego urządzenia na devices.sensor.community jest Sensor ID dla miernika pyłu i on jest potrzebny do wykresów.

Dokładnie tak byłoby prościej - próbowałem wywołać to api które powinno pobrać adres miernika, ale okazuje się że nie działa tam teoretycznie powinny pojawić się wszystkie mierniki z prostokąta wskazanego koordynatami, ale jakoś tak to dziwnie działa że oba punkty są tożsame i zwraca null. Udało mi się pobrać dopiero jak zmniejszyłem precyzję zapytania do 3 miejsc po przecinku. Tak że lepiej to będzie ustawić na sztywno.

@bfaliszek
Copy link
Member

@bryan-pl Już jest w branch dev. Pliki .bin dla ESP32 i ESP8266. Dodałem tam w ustawieniach serwisów opcję wpisania ręcznie Sensor ID. Wyłączyłem też to automatyczne wyszukiwanie. Trzeba zawsze je podać ręcznie w ustawieniach.
https://github.com/hackerspace-silesia/Smogomierz/tree/dev/firmware
prerelease_ESPxxxx_Smogomierz_2.8.2_PMS_build_5.01.2022.bin

@bryan-pl
Copy link

bryan-pl commented Jan 5, 2022

@bfaliszek - Wrzuciłem, ustawiłem ID i wykresy się wyświetlają poprawnie. Ta opcja jest dużo prostsza niż wydłubywanie ID z api luftdaten przy starcie. DzięKi!

@bryan-pl
Copy link

bryan-pl commented Jan 5, 2022

Zostaje jeszcze MQTT - sprawdziłem zarówno w ESP32 jak i w ESP8266 nie zapisuje ustawień serwera i portu.

@bfaliszek
Copy link
Member

OK, czyli zostało poprawienie MQTT, sprawdzenie czy działa influxDB oraz aktualizacja biblioteki HomeKi(tylko na ESP32)

@bryan-pl
Copy link

bryan-pl commented Jan 5, 2022

Chwilowo udało się rozwiązać problem z MQTT. Po wyczyszczeniu kompilatora, zaimportowaniu bibliotek na nowo, w tym odpowiedniej wersji wolfssl poszła lokalna kompilacja z pełnym konfigiem MQTT. Po takim zabiegu ruszył i wysyła komunikaty do serwera, ale jest jedno 'ale' pod żadnym pozorem nie wolno niczego zmieniać w konfiguracji MQTT, bo wtedy gubi ustawienia serwera (adres i port) oraz część publikowanych topiców (PM10). Jak się tego nie ruszy to działa.

@monteros007
Copy link
Author

Wrzuciłem ten .bin prerelease do siebie na wemos d1:

  1. wgranie ok
  2. odpala się sieć wifi, konfiguracja okej
  3. wejście w gui, zmiana ustawień na język polish oraz zmiana wysokości n.m.p
  4. save
  5. wysypanie się aplikacji
  6. znów widoczna orig sieć smogomierza.

@monteros007
Copy link
Author

Nic się nie zmieniło, rozumiem, że nie będzie temat ogarnięty?

@bfaliszek
Copy link
Member

@monteros007 jaka konfiguracja(jakie ESP, czujnik pyłu i temp) i jaka wersja oprogramowania? Przy zmianie których ustawień pojawia się problem?

@monteros007
Copy link
Author

Wszystko jest w moim pierwszym poście, który zapoczątkowałem tutaj. Nic od tamtej pory w moim uczuciu się nie poprawiło. Przecież uczestniczyłem w konwersacji, trzeba tylko sobie poczytać. Używam Wemos D1 nie jest do niczego podpięty, po prostu po pierwszym zapięciu do wifi w ustawieniach zmieniach tylko na BME i PMS biorę ZAPISZ i wszystko się wysypuje. Jak wół stoi wyżej.

@bfaliszek
Copy link
Member

@monteros007 na prerelease_ESP8266_Smogomierz_2.8.2 też? https://github.com/hackerspace-silesia/Smogomierz/blob/dev/firmware/ESP8266/prerelease_ESP8266_Smogomierz_2.8.2_PMS_build_1.02.2022.bin
Zamówię sobie Wemos D1, bo testowałem tylko na NodeMCU, gdzie działa poprawnie. Nie działa tylko konfiguracja MQTT, ale nie miałem czasu, żeby nad nią przysiąść i ją naprawić.

@monteros007
Copy link
Author

@bfaliszek okej tego nie testowałem, ostatnio prerelease jakiś. Wrzucam i dam zaraz znać. Odnośnie wemosa, testowałem na 3 różnych płytkach.

@monteros007
Copy link
Author

Okej, soft Wersja oprogramowania: 2.8.2 build 22:32:38 Feb 1 2022 na Wemos D1 mini, bez zmian. 1 konfiguracja wifi ok, wejście w ustawienia, przypisanie pinów do BME ZAPISZ kończy się wysypaniem.

@bfaliszek
Copy link
Member

Podłącze tego Wemosa do komputera i w ArtuinoIDE włącz monitor portu szeregowego. Co tam wyświetla przy wysypaniu się?

@bfaliszek
Copy link
Member

URL wygląda ok, ale co pokazuje monitor portu szeregowego z Arduino IDE? Tam powinno być info dlaczego urzązenie się zrestartowało i info co robiło chwilę wcześniej

@monteros007
Copy link
Author

Proszę, logi w załączniku. Nic nie zdążyłem zrobić. 1 podłączenie do wifi, ou yeah i za chwilę restart do ustawień fabrycznych
logi.txt
.

@bfaliszek
Copy link
Member

OK, ale to nie jest związane z zapisem, tylko masz restart zaraz po ustawieniu połączenia wifi. Nigdzie nie masz zmiany ustawień

@monteros007
Copy link
Author

Restart do ustawień fabrycznych? Popatrz dobrze w te logi... Po wgraniu softu, skonfigurowaniu wifi, odpaleniu http nie zdążyłem nawet nic zmienić bo soft się wysypał. Co miałem dalej zmieniać?

@bfaliszek
Copy link
Member

Masz podłączone DHT22?

@mati75
Copy link

mati75 commented May 15, 2022

Mam dokładnie to samo, bez podłączonych żadnych czujników.

@austinroolon
Copy link

U mnie po aktualizacji (8266, BMP280, SPS30 nie da się ustawić poprawnie portów SPS oraz niektórych danych ThingSpeak. Wersja 2.7.9 SPS30 działa najlepiej, ale nie generuje poprawnie grafik na www. Do Thinkspeak raporty wysyła poprawnie. Ustawiłem wstępnie dane ThinkSpeak na wersji 2.7.9 i podniosłem do najnowszej SPS30. Gubi wpisy. Ręcznie wprowadzone ponownie nie zapamiętuje, albo zastępuje innym (nieznanym mi, tym samym za każdym razem). Póki co niestety jedynie działa u mnie 2.7.9 SPS30 - nie generuje poprawnie www i nie usypia SPS30 między pomiarami przez co szybko drenuje akumulator. Nawet na Sleep=1 (to już omawialiśmy). Gdzie zapisywane są ustawienia ?

@dudus2000
Copy link

dudus2000 commented Jun 13, 2022

Czesc.
Esp8266 - bme280 - pms7003
Wszstko sie sypie po probie zapisu ustawien MQTT

edit: ostatnia sprawna wersja to 2.7.8 reszta niestety sie juz wysypuje wiec cos nie tak stalo sie przy przejsciu z 2.7.8 na 2.7.9

@hanskiepl
Copy link

Cześć,
coś sie posypało u mnie też... nie wiem dlaczego. testowałem inne ESP ale jest tak samo.
Nawet po restarcie urządzenie (np zanik zasilania) gubi ustawienia wifi i trzeba sie logować do jego sieci i przestawiać.
Da się to jakoś obejśc na stałe ? kompilowac samem i na sztywno podać dane wifi ?
Czy może ja coś źle robię ?

@hanskiepl
Copy link

Przeszedłem całą procedure programowania nowej płytki ESP8266 i to samo. nie zapamętje SSIDa do Wifi i po restarcie tworzy swoją sieć czekając na konfigurację.
Co jest grane ? jak temu zapobiec ?

@hanskiepl
Copy link

Ok juz znalazłem rozwiązanie. Trzeba pozmienić kody żródłowe ESPASyncWifiManagera
alanswx/ESPAsyncWiFiManager#102

OK, ale to nie jest związane z zapisem, tylko masz restart zaraz po ustawieniu połączenia wifi. Nigdzie nie masz zmiany ustawień

Czy mógłbyś skompilowac ostatnią wersję ze skorygowanym WifiManagerem ?

@LeanderLBN
Copy link

Jeśli dobrze rozumiem, to jest to rozwiązanie tego #154 problemu?
Zatem, czy można się w jakimś przewidywalnym czasie spodziewać poprawki i nowej wersji dla tych, którzy tylko wgrywają, a nie kompilują? :)

@lukaszog
Copy link

@up podbijam pytanie, mam ten sam problem. Plus po około 24h smogomierz odłącza się od sieci wtedy trzeba wyłączyć zasilanie podłączyć jeszcze raz i ręcznie wybrać sieć. Korzystam z softu z branchu dev, z mastera nic nie chciało działać :). Czy gdzieś są zapisywane logi?

@hanskiepl
Copy link

prerelease_ESP8266_Smogomierz_2.8.2_PMS_build_1.02.2022-WifiFix.bin.zip
Tu macie fixa resetującego się wifi.

@LeanderLBN
Copy link

prerelease_ESP8266_Smogomierz_2.8.2_PMS_build_1.02.2022-WifiFix.bin.zip Tu macie fixa resetującego się wifi.

Super! Dziękuję, działa.

@hanskiepl
Copy link

prerelease_ESP8266_Smogomierz_2.8.2_PMS_build_1.02.2022-WifiFix.bin.zip Tu macie fixa resetującego się wifi.

Super! Dziękuję, działa.

Proszę uprzejmie :-)
Niestety pozostałych błędów to nie naprawia takich jak mqtt czy tych dziwnych linii na stronie chyba ustawień.

@FilipTP
Copy link

FilipTP commented Nov 17, 2022

prerelease_ESP8266_Smogomierz_2.8.2_PMS_build_1.02.2022-WifiFix.bin.zip Tu macie fixa resetującego się wifi.

Super! Dziękuję, działa.

Proszę uprzejmie :-) Niestety pozostałych błędów to nie naprawia takich jak mqtt czy tych dziwnych linii na stronie chyba ustawień.

Ja też dziękuję :) na problemy z wifi pomogło, ale po zalogowaniu się mogę zapisać tylko ustawienia w jednym menu (np. zmiana języka na Polski, współrzędne, czujniki itd.), ale jak próbuję potem zapisać ustawienia na które serwisy ma wysyłać otrzymane dane to się wysypuje i nie mogę się już zalogować do czujnika. Jedyne wyjście to wgranie na nowo softu gdzie znowu mogę jedynie w jednym menu i jeden raz zapisać ustawienia.. chyba przydałoby się to jakoś systemowo ogarnąć..

@lukaszog
Copy link

@FilipTP wifi działa prawidłowo tak?
U mnie po aktualizacji niestety problem nadal występuje, po około 20h rozłącza.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests