Page 1 of 1

Web interface framework for embedded Linux devices

Posted: Fri Jun 14, 2019 9:00 am
by dponyatov@gmail.com
Good day

What web interface framework is recommended for use on embedded Linux devices?

It would be great to have full-featured GUI works over the browser with windows, widgets, simple text editor widget with customizable syntax highlighter, etc, but the generic Web is also affordable.

I'm not very limited in resources now, but it would be great to have it working on HLK-RM04 (RT5350).

Re: Web interface framework for embedded Linux devices

Posted: Fri Jun 14, 2019 10:44 am
by jimmo
Are you running Linux on this device? There's no "bare-metal" MIPS port that I'm aware of, but you could in theory run the Unix port on Linux on MIPS.

Most of the boards that MicroPython runs on a very small microcontrollers (i.e. your RT5350 has more cpu cache than these things have RAM).

As far as web interface stuff goes -- typically you'd just write the web server part (i.e. maybe a bunch of HTTP(s) endpoints that send/receive JSON) using MicroPython, then the GUI (in HTML/JavaScript/CSS etc) would just be static content served from flash (that you'd generate on your main computer) that knew how to access the server. So you can use any web framework and bundling tool you like.

So for example, I have a home automation controller with a web frontend, I compile it (using tools like node/npm/typescript/etc) as part of my development workflow, then "deploy" that to the embedded system which runs a simple Python-based web server and can serve up that bundled html/javascript content. (None of this uses MicroPython currently because the "embedded system" is a Raspberry Pi, but it could easily be a Pyboard D and the process would be much the same).

If you're looking for a HTTP server, then https://github.com/miguelgrinberg/microdot might be a good place to start.

Re: Web interface framework for embedded Linux devices

Posted: Fri Jun 14, 2019 11:44 am
by dponyatov@gmail.com
Thanks for microdot, looks a good sample to make it myself based on the async messaging model.