Les ESP32 sont des micro-contrôleurs dont les principales caractéristiques sont :
- un coût très modéré. On trouve certains modèles entre 3 et 4 euros
- Plusieurs firmwares sont prêts à l'emploi pour utiliser différents langages de programmation: MicroPython, C (version Arduino)...
- Ces cartes possèdent deux cartes réseaux : Bluetooth et wifi.
Permettant la création de points d'accès et d'un réseau.
- de posséder des ports GPIO permettant la création de montages électroniques.
Pédagogiquement, j'y vois plusieurs avantages dans l'enseignement de la SNT et de la NSI :
- proposer une continuité d'apprentissage du langage Python ;
- proposer aux élèves un support physique comme aboutissement de leur projet ;
- en créant son propre réseau, on s'affranchie de certaines limitation ou protection des réseaux de nos établissements. Cela facilite la création d'objet IoT et d'interface IHM
Avec les outils, les modules trouvés sur le web, je vous propose un firmware pour les ESP32 possédant les modules suivants :
- le module usqlite permettant en MicroPython et pour les ESP32 d'utiliser le même module que sqlite3 pour Python : vos élèves pourront poursuivre leur étude de SQL sur ces cartes.
- le module st7789 permet d'afficher les écrans LCD contrôlé par le st7789.
De plus, le firmware comprend quelques outils rendant la carte directement prête à l'usage :
- des images pour créer quelques pages web,
- des modules facilitant la création de sites webs,
- une base de données SQLite pour directement tester le module tt usqlite
- un module facilitant la programmation de jeux sur un écran st7789
Les firmwares officiels
Les cartes ESP32 ont ceci de commun, c'est qu'elles sont toutes conçues autour de micro-contrôleur
(microprocesseur, gpio, uart...) de la société ESPRESSIF.
Mais attention, plusieurs modèles existent et le firmware utilisé sera différent pour chaque modèle.
Voici les principaux modèles de la société ESPRESSIF :
- Wroom32 : l'un des premiers modèles. Il possède un processeur de type SoC.
- C3 : conçu autour d'un processeur RISC, ce modèle mise sur une consommation électrique moins importante (vitesse processeur, norme Wifi et Bluetooth entre autres) et donc, des performances plus faibles.
- S3 : conçu pour fournir des performances plus grandes.
Ainsi, le firmware utilisé dépendra de votre carte.
Un second critère du choix du firmware portera sur le langage utilisé :
Mon firmware personnalisé
De nombreuses ressources sur Internet rendent possible la compilation de son propre firmware. Vous trouverez dans la section suivante, quelques traces de ma démarche pour créer mon firmware pour l'ESP32 :
La création de ce firmware m'a permis :
- d'incorporer des modules directement dans mes cartes. Ainsi, mes firmwares contiennent
- le module usqlite pour l'utilisation d'une base de données SQLite
- et d'un module pour l'affichage sur les écransst7789
- des modules personnels dédiés à soulager la programmation de parties non utiles à mes élèves tels que :
- la gestion du module Wifi (myNetwork)
- la création de Socket TCP (myTcp)
- la création d'un serveur Web léger (myHttp)
- la mise à disposition de base de données SQLite pour utilisation
L'avantage d'avoir déposé ces fichiers dans le firmware permet d'être sûr de leur présence dès le téléversement du firmware sans ajout supplémentaire, mais aussi empêche leurs modifications par les élèves.
Vous trouverez une description des modules personnels incorporés dans ces firmwares dans le document ci-dessous :
Téléchargement de mes firmwares
Vous trouverez ci-dessous les liens vers ces drivers :
Remerciements
Ce firmware se base sur les travaux :