OpenEVSE / openevse_esp32_firmware

OpenEVSE V4 WiFi gateway using ESP32
170 stars 112 forks source link

Network library update #849

Open jeremypoulter opened 4 months ago

jeremypoulter commented 4 months ago

We are still using Mongoose 6 and while this mostly works I have seen many issues while trying to implement #29 and #806. A lot has changed since we originally chose Mongoose so we should evaluate different options.

jeremypoulter commented 4 months ago

@matth-x do you have any input on what might be a good option?

matth-x commented 4 months ago

The Mongoose v7 API got a lot cleaner and I appreciate that the Mongoose developers actively refactor their project to keep it easy to use. When I migrated my stuff to v7, I had to rewrite a few parts, but it wasn't too bad and most of it works pretty much the same (at least for the client connections). Personally I think that Mongoose is extremely well written and I never encountered any problem with it.

I've checked out the ESP-IDF built-in WS client once but didn't have the impression it was pushed forward too much (and it seems it's missing the server side). Apart from that, I've not worked with the other suggestions so far.

A very interesting project which I'm planning to get my hands on soon is warmcat/libwebsockets which also seems to be well-maintained. A notable difference is that it's under the MIT license (and its dependencies are similarly permissive). In case that this is a possible direction for the OpenEVSE project in future, it would be a good idea to consider that here.

jeremypoulter commented 4 months ago

LWS looks interesting, also includes a mini HTML/CSS display engine targeted at the ESP32, could be great for the new LCD WiFi board, will definitely take a look.