Sadly I've spent half a day trying to get the example to work.
https://github.com/OLIMEX/ESP32-POE/blob/master/SOFTWARE/ARDUINO/ESP32_PoE_Ethernet_Arduino/ESP32_PoE_Ethernet_Arduino.ino
And what I finally figured out is that the WiFi Event names were wrong.
case SYSTEM_EVENT_ETH_START:
case SYSTEM_EVENT_ETH_CONNECTED:
case SYSTEM_EVENT_ETH_GOT_IP:
These and the rest of them in the code should start with ARDUINO_ not SYSTEM_
I don't know if it had changed at some point but the current arduino-esp32 library shows it as ARDUINO_
Please verify but the Code on my ESP32-POE-ISO is working now.
Sadly somewhere trying to figure what the problem is the bootloader stopped working and now I'm having to ground GPIO0 to ground with a push button.
I tried many directions to fix it but most of it is vague or didn't work.
It would be great if you could put together a tutorial on how to get the bootloader working on the Olimex boards if something goes wrong.
Thanks,
Jeffery
I should probably just remove that example. There is a built-in Ethernet example nowadays that works fine with Olimex boards, it is called "ETH_LAN8720", it is by default located in the examples in the Ethernet sub-category. This one:
https://github.com/espressif/arduino-esp32/blob/master/libraries/Ethernet/examples/ETH_LAN8720/ETH_LAN8720.ino
During production we write a few files but you can use those released by espressiff instead:
We write bootloader.bin at 0x1000
We write ESP32-PoE_WROOM.bin at 0x10000
We write partitions_singleapp.bin at 0x8000
Then we erase the board with:
$ESPTOOL --chip esp32 --port $USB_PORT --baud $BAUD --before default_reset --after hard_reset erase_flash 2>&1 > /dev/null && echo -e "\033[32m[ГОТОВО]\033[0m" && \ [[ $ERRORS -ne 0 ]] && print_endline && continue
The three files mentioned can be found here:
https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/resources/ESP32-PROD-BINARIES.zip
Thanks a lot for your help!
I'll give that a try.
Thanks,
Jeffery
The same problem applies to the SD Card Ethernet example. Also spent a day figuring out what is wrong with my code :)
https://github.com/OLIMEX/ESP32-POE/blob/master/SOFTWARE/ARDUINO/ESP32_PoE_Ethernet_SD_Card_Arduino/ESP32_PoE_Ethernet_SD_Card_Arduino.ino (https://github.com/OLIMEX/ESP32-POE/blob/master/SOFTWARE/ARDUINO/ESP32_PoE_Ethernet_SD_Card_Arduino/ESP32_PoE_Ethernet_SD_Card_Arduino.ino)