Quel framework web micropython pour ESP 8266 / 32 ?
Posted: Tue 20 Apr 2021 13:01
Pour faire un microserveur avec ESP en micropython, on peut certes partir sur la création d'un socket, etc... mais quand on vient de Python comme moi, qu'on a l'habitude d'utiliser du bottlepy ou du flask, on a envie de garder la même simplicité.
Du coup, je rassemble ici les micro-frameworks web que j'ai trouvé / repéré / utilisé et toutes les suggestions bienvenue si il y a mieux.
L'idée est de pouvoir faire directement sur l'ESP un mini-serveur servant quelques fichiers locaux (HTML, lib JS) + supportant /permettant gestion AJAX et Websocket idéalement.
Voici la liste pour le moment :
* picoweb, un micro-framework façon Flask ou Bottlepy qui supporte les routes avec décorateur, sert les fichiers statiques, gère requête Ajax : https://github.com/pfalcon/picoweb
* MicroWebServer2 : très complet, gérant SSL, requêtes HTML, Ajax, Websocket, fichiers statiques, etc. J'ai pas tout testé : https://github.com/jczic/MicroWebSrv2
Je suis preneur de partage d'expérience et de suggestions autour de ce sujet de microframework web sur ESP.
PS : A partir du moment où on peut servir des fichiers statiques, j'ai même poussé l'affaire jusqu'à utiliser du Python comme code "client side" grâce à la librairie Brython que j'utilise depuis quelques années (et qui permet d'exposer les libs JS dans le code Python/Brython "client side"). Par contre, cette lib' étant grosse (700Ko) il vaut mieux la mettre sur un poste du réseau local, et pour moi, c'est sur le Raspberry Pi qui me sert aussi de broker MQTT du réseau des ESP locaux. Mais çà pourra faire l'objet d'un autre post. Python everywhere quoi... Sinon, on peut bien sûr rester en JS client side, utilise jQuery, etc.
Du coup, je rassemble ici les micro-frameworks web que j'ai trouvé / repéré / utilisé et toutes les suggestions bienvenue si il y a mieux.
L'idée est de pouvoir faire directement sur l'ESP un mini-serveur servant quelques fichiers locaux (HTML, lib JS) + supportant /permettant gestion AJAX et Websocket idéalement.
Voici la liste pour le moment :
* picoweb, un micro-framework façon Flask ou Bottlepy qui supporte les routes avec décorateur, sert les fichiers statiques, gère requête Ajax : https://github.com/pfalcon/picoweb
* MicroWebServer2 : très complet, gérant SSL, requêtes HTML, Ajax, Websocket, fichiers statiques, etc. J'ai pas tout testé : https://github.com/jczic/MicroWebSrv2
Je suis preneur de partage d'expérience et de suggestions autour de ce sujet de microframework web sur ESP.
PS : A partir du moment où on peut servir des fichiers statiques, j'ai même poussé l'affaire jusqu'à utiliser du Python comme code "client side" grâce à la librairie Brython que j'utilise depuis quelques années (et qui permet d'exposer les libs JS dans le code Python/Brython "client side"). Par contre, cette lib' étant grosse (700Ko) il vaut mieux la mettre sur un poste du réseau local, et pour moi, c'est sur le Raspberry Pi qui me sert aussi de broker MQTT du réseau des ESP locaux. Mais çà pourra faire l'objet d'un autre post. Python everywhere quoi... Sinon, on peut bien sûr rester en JS client side, utilise jQuery, etc.