Modifications

Sauter à la navigation Sauter à la recherche
12 016 octets ajoutés ,  7 décembre 2016 à 21:14
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{traduction}}
 
{{traduction}}
 +
 +
== Préambule ==
 +
Voici une traduction libre de la documentation de l'outil RShell écrit par Daniel Hylands.
 +
 +
C'est un outil très intéressant pour réaliser des développements MicroPython.
 +
 +
Il est aussi beaucoup plus complet que [[FEATHER-CHARGER-FICHIER-MICROPYTHON|Ampy]] (Adafruit), il faudra donc investir un peu plus de temps pour le maîtriser. 
 +
 +
Vous trouverez [https://github.com/dhylands/rshell RShell ici sur GitHub]
 +
== RShell sur ESP8266 ==
 +
 +
{{ambox-stop|text=Il est impératif de réduire la taille du buffer à 128 octets sur un ESP8266 sinon vous risquez d'écraser le système de fichier votre ESP8266... auquel cas il faudra reflasher votre carte}}
 +
 +
<nowiki>rshell --port /dev/ttyUSB0 --baud 115200 --buffer-size 128 --editor nano</nowiki>
 +
 +
Nous avons également un petit script shell [https://github.com/mchobby/esp8266-upy/blob/master/rshell-esp8266.sh rsheel-esp8266.sh] pour faciliter faciliter le démarrage de rshell pour un esp8266.
 +
 
== RShell: Remote Shell for MicroPython ==
 
== RShell: Remote Shell for MicroPython ==
 +
Le shell distant (en ''remote'') pour MicroPython
 +
 +
This is a simple shell which runs on the host and uses MicroPython's
 +
raw-REPL to send python snippets to the pyboard in order to get
 +
filesystem information, and to copy files to and from MicroPython's
 +
filesystem.
 +
 +
It also has the ability to invoke the regular REPL, so rshell can be
 +
used as a terminal emulator as well.
 +
 +
Note: With rshell you can disable USB Mass Storage and still copy files
 +
into and out of your pyboard.
 +
 +
When using the commands, the /flash directory, and the /sdcard directory
 +
(if an sdcard is inserted) are considered to be on the pyboard, and all
 +
other directories are considered to be on the host.
 +
 +
NOTE: rshell requires a fairly recent version of the MicroPython
 +
firmware, specifically one which contains the ubinascii.unhexlify
 +
command which was added May 19, 2015 (v1.4.3-28-ga3a14b9 or newer).
 +
 +
If your verion of the firmware isn't new enough, then you'll see an
 +
error message something like this:
 +
 +
::
 +
 +
    >./rshell.py
 +
    rshell needs MicroPython firmware with ubinascii.unhexlify
 +
 +
Installation
 +
============
 +
 +
You can install rshell using the command:
 +
 +
::
 +
 +
    sudo pip3 install rshell
 +
 +
If you use a virtualenv, then you don't need the sudo. rshell needs Python3.
 +
All of my testing was done using version 3.4.0.
 +
 +
Debian/Ubuntu users can get pip3 using:
 +
 +
::
 +
 +
    sudo apt-get install python3-pip
 +
 +
Sample Session
 +
==============
 +
 +
This shows a pyboard in its default state, copying a hello.py and then
 +
entering the repl and importing it.
 +
 +
::
 +
 +
    >rshell
 +
    Welcome to rshell. Use Control-D to exit.
 +
    /home/dhylands/Dropbox/micropython/rshell> ls -l /flash
 +
      529 May 21 17:34 README.txt
 +
      286 May 21 17:34 boot.py
 +
        34 May 21 17:34 main.py
 +
      2436 May 21 17:34 pybcdc.inf
 +
    /home/dhylands/Dropbox/micropython/rshell> cp hello.py /flash
 +
    /home/dhylands/Dropbox/micropython/rshell> ls -l /flash
 +
      529 May 21 17:34 README.txt
 +
      286 May 21 17:34 boot.py
 +
        21 May 21 17:35 hello.py
 +
        34 May 21 17:34 main.py
 +
      2436 May 21 17:34 pybcdc.inf
 +
    /home/dhylands/Dropbox/micropython/rshell> cat /flash/hello.py
 +
    print('Hello World')
 +
    /home/dhylands/Dropbox/micropython/rshell> repl
 +
    Entering REPL. Use Control-X to exit.
 +
 +
    Micro Python v1.4.3-28-ga3a14b9 on 2015-05-21; PYBv1.0 with STM32F405RG
 +
    Type "help()" for more information.
 +
    >>>
 +
    >>> import hello
 +
    Hello World
 +
    >>>
 +
    /home/dhylands/Dropbox/micropython/rshell>
 +
 +
Command Line Options
 +
====================
 +
 +
-h, --help
 +
----------
 +
 +
Displays a lit of the valid options. You should get something like the
 +
following displayed:
 +
 +
::
 +
 +
    usage: rshell [options] [command]
 +
 +
    Remote Shell for a MicroPython board.
 +
 +
    positional arguments:
 +
      cmd                  Optional command to execute
 +
 +
    optional arguments:
 +
      -h, --help            show this help message and exit
 +
      -b BAUD, --baud BAUD  Set the baudrate used (default = 115200)
 +
      --buffer-size BUFFER_SIZE
 +
                            Set the buffer size used for transfers (default = 512)
 +
      -p PORT, --port PORT  Set the serial port to use (default '/dev/ttyACM0')
 +
      -u USER, --user USER  Set username to use (default 'micro')
 +
      -w PASSWORD, --password PASSWORD
 +
                            Set password to use (default 'python')
 +
      -e EDITOR, --editor EDITOR
 +
                            Set the editor to use (default 'vi')
 +
      -f FILENAME, --file FILENAME
 +
                            Specifies a file of commands to process.
 +
      -d, --debug          Enable debug features
 +
      -n, --nocolor        Turn off colorized output
 +
      --wait                How long to wait for serial port
 +
      --timing              Print timing information about each command
 +
      --quiet              Turns off some output (useful for testing)
 +
 +
    You can specify the default serial port using the RSHELL_PORT environment
 +
    variable.
 +
 +
-b BAUD, --baud BAUD
 +
--------------------
 +
 +
Sets the baud rate to use when talking to the pyboard over a serial port. If
 +
no baud is specified, then the baudrate from the RSHELL_BAUD enviroinment
 +
variable is used. If the RSHELL_BAUD environment variable is not defined then
 +
the default baudrate of 115200 is used.
 +
 +
--buffer-size
 +
-------------
 +
 +
Sets the buffer size used when transferring files betweem the host and the
 +
pyboard. If no buffer size is specified, then the value from the
 +
RSHELL_BUFFER_SIZE environment variable is used. If the RSHELL_BUFFER_SIZE
 +
environment variable is not defined, then the default of 512 is used.
 +
 +
-d, --debug
 +
-----------
 +
 +
Turns on debugging. This allows you to see the script which is sent over
 +
the raw REPL and the response received.
 +
 +
-e EDITOR, --editor
 +
-------------------
 +
 +
Specifies the editor to use with the edit command. If no editor is specified,
 +
then the following environment variables will be searched: RSHELL_EDITOR,
 +
VISUAL, and EDITOR. If none of those environment variables is set then vi will
 +
be used.
 +
 +
-f FILENAME, --file FILENAME
 +
----------------------------
 +
 +
Specifies a file of rshell commands to process. This allows you to
 +
create a script which executes any valid rshell commands.
 +
 +
-n, --nocolor
 +
-------------
 +
 +
By default, rshell uses ANSI color escape codes when displaying the
 +
prompt and ls output. This option allows colorized output to be
 +
disabled.
 +
 +
--wait
 +
------
 +
 +
If a port is specified defines how long rshell will wait for the port to exist
 +
and for a connection to be established. The default is 0 seconds specifying an
 +
immediate return.
 +
 +
-p PORT, --port PORT
 +
--------------------
 +
 +
Specifies the serial port which should be used to talk to the
 +
MicroPython board. You can set the RSHELL\_PORT environment variable to
 +
specify the default port to be used, if --port is not specified on the
 +
command line.
 +
 +
--quiet
 +
-------
 +
 +
This option causes the Connecting messages printed when rshell starts to be
 +
suppressed. This is mostly useful the test scripts.
 +
 +
--timing
 +
--------
 +
 +
If the timing option is specified then rshell will print the amount of time
 +
that each command takes to execute.
 +
 +
-u USER, --user USER
 +
--------------------
 +
 +
Specifies the username to use when logging into a WiPy over telent. If no
 +
username is specified, then the username from the RSHELL_USER environment
 +
variable is used. If the RSHELL_USER environment variable doesn't exist
 +
then the default username 'micro' is used.
 +
 +
-w PASSWORD, --password PASSWORD
 +
--------------------------------
 +
 +
Specified the password to use when logging into a WiPy over telnet. If no
 +
password is specified, then the password from the RSHELL_PASSWORD environment
 +
variable is used. If the RSHELL_PASSWORD environment variable doesn't exist
 +
then the default password 'python' is used.
 +
 +
cmd
 +
---
 +
 +
If a command is specified, then that command will be executed and rshell will
 +
exit. Examples:
 +
 +
::
 +
 +
    rshell cp somefile.py /flash
 +
    rshell repl ~ pyb.bootloader() ~
 +
 +
File System
 +
===========
 +
 +
rshell can be connected to multiple pyboards simultaneously. If the
 +
board module exists on the pyboard (i.e. a file named board.py somewhere
 +
in the module search path) and it contains an attribute called name then
 +
the pyboard will use that name. If the board module can't be imported
 +
then the board will be named, pyboard or wipy. Names will have -1 (or
 +
some other number) to make the board name unique.
 +
 +
You can access the internal flash on the first board connected using
 +
/flash and the sd card on the first board connected can be accessed
 +
using /sd.
 +
 +
For all other connected pyboards, you can use /board-name/flash or
 +
/board-name/sd (you can see the board names using the boards command).
 +
 +
The boards command will show all of the connected pyboards, along with all of
 +
the directories which map onto that pyboard.
 +
 +
Commands
 +
========
 +
 +
args
 +
----
 +
 +
::
 +
 +
    args [arguments...]
 +
 +
Debug function for verifying argument parsing. This function just prints
 +
out each argument that it receives.
 +
 +
boards
 +
------
 +
 +
::
 +
 +
    boards
 +
 +
Lists all of the boards that rshell is currently connected to, their
 +
names, and the connection.
 +
 +
cat
 +
---
 +
 +
::
 +
 +
    cat FILENAME...
 +
 +
Concatinates files and sends to stdout.
 +
 +
cd
 +
--
 +
 +
::
 +
 +
    cd DIRECTORY
 +
 +
Changes the current directory. ~ expansion is supported, and cd - goes
 +
to the previous directory.
 +
 +
connect
 +
-------
 +
 +
::
 +
 +
    connect TYPE TYPE_PARAMS
 +
    connect serial port [baud]
 +
    connect telnet ip-address-or-name
 +
 +
Connects a pyboard to rshell. rshell can be connected to multiple
 +
pyboards simultaneously.
 +
 +
cp
 +
--
 +
 +
::
 +
 +
    cp SOURCE DEST
 +
    cp SOURCE... DIRECTORY
 +
 +
Copies the SOURCE file to DEST. DEST may be a filename or a directory
 +
name. If more than one source file is specified, then the destination
 +
should be a directory.
 +
 +
echo
 +
----
 +
 +
::
 +
 +
    echo TEXT...
 +
 +
Display a line of text.
 +
 +
edit
 +
----
 +
 +
::
 +
 +
    edit filename
 +
 +
If the file is on a pyboard, it copies the file to host, invokes an
 +
editor and if any changes were made to the file, it copies it back to
 +
the pyboard.
 +
 +
The editor which is used defaults to vi, but can be overridem using
 +
either the --editor command line option when rshell.py is invoked, or by
 +
using the RSHELL\_EDITOR, VISUAL or EDITOR environment variables (they
 +
are tried in the order listed).
 +
 +
filesize
 +
--------
 +
 +
::
 +
 +
    filesize FILE
 +
 +
Prints the size of the file, in bytes. This function is primarily
 +
testing.
 +
 +
filetype
 +
--------
 +
 +
::
 +
 +
    filetype FILE
 +
 +
Prints the type of file (dir or file). This function is primarily for
 +
testing.
 +
 +
help
 +
----
 +
 +
::
 +
 +
    help [COMMAND]
 +
 +
List available commands with no arguments, or detailed help when a
 +
command is provided.
 +
 +
ls
 +
--
 +
 +
::
 +
 +
    usage: ls [-a] [-l] FILE...
 +
 +
    List directory contents.
 +
 +
    positional arguments:
 +
      FILE        Files or directories to list
 +
 +
    optional arguments:
 +
      -h, --help  show this help message and exit
 +
      -a, --all  do not ignore hidden files
 +
      -l, --long  use a long listing format
 +
 +
mkdir
 +
-----
 +
 +
::
 +
 +
    mkdir DIRECTORY...
 +
 +
Creates one or more directories.
 +
 +
repl
 +
----
 +
 +
::
 +
 +
    repl [board-name] [~ line][ ~]
 +
 +
Enters into the regular REPL with the MicroPython board. Use Control-X
 +
to exit REPL mode and return the shell. It may take a second or two
 +
before the REPL exits.
 +
 +
If you provide a board-name then rshell will connect to that board,
 +
otherwise it will connect to the default board (first connected board).
 +
 +
If you provide a tilde followed by a space (~ ) then anything after the
 +
tilde will be entered as if you typed it on the command line.
 +
 +
If you want the repl to exit, end the line with the ~ character.
 +
 +
For example, you could use:
 +
 +
::
 +
 +
    rshell.py repl ~ pyb.bootloader()~
 +
 +
and it will boot the pyboard into DFU.
   −
Voici une traduction libre de la documentation de l'outil RSheel écrit par Daniel Hylands.
+
rm
 +
--
   −
Vous trouverez [https://github.com/dhylands/rshell RShell ici sur GitHub]
+
::
 +
 
 +
    usage: rm [-r|--recursive][-f|--force] FILE...
 +
 
 +
    Removes files or directories (directories must be empty).
 +
 
 +
    positional arguments:
 +
      FILE            File to remove
 +
 
 +
    optional arguments:
 +
      -h, --help      show this help message and exit
 +
      -r, --recursive  remove directories and their contents recursively
 +
      -f, --force      ignore nonexistant files and arguments
 +
 
 +
shell
 +
-----
 +
 
 +
The shell command can also be abbreviated using the exclamation point.
 +
 
 +
::
 +
 
 +
    shell some-command
 +
    !some-command
 +
 
 +
This will invoke a command, and return back to rshell. Example:
 +
 
 +
::
 +
 
 +
    !make deploy
 +
 
 +
will flash the pyboard.
29 879

modifications

Menu de navigation