Files
..
wip
2019-10-30 21:12:36 +01:00
wip
2019-10-28 15:37:08 +01:00

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