vitotai / BrewManiacEsp8266

BrewManiac on ESP8266. Only ESP8266 needed.
155 stars 71 forks source link

ESPAsyncTCP version in libs/ won't compile with recent platforimIO ESP8266 SDK #23

Open allthepies opened 6 years ago

allthepies commented 6 years ago

Having upgraded the PlatformIO ESP8266 SDK version recently, I then got compilation errors when building BMEsp.

I believe the issue is this one: https://github.com/me-no-dev/ESPAsyncTCP/issues/57

I updated the ESPAsyncTCP library to the latest version and BMEsp now compiles [I'm yet to test it].

vitotai commented 6 years ago

I've tried to use latest version of ESPAsyncTCp and ESPAsyncWebServer. There are some issues. The SSE Link will be closed and reconnected every 5 seconds. The result is that you can't edit the settings and automation process. I am not sure wether it is caused by LWIP or ESPAsyncTCP. So far, it seems that LWIP doesn't report ACK from the peer. (I assume the TCP/IP of OSX behaviors as expected.)

Update: I might have found the issue and submitted an issue: https://github.com/me-no-dev/ESPAsyncTCP/issues/77

I'll see how me-no-dev response and try if I can modify the code by myself.

allthepies commented 6 years ago

Reverted to the previous platformIO esp8266 platform version and it now compiles OK with your versions of the ESPAsyncTCP libraries.

In platformio.ini modified platform = espressif8266 to platform = espressif8266@~1.5

As changelog for the espressif8266 platform is: 1.6.0 released 1 day ago

Finally! Release of Arduino Core v2.4.0 Add new boards: WeMos D1 mini Pro and 4D Systems gen4 IoD Range Update espota.py to v1.1.0 Update mkspiffs tool to v0.2.0 Allow overriding PROGNAME (issue #54) Improve support of FQDN for OTA target (issue #56)

I suspect the Arduino Core upgrade to v2.4.0 was the culprit.

Would be good to get a fixed latest ESPAsyncTCP library though.

vitotai commented 6 years ago

I am working on the migration of latest ESPASyncTCP/ESPAsyncWebServer library. Last time, about one year ago, it was not stable, and the system w/ new libraries crashed sometimes. That is the real reason I keep using old version of the libraries.

The latest version seems to work fine. Maybe it has something to do with new version of framework. I've tested it for a while, and it seems to work fine. I applied the temporal solution mentioned.

If you want to try it, you can try the branch: https://github.com/vitotai/BrewManiacEsp8266/tree/NewEspAsyncLibs

If the build "passes" my stability test, I will try to use WebSocket instead of current ServiceSideEvent. By using two-way WebSocket, the button action will be more smooth and responsive.

allthepies commented 6 years ago

Good stuff, I will try the latest version.

You going to do similar for BPL too ?

vitotai commented 6 years ago

Yes. I am trying WebSocket on BPL now.

vitotai commented 6 years ago

The new libraries as well as WebSocket pass my stability test.

I also fixed some bugs: https://github.com/vitotai/BrewManiacEsp8266/tree/v040pre

allthepies commented 6 years ago

Just loaded up the v404pre branch and it's looking good.