diff --git a/IDE_remote/SocketIDE/luatool/README.md b/IDE_remote/SocketIDE/luatool/README.md
index e931649..69dfa46 100644
--- a/IDE_remote/SocketIDE/luatool/README.md
+++ b/IDE_remote/SocketIDE/luatool/README.md
@@ -6,30 +6,44 @@ 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.
+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 2017 ne fonctionne plus avec les nouveaux firmwares de NodeMCU, il a y un problème de délai au moment de l'initialisation.
+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.
-## Corrections
+## Travail effectué
* J'ai donc repris le code python et mis un petit délai de 0.5 secondes juste après l'initialisation du port série.
-* J'ai aussi diminué le délai d'attente entre chaque ligne, passé de 0.3 sec à 0.03. Les téléchargement sont donc 10x plus rapides
+* 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)
-## Utilisation
-Maintenant c'est très facile de télécharger tout un projet dans un NodeMCU. Il suffit simplement de modifier le petit script bash upload.sh, puis de faire:
+
+## 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
```
-S'il y a des erreurs lors d'un téléchargement, il faut simplement augmenter un peu le délai !
+* 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 ;-)
-zf191020.1836
+zf191020.2055
diff --git a/IDE_remote/SocketIDE/luatool/luatool.py b/IDE_remote/SocketIDE/luatool/luatool.py
index 6927c49..6cd1e40 100755
--- a/IDE_remote/SocketIDE/luatool/luatool.py
+++ b/IDE_remote/SocketIDE/luatool/luatool.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
-version = "0.6.5 zf191020.1932"
+version = "0.6.5 zf191020.2041"
print("luatool.py ver " + version)
@@ -195,24 +195,24 @@ def decidetransport(cliargs):
if __name__ == '__main__':
# parse arguments or use defaults
parser = argparse.ArgumentParser(description='ESP8266 Lua script uploader.')
- parser.add_argument('-p', '--port', default='/dev/ttyUSB0', help='Device name, default /dev/ttyUSB0')
-# parser.add_argument('-b', '--baud', default=9600, help='Baudrate, default 9600')
- parser.add_argument('-b', '--baud', default=115200, help='Baudrate, default 115200')
- parser.add_argument('-f', '--src', default='main.lua', help='Source file on computer, default main.lua')
- parser.add_argument('-t', '--dest', default=None, help='Destination file on MCU, default to source file name')
- parser.add_argument('-c', '--compile', action='store_true', help='Compile lua to lc after upload')
- parser.add_argument('-r', '--restart', action='store_true', help='Restart MCU after upload')
- parser.add_argument('-d', '--dofile', action='store_true', help='Run the Lua script after upload')
- parser.add_argument('-v', '--verbose', action='store_true', help="Show progress messages.")
- parser.add_argument('-a', '--append', action='store_true', help='Append source file to destination file.')
- parser.add_argument('-l', '--list', action='store_true', help='List files on device')
- parser.add_argument('-w', '--wipe', action='store_true', help='Delete all lua/lc files on device.')
- parser.add_argument('-i', '--id', action='store_true', help='Query the modules chip id.')
- parser.add_argument('-e', '--echo', action='store_true', help='Echo output of MCU until script is terminated.')
parser.add_argument('--bar', action='store_true', help='Show a progress bar for uploads instead of printing each line')
parser.add_argument('--delay', default=0.03, help='Delay in seconds between each write, default 0.03 sec.', type=float)
parser.add_argument('--delete', default=None, help='Delete a lua/lc file from device.')
- parser.add_argument('--ip', default=None, help='Connect to a telnet server on the device (--ip IP[:port])')
+ parser.add_argument('--ip', default=None, help='Connect via telnet server (--ip IP[:port])')
+ parser.add_argument('--zrestart', action='store_true', help='Restart the NodeMCU.')
+ parser.add_argument('-a', '--append', action='store_true', help='Append source file to destination file.')
+ parser.add_argument('-b', '--baud', default=115200, help='Baudrate, default 115200')
+ parser.add_argument('-c', '--compile', action='store_true', help='Compile lua to lc after upload')
+ parser.add_argument('-d', '--dofile', action='store_true', help='Run the Lua script after upload')
+ parser.add_argument('-e', '--echo', action='store_true', help='Echo output of MCU until script is terminated.')
+ parser.add_argument('-f', '--src', default='main.lua', help='Source file on computer, default main.lua')
+ parser.add_argument('-i', '--id', action='store_true', help='Query the modules chip id.')
+ parser.add_argument('-l', '--list', action='store_true', help='List files on device')
+ parser.add_argument('-p', '--port', default='/dev/ttyUSB0', help='Device name, default /dev/ttyUSB0')
+ parser.add_argument('-r', '--restart', action='store_true', help='Restart MCU after upload')
+ parser.add_argument('-t', '--dest', default=None, help='Destination file on MCU, default to source file name')
+ parser.add_argument('-v', '--verbose', action='store_true', help="Show progress messages.")
+ parser.add_argument('-w', '--wipe', action='store_true', help='Delete all lua/lc files on device.')
args = parser.parse_args()
transport = decidetransport(args)
@@ -224,7 +224,7 @@ if __name__ == '__main__':
if args.list:
- #zzz191020 Amélioré la sortie du listing des fichiers
+ # zzz191020 Amélioré la sortie du listing des fichiers
transport.writeln("print('\\n-----');local l = file.list();for k,v in pairs(l) do print(k..', size:'..v)end;print('-----\\n')\r", 0)
while True:
char = transport.read(1)
@@ -245,6 +245,11 @@ if __name__ == '__main__':
print("\n"+id)
sys.exit(0)
+ # zzz191020 Ajouté la fonction restart seule
+ if args.zrestart:
+ transport.writeln("node.restart()\r")
+ sys.exit(0)
+
if args.wipe:
transport.writeln("local l = file.list();for k,v in pairs(l) do print(k)end\r", 0)
file_list = []
@@ -271,6 +276,8 @@ if __name__ == '__main__':
if args.dest is None:
args.dest = basename(args.src)
+ ### zzz191020 Affiche le fichier à envoyer
+ print("File: " + args.src)
# open source file for reading
try:
diff --git a/IDE_remote/SocketIDE/luatool/upload.sh b/IDE_remote/SocketIDE/luatool/upload.sh
index 8b5267c..7132391 100755
--- a/IDE_remote/SocketIDE/luatool/upload.sh
+++ b/IDE_remote/SocketIDE/luatool/upload.sh
@@ -1,23 +1,29 @@
#!/bin/bash
# Petit script pour télécharger facilement tout le binz
-#zf191020.1957
+#zf191020.2053
# 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 !
+
+#ATTENTION: cela efface tout le NodeMCU !
+
+read -p "ATTENTION, cela va effacer tout le NodeMCU !"
+read -p "Etes-vous vraiment certain ?"
chmod +x luatool.py
-./luatool.py --port /dev/cu.wchusbserial1410 -l
+./luatool.py --port /dev/cu.wchusbserial1410 --zrestart
+sleep 0.5
./luatool.py --port /dev/cu.wchusbserial1410 -w
./luatool.py --port /dev/cu.wchusbserial1410 -l
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.001 --src boot.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.001 --src boot2.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.03 --src flash_led_xfois.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.001 --src initz.lua --dest init.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.001 --src secrets_energy.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.001 --src wifi_ap_stop.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.001 --src wifi_cli_conf.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.001 --src wifi_cli_start.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.001 --src wifi_info.lua
-./luatool.py --port /dev/cu.wchusbserial1410 --delay 0.06 --src telnet_srv2.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.06 --src telnet_srv2.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.001 --src boot.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.001 --src boot2.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.03 --src flash_led_xfois.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.001 --src secrets_energy.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.001 --src wifi_ap_stop.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.001 --src wifi_cli_conf.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.001 --src wifi_cli_start.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.001 --src wifi_info.lua
+./luatool.py --port /dev/cu.wchusbserial1410 --bar --delay 0.001 --src initz.lua --dest init.lua
./luatool.py --port /dev/cu.wchusbserial1410 -l
-
-#./luatool.py --port /dev/cu.wchusbserial1410 -r
+./luatool.py --port /dev/cu.wchusbserial1410 --zrestart