Saludos.
Estaba probando a hacerlo con el instalador, que parece que instala todo sin problemas pero luego no hay manera de conectarse con el IDE de micropython.
Trabajando sobre Mageia Linux 9 instalo mpremote en el ordenador. Me advierte de que puede haber problemas si se ejecuta como administrador:
pip install mpremote
Collecting mpremote
Downloading mpremote-1.23.0-py3-none-any.whl (27 kB)
Collecting pyserial>=3.3
Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 6.5 MB/s eta 0:00:00
Installing collected packages: pyserial, mpremote
Successfully installed mpremote-1.23.0 pyserial-3.5
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Me ha dejado instalar la biblioteca:
bash-5.2$ ./install.sh -p /dev/ttyACM0
mkdir :lib
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
OSError: [Errno 17] EEXIST
mkdir :lib/arduino_alvik
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
OSError: [Errno 17] EEXIST
cp arduino_alvik/__init__.py :lib/arduino_alvik/__init__.py
cp arduino_alvik/arduino_alvik.py :lib/arduino_alvik/arduino_alvik.py
cp arduino_alvik/constants.py :lib/arduino_alvik/constants.py
cp arduino_alvik/conversions.py :lib/arduino_alvik/conversions.py
cp arduino_alvik/pinout_definitions.py :lib/arduino_alvik/pinout_definitions.py
cp arduino_alvik/robot_definitions.py :lib/arduino_alvik/robot_definitions.py
cp arduino_alvik/stm32_flash.py :lib/arduino_alvik/stm32_flash.py
cp arduino_alvik/uart.py :lib/arduino_alvik/uart.py
Installing dependencies
Install github:arduino/ucPack-mpy
Installing github:arduino/ucPack-mpy/package.json to /lib
Installing: /lib/ucPack/__init__.py
Installing: /lib/ucPack/ucPack.py
Installing: /lib/ucPack/CircularBuffer.py
Done
Pero se eterniza actualizando el firmware tanto de usuario normal como de administrador:
./flash_firmware.sh -p /dev/ttyACM0 firmware_1_0_1.bin
Uploading firmware_1_0_1.bin...
^CTraceback (most recent call last):
File "/usr/lib64/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib64/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.10/site-packages/mpremote/__main__.py", line 6, in <module>
sys.exit(main.main())
File "/usr/local/lib/python3.10/site-packages/mpremote/main.py", line 528, in main
handler_func(state, args)
File "/usr/local/lib/python3.10/site-packages/mpremote/commands.py", line 110, in do_filesystem
state.ensure_raw_repl()
File "/usr/local/lib/python3.10/site-packages/mpremote/main.py", line 470, in ensure_raw_repl
self.transport.enter_raw_repl(soft_reset=soft_reset)
File "/usr/local/lib/python3.10/site-packages/mpremote/transport_serial.py", line 152, in enter_raw_repl
data = self.read_until(1, b"raw REPL; CTRL-B to exit\r\n>")
File "/usr/local/lib/python3.10/site-packages/mpremote/transport_serial.py", line 118, in read_until
data = self.serial.read(min_num_bytes)
File "/usr/local/lib/python3.10/site-packages/serial/serialposix.py", line 565, in read
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
KeyboardInterrupt``
bash-5.2$ su
Contraseña:
[root@Durin utilities]# ./flash_firmware.sh -p /dev/ttyACM0 firmware_1_0_1.bin
Uploading firmware_1_0_1.bin...
^CTraceback (most recent call last):
File "/usr/lib64/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib64/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.10/site-packages/mpremote/__main__.py", line 6, in <module>
sys.exit(main.main())
File "/usr/local/lib/python3.10/site-packages/mpremote/main.py", line 528, in main
handler_func(state, args)
File "/usr/local/lib/python3.10/site-packages/mpremote/commands.py", line 110, in do_filesystem
state.ensure_raw_repl()
File "/usr/local/lib/python3.10/site-packages/mpremote/main.py", line 470, in ensure_raw_repl
self.transport.enter_raw_repl(soft_reset=soft_reset)
File "/usr/local/lib/python3.10/site-packages/mpremote/transport_serial.py", line 152, in enter_raw_repl
data = self.read_until(1, b"raw REPL; CTRL-B to exit\r\n>")
File "/usr/local/lib/python3.10/site-packages/mpremote/transport_serial.py", line 118, in read_until
data = self.serial.read(min_num_bytes)
File "/usr/local/lib/python3.10/site-packages/serial/serialposix.py", line 565, in read
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
KeyboardInterrupt
Con mpremote he podido subir los archivos de la demo estándar, pero sigue sin conectarse a la placa Arduino Lab for Micropython.
En resumen, el robot funciona
(gracias), pero el interfaz sigue sin reconocerlo
.