Ich muss leider noch mal in die Runde fragen: Welche Software brauche ich konkret, um das alles zum Laufen zu bekommen?
Ich habe im Moment ein ESP32 NodeMCU WROOM32 Dev Board, die Arduino IDE 1.8.9 mit installiertem ESP32 Board, FHEM in der aktuellsten Version auf Raspi. Dazu habe ich eine Platine von PeMue bekommen, die hab ich soweit bestückt, dass ich sie hoffentlich wenn der ESP32 läuft bald testen kann.
Beim Versuch, den Code '
https://github.com/chunter1/precipitationSensorESP32' in der Arduino IDE zu kompilieren, kommt der Fehler ''EFUSE_RD_CHIP_VER_RESERVE_S' was not declared in this scope' in der Datei tools.cpp in der Funktion GetChipRevision. Scheinbar ist die Konstante nirgendwo definiert. Als Target-Board hab ich zuerst 'ESP32 Dev Module' ausgewählt und die Einstellung 'CPU-Frequency' auf 80MHz eingestellt, sonst alles Standard.
Brauch ich für den ESP32 irgendeinen Bootloader? Ich kann den momentan über USB flashen (hab ich mit einem blinky ausprobiert). Aber später wird der ESP32 ja dann scheinbar per WLAN geflasht?! Wie erzeuge ich dann die binaries? Geht das auch mit der Arduino IDE? Oder brauch ich da was ganz anderes?
Im FHEM habe ich ein dummy-Device mit Namen 'PRECIPITATION_SENSOR' angelegt, das stand irgendwo anfangs hier im Thread. Gibt es da mittlerweile ein eigenes FHEM-Modul? Hab da irgendwo was gelesen. Soweit bin ich ja aber noch gar nicht.
Für's WLAN hab ich in der 'GlobalDefines.h' die SSID und das WLAN-Passwort eingetragen. FHEM-Port habe ich dort nicht gefunden, ist wahrscheinlich veraltet, dass man das angeben muss?
Würde mich sehr freuen (auch als Doku für weitere Interessenten), wenn mir jemand etwas helfen könnte, den Code zu kompilieren und auf den ESP zu bringen.
Vielen Dank schon mal!
EDIT: Wenn ich Zeile 16 in tools.cpp änder in 'byte revision = 1; //(REG_READ(EFUSE_BLK0_RDATA3_REG) >> EFUSE_RD_CHIP_VER_RESERVE_S) && EFUSE_RD_CHIP_VER_RESERVE_V;' dann kompilierts...
EDIT2: Habe das jetzt zu Hause im WLAN am laufen. ESP32 meldet sich jedes zweite Mal auch beim WLAN richtig an und ich kann auf die Webseiten des ESP32 und dort z.B. unter setup Sachen einstellen. Ich habe im FHEM ein PrecipitationSensor angeleget und als IP-Adresse die des ESP32 angegeben "192.168.100.130:81". Wenn ich allerdings dann im Log schaue, verbindet er sich ständig und disconnected direkt wieder. Allerdings so ca. alle 30ms:
8:35:46.015 -> Port 81: Client disconnected
18:35:46.050 -> Port 81: Client connected
18:35:46.050 -> Port 81: Client disconnected
18:35:46.084 -> Port 81: Client connected
18:35:46.084 -> Port 81: Client disconnected
18:35:46.118 -> Port 81: Client connected
18:35:46.151 -> Port 81: Client connected
18:35:46.151 -> Port 81: Client disconnected
18:35:46.151 -> Port 81: Client disconnected
18:35:46.186 -> Port 81: Client connected
18:35:46.219 -> Port 81: Client connected
18:35:46.219 -> Port 81: Client disconnected
18:35:46.219 -> Port 81: Client disconnected
18:35:46.253 -> Port 81: Client connected
18:35:46.288 -> Port 81: Client disconnected
18:35:46.322 -> Port 81: Client connected
18:35:46.356 -> Port 81: Client disconnected
18:35:46.356 -> Port 81: Client connected
18:35:46.390 -> Port 81: Client connected
18:35:46.390 -> Port 81: Client disconnected
Ich muss dass dann mit disable=1 abstellen. Dann geht aber kein connect. Wenn ich die Adresse 192.168.100.130:81 im Browser aufrufe, sehe ich in der Arduino IDE Terminal, dass er sich zweimal verbindet, einmal sofort wieder disconnected und die zweite Verbindung nach einigen Sekunden (timeout?) wieder disconnected:
18:36:02.371 -> Chip ID: 4C22A4AE30
18:36:02.371 -> Chip Revision: 1 (2017.02)
18:36:02.438 -> Ref:
18:36:02.471 -> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18:36:02.471 -> Start WIFI_STA
18:36:02.471 -> HostName is: PrecipitationSensor
18:36:02.471 -> Using static IP
18:36:02.471 -> IP: 192.168.100.130
18:36:02.471 -> Mask: 255.255.255.0
18:36:02.471 -> Gateway: 192.168.100.1
18:36:02.672 -> Hostname: PrecipitationSensor
18:36:02.672 -> Connect 15 seconds to an AP (SSID 1)
18:36:03.144 -> ..
18:36:03.645 -> connected :-)
18:36:03.645 -> SSID: TRINET
18:36:03.678 -> IP: 192.168.100.130
18:36:03.678 -> Starting frontend
18:36:03.678 -> Starting OTA
18:36:03.678 -> Starting data port
18:36:13.724 -> Setup done
18:36:24.025 -> Port 81: Client connected
18:36:24.025 -> Port 81: Client connected
18:36:24.025 -> Port 81: Client disconnected
18:36:35.158 -> Port 81: Client disconnected
18:36:41.115 -> Port 81: Client connected
18:36:41.153 -> Port 81: Client connected
18:36:41.153 -> Port 81: Client disconnected
18:36:53.096 -> Port 81: Client disconnected
Hat da irgendwer eine schlaue Idee? lg