MicroPython-Fernsteuerung: mpremote¶
Das Kommandozeilen-Werkzeug mpremote bietet eine integrierte Sammlung von Hilfsprogrammen, um über eine serielle Verbindung mit einem MicroPython-Gerät zu interagieren, dessen Dateisystem zu verwalten und es zu automatisieren. Es funktioniert mit allen OpenMV Cams über deren serielle USB-Verbindung und ist eine Kommandozeilen-Alternative zu OpenMV IDE für Skripting- und Automatisierungs-Workflows.
Um mpremote zu verwenden, installieren Sie es zunächst über pip:
$ pip install --user mpremote
Oder über pipx:
$ pipx install mpremote
Der einfachste Weg, dieses Werkzeug zu verwenden, besteht darin, es einfach ohne Argumente aufzurufen:
$ mpremote
Dieser Befehl erkennt automatisch das erste verfügbare serielle USB-Gerät, verbindet sich damit und stellt ein interaktives Terminal bereit, über das Sie auf die REPL und die Ausgabe Ihres Programms zugreifen können. Serielle Ports werden im exklusiven Modus geöffnet, sodass eine zweite (oder dritte usw.) Instanz von mpremote sich mit weiteren seriellen Geräten verbindet, falls solche verfügbar sind.
Zusätzlich erlaubt pipx Ihnen auch, mpremote direkt auszuführen, ohne es zuvor zu installieren:
$ pipx run mpremote ...args
Befehle¶
mpremote unterstützt die Übergabe einer Reihe von Befehlen auf der Kommandozeile, die nacheinander verschiedene Aktionen auf einem entfernten MicroPython-Gerät ausführen. Siehe den Beispielabschnitt weiter unten, um einen Eindruck davon zu bekommen, wie das funktioniert, und für einige gängige Kombinationen von Befehlen.
Jeder Befehl hat die Form <command name> [--options] [args...]. Bei Befehlen, die mehrere Argumente unterstützen (z. B. eine Liste von Dateien), kann die Argumentliste mit + abgeschlossen werden.
Wenn kein Befehl angegeben wird, ist der Standardbefehl repl. Wenn außerdem ein Befehl auf das Gerät zugreifen muss und kein vorheriges connect angegeben wurde, wird implizit ein connect auto hinzugefügt.
Um das Gerät für jeden Aktionsbefehl (außer repl) in einen bekannten Zustand zu versetzen, stoppt mpremote nach dem Verbinden jedes laufende Programm und führt einen Soft-Reset des Geräts durch, bevor der erste Befehl ausgeführt wird. Sie können dieses Verhalten mit den Befehlen resume und soft-reset steuern. Siehe Auto-Verbindung und Auto-Soft-Reset für weitere Details.
Es können mehrere Befehle angegeben werden, die dann nacheinander ausgeführt werden.
Die vollständige Liste der unterstützten Befehle lautet:
connect¶
Verbindung zum angegebenen Gerät über den Namen herstellen:
$ mpremote connect <device>
<device> kann eines der folgenden sein:
list: verfügbare Geräte auflistenauto: mit dem ersten verfügbaren seriellen USB-Port verbindenid:<serial>: mit dem Gerät mit der USB-Seriennummer<serial>verbinden (die zweite Spalte aus der Ausgabe des Befehlsconnect list)port:<path>: mit dem Gerät unter dem angegebenen Pfad verbinden (die erste Spalte aus der Ausgabe des Befehlsconnect list)rfc2217://<host>:<port>: mit dem Gerät über seriell-über-TCP verbinden (z. B. ein über das Netzwerk verfügbarer serieller Port auf Basis von RFC2217)jeder gültige Gerätename/-pfad, um sich mit diesem Gerät zu verbinden
Hinweis: Anstelle des Befehls connect gibt es mehrere vordefinierte Kurzbefehle für gängige Gerätepfade. Zum Beispiel entspricht der Kurzbefehl a0 dem Befehl connect /dev/ttyACM0 (Linux), oder c1 entspricht COM1 (Windows).
Hinweis: Die Option auto erkennt nur serielle USB-Ports, d. h. einen seriellen Port mit einer zugehörigen USB-VID/PID (also CDC/ACM- oder FTDI-artige Geräte). Andere Arten von seriellen Ports werden nicht automatisch erkannt.
disconnect¶
Aktuelles Gerät trennen:
$ mpremote disconnect
Nach einem Disconnect ist Auto-Soft-Reset aktiviert.
resume¶
Bestehenden Interpreter-Zustand für nachfolgende Befehle beibehalten:
$ mpremote resume
Dies deaktiviert Auto-Soft-Reset. Das ist nützlich, wenn Sie einen nachfolgenden Befehl auf einem Board ausführen möchten, ohne es zuvor per Soft-Reset zurückzusetzen.
soft-reset¶
Einen Soft-Reset des Geräts durchführen:
$ mpremote soft-reset
Dies löscht den Python-Heap und startet den Interpreter neu. Es verhindert außerdem, dass der nachfolgende Befehl einen Auto-Soft-Reset auslöst.
repl¶
Die REPL auf dem verbundenen Gerät betreten:
$ mpremote repl [--options]
Die Optionen sind:
--escape-non-printable, um nicht druckbare Bytes/Zeichen als ihren Hex-Code auszugeben--capture <file>, um die Ausgabe der REPL-Sitzung in der angegebenen Datei aufzuzeichnen--inject-code <string>, um Zeichen anzugeben, die an der REPL eingefügt werden, wennCtrl-Jgedrückt wird. Damit können Sie einen häufigen Befehl automatisieren.--inject-file <file>, um eine Datei anzugeben, die an der REPL eingefügt wird, wennCtrl-Kgedrückt wird. Damit können Sie eine Datei ausführen (z. B. eine, die nützlichen Setup-Code enthält, oder sogar das Programm, an dem Sie gerade arbeiten).
Während der Befehl repl läuft, können Sie Ctrl-] oder Ctrl-x verwenden, um ihn zu beenden.
Hinweis: Der Name „REPL“ spiegelt hier den gängigen Gebrauch dieses Befehls wider, um auf die Read-Eval-Print-Loop zuzugreifen, die auf dem MicroPython-Gerät läuft. Streng genommen fungiert der Befehl repl lediglich als Terminal (oder „serieller Monitor“), um auf das Gerät zuzugreifen. Da dieser Befehl das Auto-Reset-Verhalten nicht auslöst, bedeutet das: Wenn gerade ein Programm läuft, müssen Sie es zunächst mit Ctrl-C unterbrechen, um zur REPL zu gelangen, was Ihnen dann den Zugriff auf den Programmzustand ermöglicht. Sie können auch mpremote soft-reset repl verwenden, um eine „saubere“ REPL mit vollständig gelöschtem Programmzustand zu erhalten.
eval¶
Das Ergebnis eines Python-Ausdrucks auswerten und ausgeben:
$ mpremote eval <string>
exec¶
Den angegebenen Python-Code ausführen:
$ mpremote exec <string>
Standardmäßig zeigt mpremote exec jede Ausgabe des Ausdrucks an, bis dieser beendet ist. Mit dem Flag --no-follow kann angegeben werden, dass sofort zurückgekehrt wird und das Gerät den Ausdruck im Hintergrund weiter ausführt.
run¶
Ein Skript aus dem lokalen Dateisystem ausführen:
$ mpremote run <file.py>
Dies führt die Datei direkt aus dem RAM des Geräts aus, ohne sie in das Dateisystem zu kopieren. Das ist eine sehr nützliche Methode, um bei der Entwicklung eines einzelnen Codestücks zu iterieren, ohne sich um dessen Bereitstellung im Dateisystem kümmern zu müssen.
Standardmäßig zeigt mpremote run jede Ausgabe des Skripts an, bis dieses beendet ist. Mit dem Flag --no-follow kann angegeben werden, dass sofort zurückgekehrt wird und das Gerät das Skript im Hintergrund weiter ausführt.
fs¶
Dateisystembefehle auf dem Gerät ausführen:
$ mpremote fs <sub-command>
<sub-command> kann sein:
cat <file..>um den Inhalt einer oder mehrerer Dateien auf dem Gerät anzuzeigenlsum das aktuelle Verzeichnis aufzulistenls <dirs...>um die angegebenen Verzeichnisse aufzulistencp [-rf] <src...> <dest>um Dateien zu kopierenrm [-r] <src...>um Dateien oder Ordner auf dem Gerät zu entfernenmkdir <dirs...>um Verzeichnisse auf dem Gerät zu erstellenrmdir <dirs...>um Verzeichnisse auf dem Gerät zu entfernentouch <file..>um die Dateien zu erstellen (falls sie noch nicht existieren)sha256sum <file..>um die SHA256-Summe von Dateien zu berechnentree [-vsh] <dirs...>um einen Baum der angegebenen Verzeichnisse auszugeben
Der Befehl cp verwendet eine Konvention, bei der ein vorangestellter : einen entfernten Pfad darstellt. Ohne vorangestellten : ist ein lokaler Pfad gemeint. Dies basiert auf der Konvention, die vom Secure Copy Protocol (scp) client verwendet wird.
So kopiert beispielsweise mpremote fs cp main.py :main.py die Datei main.py aus dem aktuellen lokalen Verzeichnis in das entfernte Dateisystem, während mpremote fs cp :main.py main.py die Datei main.py vom Gerät zurück in das aktuelle Verzeichnis kopiert.
Der Befehl mpremote rm -r akzeptiert sowohl relative als auch absolute Pfade. Verwenden Sie :, um auf das aktuelle entfernte Arbeitsverzeichnis (cwd) zu verweisen, damit ein Verzeichnisbaum aus dem Standardpfad des Geräts (z. B. /flash, /) entfernt werden kann. Verwenden Sie -v/--verbose, um die entfernten Dateien zu sehen.
Zum Beispiel:
mpremote rm -r :libsentfernt das Verzeichnislibsund alle seine untergeordneten Elemente vom Gerät.mpremote rm -rv :/sdentfernt alle Dateien von einer eingehängten SD-Karte und führt zu einer nicht blockierenden Warnung. Die Einhängung bleibt erhalten.mpremote rm -rv :/entfernt alle Dateien auf dem Gerät, einschließlich solcher, die sich in eingehängten VFS wie/sdoder/flashbefinden. Nach dem Entfernen aller Ordner und Dateien wird zudem ein Fehler zurückgegeben, um das Unix-Verhalten vonrm -rf /nachzuahmen.
Warnung
Es gibt keine unterstützte Möglichkeit, Dateien wiederherzustellen, die durch mpremote rm -r : entfernt wurden. Bitte mit Vorsicht verwenden.
Der Befehl tree gibt einen Baum der angegebenen Verzeichnisse aus. Mit der Option --size/-s wird die Größe jeder Datei ausgegeben, oder verwenden Sie --human/-h für ein besser lesbares Format. Hinweis: Die Verzeichnisgröße wird nur ausgegeben, wenn das Dateisystem des Geräts eine von null verschiedene Größe meldet. Mit der Option -v kann der Name des seriellen Geräts in die Ausgabe einbezogen werden.
Alle anderen Befehle nehmen implizit an, dass der Pfad ein entfernter Pfad ist, aber der : kann optional zur Verdeutlichung verwendet werden.
Alle Dateisystem-Unterbefehle nehmen mehrere Pfadargumente an, sodass Sie, falls ein weiterer Befehl in der Sequenz folgt, + verwenden müssen, um die Argumente abzuschließen, z. B.
$ mpremote fs cp main.py :main.py + repl
Dies kopiert die Datei auf das Gerät und betritt dann die REPL. Das + verhindert, dass "repl" als Pfad interpretiert wird.
Der Befehl cp unterstützt die Option -r für eine rekursive Kopie. Standardmäßig überspringt cp das Kopieren von Dateien auf das entfernte Gerät, wenn der SHA256-Hash der Quell- und Zieldatei übereinstimmt. Um eine Kopie unabhängig vom Hash zu erzwingen, verwenden Sie die Option -f.
Hinweis: Der Einfachheit halber sind alle Dateisystem-Unterbefehle auch als reguläre Befehle aliasiert, d. h. Sie können mpremote cp ... anstelle von mpremote fs cp ... schreiben.
df¶
Freien/belegten Speicherplatz des Geräts abfragen:
$ mpremote df
Der Befehl df gibt Größen-/Belegt-/Frei-Statistiken für das Dateisystem des Geräts aus, ähnlich dem Unix-Befehl df.
edit¶
Eine Datei auf dem Gerät bearbeiten:
$ mpremote edit <files...>
Der Befehl edit kopiert jede Datei vom Gerät in ein lokales temporäres Verzeichnis und startet dann Ihren Editor für jede Datei (festgelegt durch die Umgebungsvariable $EDITOR). Wenn der Editor erfolgreich beendet wird, wird die aktualisierte Datei zurück auf das Gerät kopiert.
mip¶
Pakete aus micropython-lib (oder GitHub) mit dem mip-Werkzeug installieren:
$ mpremote mip install <packages...>
Siehe Paketverwaltung für weitere Informationen.
mount¶
Das lokale Verzeichnis auf dem entfernten Gerät einhängen:
$ mpremote mount [options] <local-dir>
Dies ermöglicht es dem entfernten Gerät, das lokale Host-Verzeichnis so zu sehen, als wäre es sein eigenes Dateisystem. Das ist nützlich für die Entwicklung und vermeidet die Notwendigkeit, Dateien auf das Gerät zu kopieren, während Sie an ihnen arbeiten.
Das Gerät installiert einen Dateisystemtreiber, der dann im Geräte-VFS als /remote eingehängt wird und die serielle Verbindung zu mpremote als Seitenkanal für den Zugriff auf Dateien nutzt. Das aktuelle Arbeitsverzeichnis des Geräts wird (über os.chdir) auf /remote gesetzt, sodass Imports und Dateizugriffe dort statt im Standard-Dateisystempfad erfolgen, solange die Einhängung aktiv ist.
Hinweis: Wenn dem Befehl mount kein weiterer Aktionsbefehl in der Sequenz folgt, wird implizit ein repl-Befehl am Ende der Sequenz hinzugefügt.
Während der Nutzung löst Ctrl-D wie gewohnt einen Soft-Reset aus, aber die Einhängung wird automatisch wieder verbunden. Wenn das Gerät jedoch beim Start eine main.py ausführt, kann die erneute Einhängung nicht erfolgen. In diesem Fall kann ein Soft-Reboot im Raw-Modus verwendet werden: Ctrl-A Ctrl-D zum Neustart, dann Ctrl-B, um zur normalen REPL zurückzukehren, woraufhin die Einhängung bereit ist.
Die Optionen sind:
-l,--unsafe-links: Standardmäßig wird ein Fehler ausgelöst, wenn das Gerät auf eine Datei oder ein Verzeichnis zugreift, die bzw. das außerhalb (eine oder mehrere Verzeichnisebenen darüber) des eingehängten lokalen Verzeichnisses liegt. Diese Option deaktiviert diese Prüfung für symbolische Links, sodass das Gerät symbolischen Links außerhalb des lokalen Verzeichnisses folgen kann.
unmount¶
Das lokale Verzeichnis vom entfernten Gerät aushängen:
$ mpremote umount
Dies geschieht automatisch, wenn mpremote beendet wird, kann aber in einer Sequenz verwendet werden, um eine frühere Einhängung auszuhängen, bevor nachfolgende Befehle ausgeführt werden.
romfs¶
ROMFS-Partitionen auf dem Gerät verwalten:
$ mpremote romfs <sub-command>
<sub-command> kann sein:
romfs queryum alle verfügbaren ROMFS-Partitionen und ihre Größe aufzulistenromfs [-o <output>] build <source>um ein ROMFS-Abbild aus dem angegebenen Quellverzeichnis zu erstellen; die Standard-Ausgabedatei ist die Quelle mit angehängtem.romfsromfs [-p <partition>] deploy <source>um ein ROMFS-Abbild auf dem Gerät bereitzustellen; erstellt außerdem ein temporäres ROMFS-Abbild, wenn die Quelle ein Verzeichnis ist
Die Unterbefehle build und deploy unterstützen beide die Option -m/--mpy, um beim Erstellen des ROMFS-Abbilds automatisch .py-Dateien zu .mpy zu kompilieren. Diese Option ist standardmäßig aktiviert, funktioniert aber nur, wenn das Python-Paket mpy_cross installiert wurde (z. B. über pip install mpy_cross). Wenn das Paket nicht installiert ist, wird eine Warnung ausgegeben und die .py-Dateien bleiben unverändert. Das Kompilieren von .py-Dateien kann mit der Option --no-mpy deaktiviert werden.
rtc¶
Die Geräteuhr (RTC) setzen/abfragen:
$ mpremote rtc
Dies fragt die RTC des Geräts nach der aktuellen Zeit ab und gibt sie als datetime-Tupel aus.
$ mpremote rtc --set
Dies setzt die RTC des Geräts auf die aktuelle Zeit des Host-PCs.
sleep¶
Vor der Ausführung des nächsten Befehls schlafen (verzögern):
$ mpremote sleep 0.5
Dies pausiert die Ausführung der Befehlssequenz für die angegebene Dauer in Sekunden, z. B. um darauf zu warten, dass das Gerät etwas tut.
reset¶
Hard-Reset des Geräts durchführen:
$ mpremote reset
Hinweis: Ein Hard-Reset entspricht machine.reset().
bootloader¶
Den Bootloader betreten:
$ mpremote bootloader
Dies versetzt das Gerät in seinen Bootloader. Der Bootloader ist board-spezifisch — siehe den Abschnitt Recovery and debug pins in der Kurzreferenz Ihres Boards für Details.
Auto-Verbindung und Soft-Reset¶
Verbindung und Trennung werden zu Beginn und am Ende der Ausführung des Werkzeugs automatisch durchgeführt, wenn solche Befehle nicht explizit angegeben werden. Die automatische Verbindung sucht nach dem ersten verfügbaren seriellen USB-Gerät.
Sobald die Verbindung zu einem Gerät hergestellt ist, führt mpremote bei Bedarf automatisch einen Soft-Reset des Geräts durch. Dies löscht den Python-Heap und startet den Interpreter neu, um sicherzustellen, dass nachfolgender Python-Code in einer frischen Umgebung ausgeführt wird. Ein Auto-Soft-Reset wird beim ersten Mal durchgeführt, wenn einer der folgenden Befehle ausgeführt wird: mount, eval, exec, run, fs. Nachdem ein Soft-Reset zum ersten Mal durchgeführt wurde, erfolgt er nicht erneut automatisch, bis ein disconnect-Befehl ausgegeben wird.
Das Auto-Soft-Reset-Verhalten kann mit dem Befehl resume gesteuert werden. Dies kann nützlich sein, um mit dem Befehl eval den Zustand des Geräts zu untersuchen. Der Befehl soft-reset kann verwendet werden, um inmitten einer Befehlssequenz einen expliziten Soft-Reset durchzuführen.
Kurzbefehle¶
Kurzbefehle können über das Makro-System definiert werden. Eingebaute Kurzbefehle sind:
devs: Alias fürconnect lista0,a1,a2,a3: Aliase fürconnect /dev/ttyACMnu0,u1,u2,u3: Aliase fürconnect /dev/ttyUSBnc0,c1,c2,c3: Aliase fürconnect COMncat,edit,ls,cp,rm,mkdir,rmdir,touch: Aliase fürfs <sub-command>
Zusätzliche Kurzbefehle können in der Benutzerkonfigurationsdatei mpremote/config.py definiert werden, die sich im Benutzerkonfigurationsverzeichnis befindet. Der korrekte Speicherort für jedes Betriebssystem wird mithilfe des Moduls platformdirs ermittelt.
Dies ist typischerweise: - $XDG_CONFIG_HOME/mpremote/config.py - $HOME/.config/mpremote/config.py - $env:LOCALAPPDATA/mpremote/config.py
Die Datei config.py sollte ein Dictionary mit dem Namen commands definieren. Die Schlüssel dieses Dictionarys sind die Kurzbefehle und die Werte sind entweder ein String oder eine Liste von Strings:
"c33": "connect id:334D335C3138",
Der Befehl c33 wird durch connect id:334D335C3138 ersetzt.
"test": ["mount", ".", "exec", "import test"],
Der Befehl test wird durch mount . exec "import test" ersetzt.
Kurzbefehle können auch Argumente akzeptieren. Zum Beispiel:
"multiply x=4 y=7": "eval x*y",
Das Ausführen von mpremote multiply 3 7 setzt x und y als Variablen auf dem Gerät und wertet dann den Ausdruck x*y aus.
Eine Beispiel-config.py könnte so aussehen:
commands = {
"c33": "connect id:334D335C3138", # Connect to a specific device by ID.
"bl": "bootloader", # Shorter alias for 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)
""",], # Print out nearby WiFi networks.
"wl_ipconfig": [
"exec",
"import network; sta_if = network.WLAN(network.WLAN.IF_STA); print(sta_if.ipconfig('addr4'))",
], # Print ip address of station interface.
"test": ["mount", ".", "exec", "import test"], # Mount current directory and run test.py.
"demo": ["run", "path/to/demo.py"], # Execute demo.py on the device.
}
Beispiele¶
mpremote
Mit dem ersten verfügbaren Gerät verbinden und implizit den Befehl repl ausführen.
mpremote a1
Mit dem Gerät unter /dev/ttyACM1 (Linux) verbinden und implizit den Befehl repl ausführen. Siehe Kurzbefehle oben.
mpremote c1
Mit dem Gerät unter COM1 (Windows) verbinden und implizit den Befehl repl ausführen. Siehe Kurzbefehle oben.
mpremote connect /dev/ttyUSB0
Explizit angeben, mit welchem Gerät verbunden werden soll, und wie oben implizit den Befehl repl ausführen.
mpremote a1 ls
Mit dem Gerät unter /dev/ttyACM1 verbinden und dann den Befehl ls ausführen.
Es entspricht mpremote connect /dev/ttyACM1 fs ls.
mpremote exec "import micropython; micropython.mem_info()"
Den angegebenen Python-Befehl ausführen und jede Ausgabe anzeigen. Dies entspricht der Eingabe des Befehls an der REPL-Eingabeaufforderung.
mpremote eval 1/2 eval 3/4
Jeden Ausdruck der Reihe nach auswerten und die Ergebnisse ausgeben.
mpremote a0 eval 1/2 a1 eval 3/4
1/2 auf dem Gerät unter /dev/ttyACM0 auswerten, dann 3/4 auf dem Gerät unter /dev/ttyACM1, und jedes Ergebnis ausgeben.
mpremote resume exec "print_state_info()" soft-reset
Mit dem Gerät verbinden, ohne einen Soft-Reset auszulösen, und die Funktion print_state_info() ausführen (z. B. um Informationen über den aktuellen Programmzustand zu erhalten), und dann einen Soft-Reset auslösen.
mpremote reset sleep 0.5 bootloader
Einen Hard-Reset des Geräts durchführen, 500 ms warten, bis es verfügbar wird, und dann den Bootloader betreten.
mpremote cp utils/driver.py :utils/driver.py + run test.py
Die Kopie von utils/driver.py auf dem Gerät aktualisieren und dann das lokale Skript test.py auf dem Gerät ausführen. test.py wird niemals in das Dateisystem des Geräts kopiert, sondern aus dem RAM ausgeführt.
mpremote cp utils/driver.py :utils/driver.py + exec "import app"
Die Kopie von utils/driver.py auf dem Gerät aktualisieren und dann app.py auf dem Gerät ausführen.
Dies ist ein gängiger Entwicklungs-Workflow, um eine einzelne Datei zu aktualisieren und dann Ihr Programm neu zu starten. In diesem Szenario würde Ihre main.py auf dem Gerät ebenfalls ein import app durchführen.
mpremote cp utils/driver.py :utils/driver.py + soft-reset repl
Die Kopie von utils/driver.py auf dem Gerät aktualisieren, dann einen Soft-Reset auslösen, um Ihr Programm neu zu starten, und dann die Ausgabe über den Befehl repl überwachen.
mpremote cp -r utils/ :utils/ + soft-reset repl
Wie oben, aber zuerst das gesamte utils-Verzeichnis aktualisieren.
mpremote mount .
Das aktuelle lokale Verzeichnis unter /remote auf dem Gerät einhängen und eine repl-Sitzung starten, die /remote als Arbeitsverzeichnis verwendet.
mpremote mount . exec "import demo"
Nach dem Einhängen des aktuellen lokalen Verzeichnisses demo.py aus dem eingehängten Verzeichnis ausführen.
mpremote mount app run test.py
Nach dem Einhängen des lokalen Verzeichnisses app als /remote auf dem Gerät die lokale test.py aus dem aktuellen Verzeichnis des Hosts ausführen, ohne sie in das Dateisystem zu kopieren.
mpremote mount . repl --inject-code "import demo"
Nach dem Einhängen des aktuellen lokalen Verzeichnisses demo.py aus dem eingehängten Verzeichnis jedes Mal ausführen, wenn Ctrl-J gedrückt wird.
Sie müssen zunächst Ctrl-D drücken, um den Interpreter-Zustand zurückzusetzen (wobei die Einhängung erhalten bleibt), bevor Sie Ctrl-J drücken, um demo.py erneut zu importieren.
mpremote mount app repl --inject-file demo.py
Wie oben, aber führt den Inhalt der lokalen Datei demo.py an der REPL jedes Mal aus, wenn Ctrl-K gedrückt wird. Verwenden Sie wie oben zunächst Ctrl-D, um den Interpreter-Zustand zurückzusetzen.
mpremote cat boot.py
Zeigt den Inhalt von boot.py auf dem Gerät an.
mpremote edit utils/driver.py
utils/driver.py auf dem Gerät mit Ihrem lokalen $EDITOR bearbeiten.
mpremote cp :main.py .
main.py vom Gerät in das lokale Verzeichnis kopieren.
mpremote cp main.py :
main.py aus dem lokalen Verzeichnis auf das Gerät kopieren.
mpremote cp :a.py :b.py
a.py auf dem Gerät nach b.py auf dem Gerät kopieren.
mpremote cp -r dir/ :
Das lokale Verzeichnis dir rekursiv auf das entfernte Gerät kopieren.
mpremote cp a.py b.py : + repl
a.py und b.py aus dem lokalen Verzeichnis auf das Gerät kopieren und dann den Befehl repl ausführen.
mpremote mip install aioble
Das Paket aioble aus micropython-lib auf dem Gerät installieren. Siehe Paketverwaltung.
mpremote mip install github:org/repo@branch
Das Paket aus dem angegebenen Branch unter org/repo auf GitHub auf dem Gerät installieren. Siehe Paketverwaltung.
mpremote mip install gitlab:org/repo@branch
Das Paket aus dem angegebenen Branch unter org/repo auf GitLab auf dem Gerät installieren. Siehe Paketverwaltung.
mpremote mip install --target /flash/third-party functools
Das Paket functools aus micropython-lib in das Verzeichnis /flash/third-party auf dem Gerät installieren. Siehe Paketverwaltung.