Remise au goût du jour le petit script luatool.py
Sources
https://github.com/4refr0nt/luatool
Description
Le petit script python luatool.py permet d'automatiser le téléchargement de
scripts .lua sur un NodeMCU branché sur le port USB.
Mais il permet aussi et surtout de le faire via WIFI. Pour cela il faut que le petit serveur telnet tourne sur le NodeMCU !
Problématiques
La version actuelle datant de juillet 2017 ne fonctionne plus avec les nouveaux firmwares de NodeMCU. Il a y un problème au moment de l'initialisation de la connexion série.
Travail effectué
-
J'ai donc repris le code python et juste après l'initialisation du port série je cherche le caractère '>', ainsi je suis certain que le NodeMCU a bien redémarré.
-
J'ai aussi diminué le délai d'attente entre chaque ligne, passé de 0.3 sec à 0.03 sec. Les téléchargements sont donc 10x plus rapides
-
J'ai aussi mis un nouveau telnet serveur qui tient compte des tailles maximales des paquets TCP
-
J'ai aussi bien amélioré le script luatool.py (voir le code source)
Installation
Maintenant c'est très facile de télécharger tout un projet sur un NodeMCU. Il suffit simplement de modifier le petit script bash upload.sh, puis de faire:
./upload.sh
- A chaque utilisation de luatool.py, le NodeMCU, s'il est branché sur le port série, redémarre !
- S'il y a des erreurs lors d'un téléchargement, il faut simplement augmenter un peu le délai !
- Il est préférable de télécharger en premier les gros fichiers .lua !
Test via WIFI en telnet
Après avoir installé tout le binz sur le NodeMCU avec le script upload.sh, on peut utiliser luatool.py via le WIFI.
On peut le tester avec le petit script:
./test_toto-sh
- Si cela fonctionne, la LED devrait arrêter de clignoter ;-)
Goodies
Quelques commandes en WIFI ;-)
ATTENTION: ces exemples de commandes sont pour MON adresse IP actuelle de mon NodeMCU ;-)
Help du luatool.py
./luatool.py -h
Liste les fichiers qui se trouvent sur le NodeMCU
./luatool.py --ip 192.168.0.157 -l
Télécharge le fichier toto.lua sur le NodeMCU
./luatool.py --ip 192.168.0.157 -f toto.lua
Télécharge le fichier toto.lua sur le NodeMCU, mais le renomme en tutu.lua et affiche une progression bar de l'évolution du téléchargement
./luatool.py --ip 192.168.0.157 -f toto.lua -t tutu.lua
Vérifie que tout est bon sur le NodeMCU
./luatool.py --ip 192.168.0.157 -l
Efface le fichier toto.lua sur le NodeMCU
./luatool.py --ip 192.168.0.157 --delete toto.lua
Efface le fichier tutu.lua sur le NodeMCU
./luatool.py --ip 192.168.0.157 --delete tutu.lua
Vérifie que tout est bon sur le NodeMCU
./luatool.py --ip 192.168.0.157 -l
zf191021.1619