Minnow Server: Fast and embeddable websocket SSL server for microcontrollers
github.com
github.com
The main issue I had was that only HTTP was well supported on the Arduino/ESP8266 platform and as we all know that's fallen out of favour. Unfortunately, it also limits what you can do on resource constrained microcontrollers. Having HTTPS in this library opens up the ability to build an SPA which was something I'd always wanted to do.
I don't see any mention of ESP8266 on their site but hopefully, as probably the most widely available IP enabled microcontroller, it will be supported too. Time to do some more digging into getting it running.
edit: I obviously didn't look closely enough - there's recently been added support for ESP8266 - happy days!
Edit: Looks like the MongooseOS team has even blogged about it (a few different times). Here is an example: https://mongoose-os.com/blog/mongoose-esp8266-atecc508-aws/
Would it be possible to port this for the Atmel (now Microchip) AVR32 architecture? I'm writing some code for the UC3C family and next thing to do is write code to present a configuration page over an Ethernet port. I'm not using a RTOS so my plan was to use lwIP directly, altough switching to FreeRTOS would also be an option (as I'm currently writing code for other boards and I've not really started writing any code for this specific, Ethernet-enabled board).
Would appreciate any pointers of how to do this. Never had to implement TCP/IP and HTTP before on a MCU, so it was a relief discovering that there are already made and free to use implementations of these stacks :)
I'm also exploring alternative OSes such as Mongoose mentioned here. It seems there is a lot of options. Having support for OTA updates could save a lot of work too, because that's another planned feature.
The code can be used with or without a TLS stack. The code is tailored for the SharkSSL API and the code automatically uses the SharkSSL API if compiled together with a SharkSSL delivery. The code uses standard non secure connections if not using TLS.