Open radziejewicz opened 1 year ago
mam w sumie ten sam problem na ESP32
Chip is ESP32-D0WD-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: d4:d4:da:e5:49:20
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Erasing flash (this may take a while)...
Chip erase completed successfully in 12.7s
Compressed 1477968 bytes to 861887...
Wrote 1477968 bytes (861887 compressed) at 0x00000000 in 76.4 seconds (effective 154.8 kbit/s)...
Hash of data verified.
Leaving...
Staying in bootloader.
Firmware successfully flashed. Unplug/replug or reset device
to switch back to normal boot mode.
@lim3ra hej! Sprawdź kod z brancha dev - https://github.com/hackerspace-silesia/Smogomierz/tree/dev Właśnie do skompilowałem i wgrałem na ESP32 Dev Module i łączy się z WiFi
hey @bfaliszek , dzieki za odpowiedz
Próbowałem sflashować 2.8.3 na moje ESP32 uzywając NodeMCU PyFlasher ale niestety nic to za bardzo nie daje.
Spróbowałem też skompilować sobie brancha dev na swoim Arduino IDE ale non-stop rzuca się o jakieś dependency biblioteki np ESPAsyncWebServer.h nie wiem do końca jak sobie poradzić z ich brakiem (instalacja ESPAsyncWebSrv przez library manager'a nie pomaga)
In file included from C:\Dev\Arduino\Smogomierz\Smogomierz.ino:146:
C:\Dev\Arduino\Smogomierz\src\WiFiManager\ESPAsyncWiFiManager.h:24:10: fatal error: ESPAsyncWebServer.h: No such file or directory
#include <ESPAsyncWebServer.h>
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: ESPAsyncWebServer.h: No such file or directory
masz jakiś pomysł czego mógłbym jeszcze spróbować?
Musisz ręcznie doinstalować brakujące biblioteki - https://github.com/hackerspace-silesia/Smogomierz/blob/master/instrukcje/software.md#arduino---konfiguracja - podpunkt 10
W razie czego brakujące libki (ja tak zrobiłem) pobrałem i wrzuciłem w katalog po prostu.
Bardzo dziękuję za pomoc @bfaliszek, wszystko działa
@lim3ra czyli kod z brancha dev u Ciebie na ESP32? Czyli zostaje kwestia ESP8266. Problem w tym, że nie mam żadnego ESP8266, ale poszukam i postaram się to ogarnąć. Jestem też w połowie refactoringu kodu Smogomierza. Chcę to skończyć w przyszłym tygodniu i poprawić znane błędy.
@lim3ra czyli kod z brancha dev u Ciebie na ESP32? Czyli zostaje kwestia ESP8266. Problem w tym, że nie mam żadnego ESP8266, ale poszukam i postaram się to ogarnąć.
Jestem też w połowie refactoringu kodu Smogomierza. Chcę to skończyć w przyszłym tygodniu i poprawić znane błędy.
Hej, tak mogę potwierdzić, ze na ESP32 wszystko się kompiluje i wgrywa bez problemu. Działa tez wsparcie dla HomeKit.
@radziejewicz Jeśli chodzi o zapisywanie hasła do WiFi na ESP8266 to można to szybko naprawić - https://github.com/hackerspace-silesia/Smogomierz/commit/5ea9ece15188866551b2883b9c903041b10cb04d#diff-db9a34509c31034add1e52219c572432a92ae758510cdcb0e865e72f1ba1f232
wystarczy dodać te 2 linijki w pliku src/WiFiManager/ESPAsyncWiFiManager.cpp
O dzięki za fix, w sumie już też namierzyłem i poprawiłem w kodzie :)
Co do refactoringu - to będziesz poprawiać błędy, czy dojdzie coś nowego?
Na razie przepisuję ten kod, który jest tak strasznie napisany, że aż wstyd mi na niego patrzeć. Większość już przepisałem na nowo. Chcę jeszcze poprawić błędy, które znajdę. Na razie nie planuję żadnych nowych funkcjonalności
Na razie przepisuję ten kod, który jest tak strasznie napisany, że aż wstyd mi na niego patrzeć. Większość już przepisałem na nowo. Chcę jeszcze poprawić błędy, które znajdę. Na razie nie planuję żadnych nowych funkcjonalności
Przy okazji - dzięki za Twoją pracę @bfaliszek
świetny projekt, ja korzystam już od kilku lat
Hej,
U mnie na ESP32 po flashu przez NodeMCU Pyflasher również nie pojawia się WiFi.
W Arduino IDE jak próbuję samemu skompilować program to sypie błędami:
In file included from C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:556:
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h: In function 'String handle_root_processor(const String&)':
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h:94:3: error: 'takeTHPMeasurements' was not declared in this scope
takeTHPMeasurements();
^~~~~~~
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h:94:3: note: suggested alternative: 'pmMeasurements'
takeTHPMeasurements();
^~~~~~~
pmMeasurements
In file included from C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:556:
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h: In function 'void handle_adv_mqtt_config(AsyncWebServerRequest)':
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h:2044:5: error: 'takeTHPMeasurements' was not declared in this scope
takeTHPMeasurements();
^~~~~~~
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h:2044:5: note: suggested alternative: 'pmMeasurements'
takeTHPMeasurements();
^~~~~~~
pmMeasurements
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h: In function 'void handle_api(AsyncWebServerRequest)':
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h:3267:5: error: 'takeTHPMeasurements' was not declared in this scope
takeTHPMeasurements();
^~~~~~~
C:\Users\xxx\Documents\Smogomierz\src\smogly_asyncwebserver.h:3267:5: note: suggested alternative: 'pmMeasurements'
takeTHPMeasurements();
^~~~~~~
pmMeasurements
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino: At global scope:
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1078:3: error: expected unqualified-id before 'if'
if (need_update == true && deviceSettings.autoUpdate) {
^~
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1086:10: error: expected constructor, destructor, or type conversion before ';' token
yield();
^
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1088:19: error: expected constructor, destructor, or type conversion before ';' token
pm_calibration();
^
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1091:3: error: expected unqualified-id before 'if'
if (!strcmp(sensorsSettings.dustModel, "PMS7003")) {
^~
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1112:3: error: expected unqualified-id before 'if'
if (strcmp(sensorsSettings.dustModel, "Non")) {
^~
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1169:5: error: expected unqualified-id before 'else'
} else {
^~~~
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1205:3: error: expected unqualified-id before 'if'
if (airMonitorSettings.enabled) {
^~
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1215:3: error: expected unqualified-id before 'if'
if (luftdatenSettings.enabled or aqiEcoSettings.enabled or smoglistSettings.enabled) {
^~
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1224:3: error: expected unqualified-id before 'if'
if (thingSpeakSettings.enabled or influxDBSettings.enabled or mqttSettings.enabled) {
^~
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1235:3: error: expected unqualified-id before 'if'
if (current_REBOOT_Millis - intervals.previousRebootMillis >= intervals.reboot) {
^~
C:\Users\xxx\Documents\Smogomierz\Smogomierz.ino:1263:1: error: expected declaration before '}' token
} // loop() - END
^
exit status 1
Compilation error: 'takeTHPMeasurements' was not declared in this scope
Odpowiem sam do siebie. U mnie flashowanie przez NodeMCU Pyflasher z pliku bin nie działało. Ten sam plik bin, wgrany przez ESPHomeflasher, na tę samą płytkę działa. Nie jestem specem, ale czytałem że NodeMCU nie wgrywa niezbędnych danych bootloadera, więc wgrywając z pliku bin, musimy mieć w pliku binarnym te brakującą część. ESPHomeflasher wgrywa tę część dump (czy jakoś tak) z automatu. Teraz walczę z ustawieniami, żeby wyświetlało wyniki pomiarów, bo mój smogomierz póki co pokazuje same 0
Cześć na esp8266wrzuciłem ESP8266_Smogomierz_2.8.1_PMS_build_27.11.2021.bin, lecz po flashu płytka nie wstaje, brakuje wifi :/
Flashuję tak:
Ktoś podpowie, co poszło nie tak?