Today we are happy to present a web-based GUI for making a web-based GUI! If you’re a programmer then web front-end development might not be your bag. But a web-based graphical user interface (GUI) for administration and reporting for your microcontroller device can look very professional and be super useful. The Mongoose Wizard can help you develop a device dashboard for your ESP32-based project.
In this article (and associated video) the Mongoose developers run you through how to get started with their technology. They help you get your development environment set up, create your dashboard layout, add a dashboard page, add a device settings page, add an over-the-air (OTA) firmware update page, build and test the firmware, and attach the user-interface controls to the hardware. The generated firmware includes an embedded web server for serving your dashboard and delivering its REST interface, pretty handy.
You will find no end of ESP32-based projects here at Hackaday which you could potentially integrate with Mongoose. We think the OTA support is an excellent feature to have, but of course there are other ways of supporting that functionality.
Thanks to [Toly] for this tip.
Needs a way to sign the firmware or only upload after authentication with a username and password on the flash menu in the browser. Other than that solid work. (watched without sound, if I missed that feel free to correct me)
Any REST API, including OTA API, can be authenticated – see https://www.youtube.com/watch?v=EGCFen7VwaI
I usually just use plain old sockets with ESP32/ESP8266 and write a python script (UI with PyQt5, if needed) to connect to it and get the data
Anything that I may be missing out on by not using a web interface?
Nothing wrong, you are doing perfectly what suits you. Not all data needs to be interacted with by a human. And where that interaction happens is your choice too. E.g. if you have 20 sensors, data collection is better to be done first before data representation.
If you only have one device, a dedicated webUI on that device may be the way to go. You see this everywhere: Docker containers being orchestrated by a Kubernetes instance, or stand alone containers. In the end you determine the use case.
Mongoose is also something very different, a mongo db ose for nodejs.
One thing the article doesn’t mention is that Mongoose appears to support a lot more than just the ESP32, including Pi pico and STM Neucleo boards. Will definitley be checking this out more thouroughly when I get a chance.
That’s correct, Mongoose can run on a huge variety of microcontrollers
I need emergency system. wifi-mesh for thousend devices, communications offgrid and sending message like email or twitter
IMHO, IDE wars of the 2000/2010 now dragged themselves into 2020s.
I recall how HTML and browsers supposed to make GUI uniform on ALL OSes/platforms, tough luck, now there are tools that generate HTML (and glue-on code and CSS and this and that) to make it uniform on all OSs/platforms.
Just a decade ago JQuery was like “yes, we do ENTIRE GUI in one library”, then there was facebooks’ Bootstrap “yep, we do everything, just plug and play” and others, many, too many to keep track (each comes with its own exclusive set of quirks and idiocies that you discover as you go).
What are we up to now, IDE wars are still ongoing, but now there are no-code code-generating wars. I thought WordPress had this territory covered, but I am guessing wrong, it only muddied the waters.
I am not old, but remember that Plan 9 (OS) had the right attitude – outsource GUI to the client comp and just do plain processing back and forth so that even a dialup connection would suffice. Perhaps time to revisit the old faithful – do we REALLY need entire GUI stack just to handle ordinary and well-worn-out (and well-known) controls (pushbuttons … dials … dropdowns … text boxes …)? Could there be a lightweight universal lightweight toolbox of controls that just work out of the box? Come on, plain vanilla HTML, decades of revising are all for what, so that it is no longer enough?
(frustrated and mostly unhappy programmer of all KINDS of GUIs for all kinds of users, technical, managers, dumb terminals, etc – I started with MS DOS text GUIs, so kinda think it should just circle back to the ASCII text interface and be over with – because it just flies when it needs to fly).
Something like that. Discard after ignoring.
Mongoose OS is also very useful project. But i think they are bit laging behind with porting to latest ESP32 MCUs…