Firmware
Le firmware de base du TeleInfoKit a été développé spécifiquement pour ce module. Il est basé sur le framework Arduino, commun à beaucoup de projets. Il est possible de le mettre à jour via le WiFi avec des utilitaires dédiés, ce qui est décrit ici.
Alternativement un firmware basé sur ESPHome peut être utilisé en remplacement, mais il est nécessaire de flasher le module via USB pour passer de l’un à l’autre, pas de mise à jour en WiFi possible dans ce cas là.
Pour les détails sur le firmware basé sur ESPHome, voir le GitHub de la partie Hardware.
Cette page de documentation ne concerne que le firmware TeleInfokit « natif », et non le ESPHome.
Attention : la mise à jour va supprimer les réglages MQTT, de login/mdp HTTP et de fréquence d’envoi. Assurez-vous de les connaitre pour remettre ensuite les mêmes valeurs.
Une fois la mise à jour effectuée, pour saisir à nouveau les paramètres MQTT et HTTP, il sera nécessaire d’effectuer une réinitialisation du module pour re-afficher l’écran de configuration via le Hotspot wifi que le module va créer.
Pour réinitialiser le module, suivre les étapes décrites sur le GitHub du firmware, page « Réinitialisation de la configuration ».
Rappel: il n’est pas possible de flasher le TeleInfoKit via son port USB, celui-ci ne sert qu’à l’alimentation. Nous parlons ici d’une mise à jour par WiFi.
Pré-requis pour flasher en WiFi
Visual Studio Code
L’éditeur Visual Studio Code (VS Code) de Microsoft est utilisé pour éditer et compiler les source du firmware TeleInfoKit. Télécharger et installer l’application.
VS Code servira à compiler et flasher le firmware grâce à l’extension Platformio
Extension PlatformIO IDE
Une fois VS Code installé, ajouter l’extension « Platformio IDE« .
Une fois que l’extension PlatformIO IDE est installée, on va avoir besoin de la plateforme ESP8266. Les plateformes correspondent au type de processeur des cartes arduino (par exemple Atmel AVR pour les arduino micro, mini, uno…).
Pour l’ESP-01 utilisé par le TeleInfoKit, il s’agit de la plateforme « Espressif 8266 ». Celle-ci contient toute la chaine d’exécutables de compilation et de flashage spécifique aux ESP8266.
Pour cela, aller sur l’onglet « Platforms », chercher « Espressif 8266 » et cliquer sur « Install ».
Sources sur Github
Cloner les sources du repository TeleInfokit ou télécharger les sources et les stocker sur votre ordinateur. La branche « main » contiendra la dernière version stable.
Ouvrir le dossier racine du projet dans VS Code, et dans la liste d’icones de gauche, aller dans l’onglet de l’extension PlatformIO installée précédemment.
Dans la section « Project Task » en haut à gauche se trouvent toutes les configurations de compilation proposées avec le projet. Cette configuration est définie par le fichier platformio.ini présent à la racine du projet.
On y retrouve deux sections :
- esp01_1m : utilisée pour flasher via un adaptateur usb (pas concernée pour cette documentation donc)
- esp01_1m_ota : utilisée pour flasher via WiFi, celle qui nous intéresse
En dépliant cette deuxième section on retrouve les actions possibles dont la compilation (Build), le flashage (Upload).
Le sous-dossier « General » gère la partie firmware pure. Le sous-dossier « Platform » concerne le système de fichier présent en mémoire qui contient le fichier HTML du dashboard et le fichier de configuration qui est créé à la configuration initiale du module.
Mise à jour du firmware en WiFi
Afin de lancer la mise à jour en WiFi, le module TeleInfoKit doit être correctement connecté au même réseau WiFi que votre ordinateur.
Renseigner l’adresse IP du module TeleInfoKit dans le fichier platformio.ini
, dans le champ « upload_port » en remplaçant la valeur donnée en exemple ici :
[env:esp01_1m_ota]
upload_port = 192.168.0.121
upload_speed = 921600
upload_protocol = espota
upload_flags =
--port=8266
--auth=*****************
L’adresse IP du module est visible en faisant défiler les écrans en cliquant sur le bouton en façade.
La mise à jour va ensuite consister en deux étapes : la compilation/upload du firmware et la compilation/upload du système de fichier.
Firmware
Cliquer sur « General/Build » pour lancer une compilation des sources et générer le firmware. Une fois cette opération effectuée, cliquer sur « General/Upload ». VS Code va se connecter au module et envoyer le firmware.
Note : il n’est pas nécessaire de cliquer sur « Build », cette action est faite automatiquement lors de l’upload.
Le module va redémarrer suite à la mise à jour.
La vidéo ci-dessous montre ces étapes de flashage du firmware
Système de fichiers
De la même manière, cliquer sur « Platform/Upload Filesystem Image » (ne pas lancer « Platform/Upload Filesystem Image OTA » qui finit en erreur).
Note : il n’est pas nécessaire de cliquer sur « Build », cette action est faite automatiquement lors de l’upload.
Le module va à nouveau redémarrer, les informations de connexion WiFi sont conservées, mais les autres réglages seront perdus (MQTT et réglages HTTP) car ils étaient stockés dans le système de fichier qui a été remplacé.
Il va être nécessaire de réinitialiser le module et re-saisir ces informations. Pour cela suivre les indications du guide utilisateur sur Github.
La mise à jour est terminée 🙂
La vidéo ci-dessous montre les étapes de flashage du système de fichiers