L'exemple Boot
Je pr\xE9f\xE8re ne pas installer ce programme dans le flash.
MicroPython installe d\xE9j\xE0 une version de boot.py (seulement des commentaires, mais qui montrent comment on peut mettre en route WEB REPL) et je ne veux pas d\xE9truire cette version.
On peut part contre l\x92essayer avec thonny.
Avant de le faire nous allons cr\xE9er un classeur /lib dans le syst\xE8me de fichier du ESP32. Dans ce classeur on peut mettre des scripts \xE0 importer ou \xE0 ex\xE9cuter.
Avec le
HelloWorld.py transf\xE9r\xE9 dans /lib de l'ESP32 on peut l\x92ex\xE9cuter avec un \xAB import \xBB :
Le syst\xE8me de fichier sur l'ESP32 avec le classeur "/lib" et HelloWorld.py copi\xE9 dedans.
Si maintenant j\x92ex\xE9cute le programme boot.py dans 00.1_Boot de Freenove, voila le r\xE9sultat :
J\x92ai r\xE9\xE9crit le programme boot.py. Dans ma version, je regarde si les fichiers sont des classeurs ou des fichiers standard et j\x92imprime le contenu seulement pour les fichiers standard.
Voil\xE0 ce qu\x92on obtient si on tourne le nouveau programme boot.py r\xE9-nomm\xE9 myboot.py :
MicroPython v1.14-121-g4fc2866f4-dirty on 2021-03-21; ESP32 module with ESP32
Type "help()" for more information.
>>> %Run -c $EDITOR_CONTENT
MicroPython v1.14-121-g4fc2866f4-dirty on 2021-03-21; ESP32 module with ESP32
Type "help()" for more information.
>>> %Run -c $EDITOR_CONTENT
===============================
HelloWorld.py
===============================
Contents:
print('Hello World!\n')
===============================
lib, File is a directory
===============================
===============================
myboot.py
===============================
Contents:
#!/opt/bin/lv_micropython
import uos as os
import uerrno as errno
iter = os.ilistdir()
IS_DIR = 0x4000
IS_REGULAR = 0x8000
while True:
try:
entry = next(iter)
filename = entry[0]
file_type = entry[1]
if filename == 'boot.py':
continue
else:
print("===============================")
print(filename,end="")
if file_type == IS_DIR:
print(", File is a directory")
print("===============================")
else:
print("\n===============================")
print("Contents:")
with open(filename) as f:
for line in enumerate(f):
print("{}".format(line[1]),end="")
print("")
# exec(open(filename).read(),globals())
except StopIteration:
break
>>>
On trouve le programme myboot.py sur
https://github.com/uraich/mpy_ucad/tree/main/Alternate_Python_Codes/00.1_Boot
-- %USERSIG{UliRaich - 2021-07-03}%