MicroPython op afstand bedienen: mpremote

Het opdrachtregelprogramma mpremote biedt een geïntegreerde set hulpmiddelen om op afstand te communiceren met een MicroPython-apparaat, het bestandssysteem ervan te beheren en het te automatiseren via een seriële verbinding. Het werkt met alle OpenMV Cams via hun USB-seriële verbinding en is een opdrachtregelalternatief voor OpenMV IDE voor scripting- en automatiseringsworkflows.

Om mpremote te gebruiken, installeer je het eerst via pip:

$ pip install --user mpremote

Of via pipx:

$ pipx install mpremote

De eenvoudigste manier om dit hulpmiddel te gebruiken is door het zonder argumenten aan te roepen:

$ mpremote

Deze opdracht detecteert automatisch het eerste beschikbare USB-seriële apparaat en maakt er verbinding mee, en biedt een interactieve terminal waarmee je toegang hebt tot de REPL en de uitvoer van je programma. Seriële poorten worden in exclusieve modus geopend, dus als je een tweede (of derde, enz.) instantie van mpremote uitvoert, maakt deze verbinding met de volgende seriële apparaten, indien beschikbaar.

Daarnaast kun je met pipx mpremote ook rechtstreeks uitvoeren zonder het eerst te installeren:

$ pipx run mpremote ...args

Opdrachten

mpremote ondersteunt het meegeven van een reeks opdrachten op de opdrachtregel, die achtereenvolgens verschillende acties uitvoeren op een MicroPython-apparaat op afstand. Zie het gedeelte met voorbeelden hieronder voor een idee van hoe dit werkt en voor enkele veelvoorkomende combinaties van opdrachten.

Elke opdracht heeft de vorm <command name> [--options] [args...]. Voor opdrachten die meerdere argumenten ondersteunen (bijv. een lijst met bestanden), kan de argumentenlijst worden afgesloten met +.

Als er geen opdracht wordt opgegeven, is de standaardopdracht repl. Daarnaast wordt, als een opdracht toegang tot het apparaat nodig heeft en er niet eerder een connect is opgegeven, impliciet een connect auto toegevoegd.

Om het apparaat in een bekende staat te brengen voor een willekeurige actieopdracht (behalve repl), zal mpremote na het verbinden elk lopend programma stoppen en het apparaat zacht resetten voordat de eerste opdracht wordt uitgevoerd. Je kunt dit gedrag besturen met de opdrachten resume en soft-reset. Zie automatische verbinding en automatische soft-reset voor meer details.

Er kunnen meerdere opdrachten worden opgegeven en deze worden achtereenvolgens uitgevoerd.

De volledige lijst met ondersteunde opdrachten is:

connect

Maak verbinding met het opgegeven apparaat via naam:

$ mpremote connect <device>

<device> kan een van de volgende zijn:

  • list: toon beschikbare apparaten

  • auto: maak verbinding met de eerste beschikbare USB-seriële poort

  • id:<serial>: maak verbinding met het apparaat met USB-serienummer <serial> (de tweede kolom uit de uitvoer van de opdracht connect list)

  • port:<path>: maak verbinding met het apparaat met het opgegeven pad (de eerste kolom uit de uitvoer van de opdracht connect list)

  • rfc2217://<host>:<port>: maak verbinding met het apparaat via serieel over TCP (bijv. een netwerk-seriële poort gebaseerd op RFC2217)

  • een geldige apparaatnaam/-pad, om met dat apparaat te verbinden

Opmerking: In plaats van de opdracht connect te gebruiken, zijn er verschillende voorgedefinieerde snelkoppelingen voor veelvoorkomende apparaatpaden. De snelkoppelingsopdracht a0 is bijvoorbeeld gelijk aan connect /dev/ttyACM0 (Linux), of c1 voor COM1 (Windows).

Opmerking: De optie auto detecteert alleen USB-seriële poorten, d.w.z. een seriële poort met een bijbehorende USB VID/PID (d.w.z. CDC/ACM- of FTDI-achtige apparaten). Andere soorten seriële poorten worden niet automatisch gedetecteerd.

disconnect

Verbreek de verbinding met het huidige apparaat:

$ mpremote disconnect

Na het verbreken van de verbinding wordt automatische soft-reset ingeschakeld.

resume

Behoud de bestaande interpreterstatus voor volgende opdrachten:

$ mpremote resume

Dit schakelt automatische soft-reset uit. Dit is handig als je een volgende opdracht op een board wilt uitvoeren zonder het eerst zacht te resetten.

soft-reset

Voer een soft-reset van het apparaat uit:

$ mpremote soft-reset

Dit wist de Python-heap en herstart de interpreter. Het voorkomt ook dat de volgende opdracht een automatische soft-reset activeert.

repl

Open de REPL op het verbonden apparaat:

$ mpremote repl [--options]

De opties zijn:

  • --escape-non-printable, om niet-afdrukbare bytes/tekens af te drukken als hun hexcode

  • --capture <file>, om de uitvoer van de REPL-sessie vast te leggen in het opgegeven bestand

  • --inject-code <string>, om tekens op te geven die in de REPL worden ingevoegd wanneer Ctrl-J wordt ingedrukt. Hiermee kun je een veelvoorkomende opdracht automatiseren.

  • --inject-file <file>, om een bestand op te geven dat in de REPL wordt ingevoegd wanneer Ctrl-K wordt ingedrukt. Hiermee kun je een bestand uitvoeren (bijv. met wat nuttige opstartcode, of zelfs het programma waar je momenteel aan werkt).

Terwijl de opdracht repl actief is, kun je Ctrl-] of Ctrl-x gebruiken om af te sluiten.

Opmerking: De naam “REPL” weerspiegelt hier het veelvoorkomende gebruik van deze opdracht om toegang te krijgen tot de Read Eval Print Loop die op het MicroPython-apparaat draait. Strikt genomen functioneert de opdracht repl slechts als een terminal (of “seriële monitor”) om toegang te krijgen tot het apparaat. Omdat deze opdracht het automatische resetgedrag niet activeert, betekent dit dat als er momenteel een programma draait, je dit eerst moet onderbreken met Ctrl-C om bij de REPL te komen, waarna je toegang hebt tot de programmastatus. Je kunt ook mpremote soft-reset repl gebruiken om een “schone” REPL te krijgen waarbij alle programmastatus is gewist.

eval

Evalueer en print het resultaat van een Python-expressie:

$ mpremote eval <string>

exec

Voer de opgegeven Python-code uit:

$ mpremote exec <string>

Standaard toont mpremote exec alle uitvoer van de expressie totdat deze eindigt. De vlag --no-follow kan worden opgegeven om onmiddellijk terug te keren en het apparaat de expressie op de achtergrond te laten uitvoeren.

run

Voer een script uit vanaf het lokale bestandssysteem:

$ mpremote run <file.py>

Dit voert het bestand rechtstreeks uit vanuit het RAM op het apparaat zonder het naar het bestandssysteem te kopiëren. Dit is een zeer nuttige manier om te itereren bij de ontwikkeling van een enkel stuk code zonder je zorgen te hoeven maken over het uitrollen ervan naar het bestandssysteem.

Standaard toont mpremote run alle uitvoer van het script totdat het eindigt. De vlag --no-follow kan worden opgegeven om onmiddellijk terug te keren en het apparaat het script op de achtergrond te laten uitvoeren.

fs

Voer bestandssysteemopdrachten uit op het apparaat:

$ mpremote fs <sub-command>

<sub-command> kan zijn:

  • cat <file..> om de inhoud van een bestand of bestanden op het apparaat te tonen

  • ls om de huidige map weer te geven

  • ls <dirs...> om de opgegeven mappen weer te geven

  • cp [-rf] <src...> <dest> om bestanden te kopiëren

  • rm [-r] <src...> om bestanden of mappen op het apparaat te verwijderen

  • mkdir <dirs...> om mappen op het apparaat aan te maken

  • rmdir <dirs...> om mappen op het apparaat te verwijderen

  • touch <file..> om de bestanden aan te maken (als ze nog niet bestaan)

  • sha256sum <file..> om de SHA256-som van bestanden te berekenen

  • tree [-vsh] <dirs...> om een boomstructuur van de opgegeven mappen af te drukken

De opdracht cp gebruikt een conventie waarbij een voorafgaande : een pad op afstand voorstelt. Zonder voorafgaande : betekent het een lokaal pad. Dit is gebaseerd op de conventie die wordt gebruikt door de Secure Copy Protocol (scp)-client.

Dus bijvoorbeeld mpremote fs cp main.py :main.py kopieert main.py van de huidige lokale map naar het bestandssysteem op afstand, terwijl mpremote fs cp :main.py main.py main.py van het apparaat terug naar de huidige map kopieert.

De opdracht mpremote rm -r accepteert zowel relatieve als absolute paden. Gebruik : om te verwijzen naar de huidige werkmap op afstand (cwd), zodat een mappenboom kan worden verwijderd uit het standaardpad van het apparaat (bijv. /flash, /). Gebruik -v/--verbose om de bestanden te zien die worden verwijderd.

Bijvoorbeeld:

  • mpremote rm -r :libs verwijdert de map libs en alle onderliggende items ervan van het apparaat.

  • mpremote rm -rv :/sd verwijdert alle bestanden van een aangekoppelde SD-kaart en resulteert in een niet-blokkerende waarschuwing. De koppeling blijft behouden.

  • mpremote rm -rv :/ verwijdert alle bestanden op het apparaat, inclusief bestanden in aangekoppelde vfs zoals /sd of /flash. Na het verwijderen van alle mappen en bestanden geeft dit ook een fout terug om het Unix-gedrag rm -rf / na te bootsen.

Waarschuwing

Er is geen ondersteunde manier om bestanden die met mpremote rm -r : zijn verwijderd, te herstellen. Gebruik dit met voorzichtigheid.

De opdracht tree drukt een boomstructuur van de opgegeven mappen af. Met de optie --size/-s wordt de grootte van elk bestand afgedrukt, of gebruik --human/-h voor een beter leesbaar formaat. Opmerking: De grootte van een map wordt alleen afgedrukt wanneer er een grootte van meer dan nul wordt gerapporteerd door het bestandssysteem van het apparaat. De optie -v kan worden gebruikt om de naam van het seriële apparaat op te nemen in de uitvoer.

Alle andere opdrachten gaan er impliciet van uit dat het pad een pad op afstand is, maar de : kan optioneel worden gebruikt voor de duidelijkheid.

Alle bestandssysteem-subopdrachten nemen meerdere padargumenten aan, dus als er nog een opdracht in de reeks staat, moet je + gebruiken om de argumenten af te sluiten, bijv.

$ mpremote fs cp main.py :main.py + repl

Dit kopieert het bestand naar het apparaat en opent vervolgens de REPL. De + voorkomt dat "repl" als een pad wordt geïnterpreteerd.

De opdracht cp ondersteunt de optie -r om een recursieve kopie te maken. Standaard slaat cp het kopiëren van bestanden naar het apparaat op afstand over als de SHA256-hash van het bron- en bestemmingsbestand overeenkomt. Om een kopie te forceren ongeacht de hash, gebruik je de optie -f.

Opmerking: Voor het gemak zijn alle bestandssysteem-subopdrachten ook als reguliere opdrachten gealiast, d.w.z. je kunt mpremote cp ... schrijven in plaats van mpremote fs cp ....

df

Vraag de vrije/gebruikte ruimte van het apparaat op:

$ mpremote df

De opdracht df drukt statistieken over grootte/gebruikt/vrij af voor het bestandssysteem van het apparaat, vergelijkbaar met de Unix-opdracht df.

edit

Bewerk een bestand op het apparaat:

$ mpremote edit <files...>

De opdracht edit kopieert elk bestand van het apparaat naar een lokale tijdelijke map en start vervolgens je editor voor elk bestand (gedefinieerd door de omgevingsvariabele $EDITOR). Als de editor succesvol afsluit, wordt het bijgewerkte bestand terug naar het apparaat gekopieerd.

mip

Installeer pakketten uit micropython-lib (of GitHub) met het hulpmiddel mip:

$ mpremote mip install <packages...>

Zie Pakketbeheer voor meer informatie.

mount

Koppel de lokale map aan het apparaat op afstand:

$ mpremote mount [options] <local-dir>

Hiermee kan het apparaat op afstand de lokale hostmap zien alsof het zijn eigen bestandssysteem is. Dit is handig voor ontwikkeling en vermijdt de noodzaak om bestanden naar het apparaat te kopiëren terwijl je eraan werkt.

Het apparaat installeert een bestandssysteemstuurprogramma, dat vervolgens in de VFS van het apparaat wordt aangekoppeld als /remote, dat de seriële verbinding met mpremote gebruikt als zijkanaal om toegang te krijgen tot bestanden. De huidige werkmap van het apparaat (via os.chdir) wordt ingesteld op /remote, zodat imports en bestandstoegang daar plaatsvinden in plaats van in het standaardpad van het bestandssysteem zolang de koppeling actief is.

Opmerking: Als de opdracht mount niet wordt gevolgd door een andere actie in de reeks, wordt impliciet een repl-opdracht aan het einde van de reeks toegevoegd.

Tijdens gebruik activeert Ctrl-D zoals gebruikelijk een soft-reset, maar de koppeling wordt automatisch opnieuw verbonden. Als de unit echter een main.py heeft die bij het opstarten draait, kan het opnieuw koppelen niet plaatsvinden. In dat geval kan een soft-reboot in raw-modus worden gebruikt: Ctrl-A Ctrl-D om opnieuw op te starten, daarna Ctrl-B om terug te keren naar de normale repl, waarna de koppeling gereed is.

De opties zijn:

  • -l, --unsafe-links: Standaard wordt er een fout gegenereerd als het apparaat toegang krijgt tot een bestand of map dat buiten (een of meer mapniveaus omhoog) de aangekoppelde lokale map ligt. Deze optie schakelt deze controle uit voor symbolische koppelingen, waardoor het apparaat symbolische koppelingen buiten de lokale map kan volgen.

unmount

Ontkoppel de lokale map van het apparaat op afstand:

$ mpremote umount

Dit gebeurt automatisch wanneer mpremote wordt beëindigd, maar het kan in een reeks worden gebruikt om een eerdere koppeling te ontkoppelen voordat volgende opdrachten worden uitgevoerd.

romfs

Beheer ROMFS-partities op het apparaat:

$ mpremote romfs <sub-command>

<sub-command> kan zijn:

  • romfs query om alle beschikbare ROMFS-partities en hun grootte weer te geven

  • romfs [-o <output>] build <source> om een ROMFS-image te maken van de opgegeven bronmap; het standaard uitvoerbestand is de bron met .romfs eraan toegevoegd

  • romfs [-p <partition>] deploy <source> om een ROMFS-image naar het apparaat uit te rollen; maakt ook een tijdelijke ROMFS-image aan als de bron een map is

De subopdrachten build en deploy ondersteunen beide de optie -m/--mpy om automatisch .py-bestanden naar .mpy te compileren bij het maken van de ROMFS-image. Deze optie is standaard ingeschakeld, maar werkt alleen als het Python-pakket mpy_cross is geïnstalleerd (bijv. via pip install mpy_cross). Als het pakket niet is geïnstalleerd, wordt er een waarschuwing afgedrukt en blijven .py-bestanden ongewijzigd. Het compileren van .py-bestanden kan worden uitgeschakeld met de optie --no-mpy.

rtc

Stel de klok van het apparaat in / vraag deze op (RTC):

$ mpremote rtc

Dit vraagt de huidige tijd op uit de RTC van het apparaat en drukt deze af als een datetime-tuple.

$ mpremote rtc --set

Dit stelt de RTC van het apparaat in op de huidige tijd van de host-pc.

sleep

Wacht (vertraging) voordat de volgende opdracht wordt uitgevoerd:

$ mpremote sleep 0.5

Dit pauzeert de uitvoering van de opdrachtreeks gedurende de opgegeven duur in seconden, bijv. om te wachten tot het apparaat iets doet.

reset

Voer een hardware-reset van het apparaat uit:

$ mpremote reset

Opmerking: een hardware-reset is gelijk aan machine.reset().

bootloader

Open de bootloader:

$ mpremote bootloader

Hiermee laat je het apparaat zijn bootloader openen. De bootloader is boardspecifiek — zie het gedeelte Recovery and debug pins van de snelle referentie van je board voor details.

Automatische verbinding en soft-reset

Verbinden en verbinding verbreken gebeurt automatisch aan het begin en einde van de uitvoering van het hulpmiddel, als dergelijke opdrachten niet expliciet worden gegeven. Bij automatisch verbinden wordt gezocht naar het eerste beschikbare USB-seriële apparaat.

Zodra er verbinding is gemaakt met een apparaat, zal mpremote het apparaat indien nodig automatisch zacht resetten. Dit wist de Python-heap en herstart de interpreter, zodat volgende Python-code in een verse omgeving wordt uitgevoerd. Een automatische soft-reset wordt uitgevoerd de eerste keer dat een van de volgende opdrachten wordt uitgevoerd: mount, eval, exec, run, fs. Na de eerste soft-reset wordt deze niet automatisch opnieuw uitgevoerd, totdat er een disconnect-opdracht wordt gegeven.

Het gedrag van de automatische soft-reset kan worden geregeld met de opdracht resume. Dit kan handig zijn om de opdracht eval te gebruiken om de status van het apparaat te inspecteren. De opdracht soft-reset kan worden gebruikt om een expliciete soft-reset uit te voeren midden in een reeks opdrachten.

Snelkoppelingen

Snelkoppelingen kunnen worden gedefinieerd met het macrosysteem. Ingebouwde snelkoppelingen zijn:

  • devs: Alias voor connect list

  • a0, a1, a2, a3: Aliassen voor connect /dev/ttyACMn

  • u0, u1, u2, u3: Aliassen voor connect /dev/ttyUSBn

  • c0, c1, c2, c3: Aliassen voor connect COMn

  • cat, edit, ls, cp, rm, mkdir, rmdir, touch: Aliassen voor fs <sub-command>

Extra snelkoppelingen kunnen worden gedefinieerd in het gebruikersconfiguratiebestand mpremote/config.py, dat zich in de gebruikersconfiguratiemap bevindt. De juiste locatie voor elk besturingssysteem wordt bepaald met de module platformdirs.

Dit is doorgaans: - $XDG_CONFIG_HOME/mpremote/config.py - $HOME/.config/mpremote/config.py - $env:LOCALAPPDATA/mpremote/config.py

Het bestand config.py moet een dictionary met de naam commands definiëren. De sleutels van deze dictionary zijn de snelkoppelingen en de waarden zijn ofwel een string ofwel een lijst met strings:

"c33": "connect id:334D335C3138",

De opdracht c33 wordt vervangen door connect id:334D335C3138.

"test": ["mount", ".", "exec", "import test"],

De opdracht test wordt vervangen door mount . exec "import test".

Snelkoppelingen kunnen ook argumenten accepteren. Bijvoorbeeld:

"multiply x=4 y=7": "eval x*y",

Het uitvoeren van mpremote multiply 3 7 stelt x en y in als variabelen op het apparaat en evalueert vervolgens de expressie x*y.

Een voorbeeld van config.py zou er zo uit kunnen zien:

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.
}

Voorbeelden

mpremote

Maak verbinding met het eerste beschikbare apparaat en voer impliciet de opdracht repl uit.

mpremote a1

Maak verbinding met het apparaat op /dev/ttyACM1 (Linux) en voer impliciet de opdracht repl uit. Zie snelkoppelingen hierboven.

mpremote c1

Maak verbinding met het apparaat op COM1 (Windows) en voer impliciet de opdracht repl uit. Zie snelkoppelingen hierboven.

mpremote connect /dev/ttyUSB0

Geef expliciet op met welk apparaat verbinding moet worden gemaakt, en voer zoals hierboven impliciet de opdracht repl uit.

mpremote a1 ls

Maak verbinding met het apparaat op /dev/ttyACM1 en voer vervolgens de opdracht ls uit.

Dit is gelijk aan mpremote connect /dev/ttyACM1 fs ls.

mpremote exec "import micropython; micropython.mem_info()"

Voer de opgegeven Python-opdracht uit en toon alle uitvoer. Dit is gelijk aan het typen van de opdracht bij de REPL-prompt.

mpremote eval 1/2 eval 3/4

Evalueer elke expressie op zijn beurt en print de resultaten.

mpremote a0 eval 1/2 a1 eval 3/4

Evalueer 1/2 op het apparaat op /dev/ttyACM0, vervolgens 3/4 op het apparaat op /dev/ttyACM1, en print elk resultaat.

mpremote resume exec "print_state_info()" soft-reset

Maak verbinding met het apparaat zonder een soft reset te activeren en voer de functie print_state_info() uit (bijv. om informatie te vinden over de huidige programmastatus), en activeer vervolgens een soft-reset.

mpremote reset sleep 0.5 bootloader

Voer een hardware-reset van het apparaat uit, wacht 500 ms tot het beschikbaar wordt, en open vervolgens de bootloader.

mpremote cp utils/driver.py :utils/driver.py + run test.py

Werk de kopie van utils/driver.py op het apparaat bij en voer vervolgens het lokale script test.py uit op het apparaat. test.py wordt nooit naar het bestandssysteem van het apparaat gekopieerd, maar wordt vanuit het RAM uitgevoerd.

mpremote cp utils/driver.py :utils/driver.py + exec "import app"

Werk de kopie van utils/driver.py op het apparaat bij en voer vervolgens app.py uit op het apparaat.

Dit is een veelvoorkomende ontwikkelingsworkflow om een enkel bestand bij te werken en vervolgens je programma opnieuw te starten. In dit scenario zou je main.py op het apparaat ook import app doen.

mpremote cp utils/driver.py :utils/driver.py + soft-reset repl

Werk de kopie van utils/driver.py op het apparaat bij, activeer vervolgens een soft-reset om je programma opnieuw te starten, en bekijk vervolgens de uitvoer via de opdracht repl.

mpremote cp -r utils/ :utils/ + soft-reset repl

Hetzelfde als hierboven, maar werk eerst de hele utils-map bij.

mpremote mount .

Koppel de huidige lokale map aan op /remote op het apparaat en start een repl-sessie die /remote als werkmap gebruikt.

mpremote mount . exec "import demo"

Na het aankoppelen van de huidige lokale map wordt demo.py uit de aangekoppelde map uitgevoerd.

mpremote mount app run test.py

Na het aankoppelen van de lokale map app als /remote op het apparaat wordt het lokale test.py uit de huidige map van de host uitgevoerd zonder het naar het bestandssysteem te kopiëren.

mpremote mount . repl --inject-code "import demo"

Na het aankoppelen van de huidige lokale map wordt demo.py uit de aangekoppelde map uitgevoerd telkens wanneer Ctrl-J wordt ingedrukt.

Je moet eerst Ctrl-D indrukken om de interpreterstatus te resetten (waarbij de koppeling behouden blijft) voordat je Ctrl-J indrukt om demo.py opnieuw te importeren.

mpremote mount app repl --inject-file demo.py

Hetzelfde als hierboven, maar voert de inhoud van het lokale bestand demo.py uit bij de REPL telkens wanneer Ctrl-K wordt ingedrukt. Gebruik zoals hierboven Ctrl-D om eerst de interpreterstatus te resetten.

mpremote cat boot.py

Toont de inhoud van boot.py op het apparaat.

mpremote edit utils/driver.py

Bewerk utils/driver.py op het apparaat met je lokale $EDITOR.

mpremote cp :main.py .

Kopieer main.py van het apparaat naar de lokale map.

mpremote cp main.py :

Kopieer main.py van de lokale map naar het apparaat.

mpremote cp :a.py :b.py

Kopieer a.py op het apparaat naar b.py op het apparaat.

mpremote cp -r dir/ :

Kopieer recursief de lokale map dir naar het apparaat op afstand.

mpremote cp a.py b.py : + repl

Kopieer a.py en b.py van de lokale map naar het apparaat en voer vervolgens de opdracht repl uit.

mpremote mip install aioble

Installeer het pakket aioble uit micropython-lib op het apparaat. Zie Pakketbeheer.

mpremote mip install github:org/repo@branch

Installeer het pakket uit de opgegeven branch op org/repo op GitHub op het apparaat. Zie Pakketbeheer.

mpremote mip install gitlab:org/repo@branch

Installeer het pakket uit de opgegeven branch op org/repo op GitLab op het apparaat. Zie Pakketbeheer.

mpremote mip install --target /flash/third-party functools

Installeer het pakket functools uit micropython-lib in de map /flash/third-party op het apparaat. Zie Pakketbeheer.