Provided by: micropython-mpremote_0.4.0-0ubuntu1_all bug

NAME

       mpremote - MicroPython remote control

SYNOPSIS

       mpremote command [options] [+command ...]

       mpremote [--help]

       mpremote [--version]

DESCRIPTION

       The  mpremote  command  line  tool  provides an integrated set of utilities to remotely interact with and
       automate a MicroPython device over a serial connection.

       The simplest way to use this tool is just by invoking it without any arguments:

              mpremote

       This command automatically detects and connects to the first available  serial  device  and  provides  an
       interactive  REPL.   Serial  ports  are  opened  in  exclusive  mode, so running a second (or third, etc)
       instance of mpremote will connect to subsequent serial devices, if any are available.

OPTIONS

       --help Show a help message and exit.

       --version
              Show the program version and exit.

COMMANDS

       For REPL access, running mpremote without any arguments is usually all that  is  needed.   mpremote  also
       supports  a  set  of  commands  given  at  the  command line which will perform various actions on remote
       MicroPython devices.

       For commands that support multiple arguments (e.g. a list of files), the argument list can be  terminated
       with +.  The full list of supported commands are:

       connect [device]
              Connect to a specified device via a device-name shortcut.  device may be one of:

              auto   connect to the first available device

              list   list the available devices

              id:serial
                     connect  to  the  device with USB serial number serial (the second entry in the output from
                     the connect list command)

              port:path
                     connect to the device with the given path

              If the device is not specified, auto is assumed.

       disconnect
              Disconnects the current device.  After  a  disconnect,  auto  soft-reset  is  enabled  (see  AUTO-
              CONNECTION AND SOFT-RESET below).

       resume Resume  a  previous mpremote session. This disables auto soft-reset (see AUTO-CONNECTION AND SOFT-
              RESET below).

       soft-reset
              Perform a soft-reset of the device.   This  will  clear  out  the  Python  heap  and  restart  the
              interpreter.  It also disables auto soft-reset (see AUTO-CONNECTION AND SOFT-RESET below).

       repl [options]
              Enter the REPL on the connected device.  The available options are:

              --capture file
                     to capture output of the REPL session to the given file

              --inject-code string
                     to specify characters to inject at the REPL when Ctrl-J is pressed

              --inject-file file
                     to specify a file to inject at the REPL when Ctrl-K is pressed

       eval string
              Evaluate ahd print the result of a Python expression.

       exec string
              Execute the given Python code.

       run file
              Run a script from the local filesystem.

       fs subcommand
              Execute filesystem commands on the device.  subcommand may be:

              cat files...
                     to show the contents of a file or files on the device

              ls
              ls dirs...
                     to list the current, or specified directories

              cp [-r] src... dest
                     to copy files; use ":" as a prefix to specify a file on the device

              rm src...
                     to remove files on the device

              mkdir dirs...
                     to create directories on the device

              rmdir dirs...
                     to remove directories on the device

              touch files...
                     to create empty files (if they don't already exist)

       edit files...
              Edit  a  file  (or files) on the device. The edit command will copy each file from the device to a
              local temporary directory and then  launch  your  editor  (defined  by  the  environment  variable
              $EDITOR).  If the editor exits successfully, the updated file will be copied back to the device.

       mip install [options] packages...
              Install packages from micropython-lib (or GitHub) using the mip tool.  The available options are:

              --target path
                     Install  under  path instead of the default location (the first entry in sys.path ending in
                     /lib).  Please note that must exist in sys.path for you to be able to  subsequently  import
                     the package.

              --no-mpy
                     Install the source version .py files rather than .mpy).

              --index URL
                     Use the specified URL instead of the default package index at https://micropython.org/pi.

       mount [options] local-dir
              Mount  a local directory on the remote device (under the path /remote).  During usage, Ctrl-D will
              soft-reboot and normally reconnect the mount automatically.  If the unit has a main.py running  at
              startup however, the remount cannot occur.  In this case a raw mode soft reboot can be used: Ctrl-
              A Ctrl-D to reboot, then Ctrl-B to get back to normal repl at which point the mount will be ready.

              The available options are:

              -l, --unsafe-links
                     By  default  an  error  will  be raised if the device accesses a file or directory which is
                     outside (up one or more directory levels) the local directory that is mounted.  This option
                     disables this check for symbolic links,  allowing  the  device  to  follow  symbolic  links
                     outside of the local directory.

       umount Unmount the local directory from the remote device.

AUTO-CONNECTION AND SOFT-RESET

       Connection  and  disconnection  will  be  done automatically at the start and end of the execution of the
       tool, if such commands are not  explicitly  given.   Automatic  connection  will  search  for  the  first
       available serial device.  If no action is specified then the REPL will be entered.

       Once connected to a device, mpremote will automatically soft-reset the device if needed.  This clears the
       Python  heap  and  restarts  the interpreter, making sure that subsequent Python code executes in a fresh
       environment.  Auto soft-reset is performed the first time one of the  following  commands  are  executed:
       mount,  eval,  exec,  run,  fs.   After  doing a soft-reset for the first time, it will not be done again
       automatically, until a disconnect command is issued.

       Auto soft-reset behaviour can be controlled by the resume command. And the soft-reset command can be used
       to perform an explicit soft reset.

SHORTCUTS

       Shortcuts can be defined using the macro system. Built-in shortcuts are:

              devs   list available devices (shortcut for connect list)

              a0, a1, a2, a3
                     connect to /dev/ttyACMn

              u0, u1, u2, u3
                     connect to /dev/ttyUSBn

              c0, c1, c2, c3
                     connect to COMn

              cat, ls, cp, rm, mkdir, rmdir, touch, df
                     filesystem commands (mostly aliases for the fs equivalent)

              reset  reset the device

              bootloader
                     make the device enter its bootloader

       Any   user   configuration,   including   user-defined   shortcuts,   can   be   placed   in   the   file
       ~/.config/mpremote/config.py.  For example:

              commands = {
                  "c33": "connect id:334D335C3138",
                  "bl": "bootloader",
                  "double x=4": "eval x*2",  # x is an argument, with default 4
                  "wl_scan": ["exec", """
              import network
              wl = network.WLAN()
              wl.active(1)
              for ap in wl.scan():
                  print(ap)
              """,],
                  "test": ["mount", ".", "exec", "import test"],
              }

EXAMPLES

       mpremote
              Launch a repl on the automatically detected device.

       mpremote a1
              Launch a repl on the device connected to port /dev/ttyACM1 (using the built-in a1 shortcut).

       mpremote connect /dev/ttyUSB0 repl
              Launch a repl on the device connect to port /dev/ttyUSB0.

       mpremote ls
              List files on the automatically detected device.

       mpremote a1 ls
              List files on the device connected to port /dev/ttyACM1 (using the built-in a1 shortcut).

       mpremote exec import micropython; micropython.mem_info()
              Execute some Python code on the remote board to obtain various memory statistics.

       mpremote eval 1/2 eval 3/4
              Execute  (and show the output of) two simple Python statements on the remote board. Note that no +
              was required because eval accepts a single string argument.

       mpremote mount .
              Mount the local directory under /remote on the automatically detected device.

       mpremote mount . exec "import localscript"
              Mount the local directory under /remote on the MicroPython board, then  import  the  "localscript"
              module

       mpremote cat boot.py
              Show the contents of boot.py on the MicroPython board.

       mpremote cp :main.py .
              Copy the main.py file from the (remote) MicroPython board to the current (local) directory.

       mpremote cp main.py :
              Copy the main.py from the current (local) directory to the (remote) MicroPython board.

       mpremote cp :a.py :b.py
              On the MicroPython board, copy a.py to b.py.

       mpremote cp -r dir/ :
              Recursively copy the local directory dir/ to the root directory of the (remote) MicroPython board.

       mpremote cp a.py b.py : + repl
              Copy  the  local files a.py and b.py to the root directory of the (remote) MicroPython board, then
              launch a repl.  Note that the + terminator is required here as the cp command takes  an  arbitrary
              number of parameters.

       mpremote mip install aioble
              Install the asyncio-based wrapper for the Bluetooth API.

       mpremote mip install github:org/repo@branch
              Install the branch of the MicroPython package located under org/repo on GitHub.

       mpremote mip install --target /flash/third-party functools
              Install the functools package under the /flash/third-party directory on the MicroPython board.

SEE ALSO

       micropython(1)

                                                                                                     mpremote(1)