Zdalne sterowanie MicroPython: mpremote¶
Narzędzie wiersza poleceń mpremote udostępnia zintegrowany zestaw narzędzi do zdalnej interakcji z urządzeniem MicroPython, zarządzania jego systemem plików oraz automatyzacji przez połączenie szeregowe. Działa ze wszystkimi kamerami OpenMV Cam poprzez ich połączenie szeregowe USB i stanowi alternatywę w wierszu poleceń dla OpenMV IDE w przepływach pracy związanych ze skryptami i automatyzacją.
Aby korzystać z mpremote, najpierw zainstaluj je za pomocą pip:
$ pip install --user mpremote
Lub za pomocą pipx:
$ pipx install mpremote
Najprostszym sposobem użycia tego narzędzia jest wywołanie go bez żadnych argumentów:
$ mpremote
To polecenie automatycznie wykrywa i łączy się z pierwszym dostępnym urządzeniem szeregowym USB oraz udostępnia interaktywny terminal, którego możesz używać do dostępu do REPL i wyjścia swojego programu. Porty szeregowe są otwierane w trybie wyłącznym, więc uruchomienie drugiej (lub trzeciej itd.) instancji mpremote połączy się z kolejnymi urządzeniami szeregowymi, jeśli takie są dostępne.
Dodatkowo pipx pozwala również na bezpośrednie uruchomienie mpremote bez wcześniejszej instalacji:
$ pipx run mpremote ...args
Polecenia¶
mpremote obsługuje przekazywanie serii poleceń w wierszu poleceń, które wykonują różne działania po kolei na zdalnym urządzeniu MicroPython. Zobacz sekcję przykładów poniżej, aby zorientować się, jak to działa, oraz poznać kilka typowych kombinacji poleceń.
Każde polecenie ma postać <command name> [--options] [args...]. W przypadku poleceń obsługujących wiele argumentów (np. listę plików) listę argumentów można zakończyć znakiem +.
Jeśli nie określono żadnego polecenia, domyślnym poleceniem jest repl. Dodatkowo, jeśli któreś polecenie wymaga dostępu do urządzenia, a wcześniej nie określono żadnego connect, to niejawnie dodawane jest connect auto.
Aby wprowadzić urządzenie w znany stan dla dowolnego polecenia akcji (z wyjątkiem repl), po połączeniu mpremote zatrzyma każdy działający program i wykona miękki reset urządzenia przed uruchomieniem pierwszego polecenia. Możesz kontrolować to zachowanie za pomocą poleceń resume i soft-reset. Zobacz automatyczne połączenie i automatyczny miękki reset, aby uzyskać więcej szczegółów.
Można określić wiele poleceń, które zostaną wykonane sekwencyjnie.
Pełna lista obsługiwanych poleceń to:
connect¶
Połącz z określonym urządzeniem według nazwy:
$ mpremote connect <device>
<device> może być jednym z:
list: wyświetl dostępne urządzeniaauto: połącz z pierwszym dostępnym portem szeregowym USBid:<serial>: połącz z urządzeniem o numerze seryjnym USB<serial>(druga kolumna w wyjściu poleceniaconnect list)port:<path>: połącz z urządzeniem o podanej ścieżce (pierwsza kolumna w wyjściu poleceniaconnect listrfc2217://<host>:<port>: połącz z urządzeniem za pomocą portu szeregowego przez TCP (np. sieciowy port szeregowy oparty na RFC2217)dowolna prawidłowa nazwa/ścieżka urządzenia, aby połączyć się z tym urządzeniem
Uwaga: Zamiast polecenia connect dostępnych jest kilka predefiniowanych skrótów dla typowych ścieżek urządzeń. Na przykład polecenie skrótu a0 jest równoważne connect /dev/ttyACM0 (Linux), a c1 odpowiada COM1 (Windows).
Uwaga: Opcja auto wykryje wyłącznie porty szeregowe USB, tj. port szeregowy, który ma powiązany identyfikator USB VID/PID (czyli urządzenia typu CDC/ACM lub FTDI). Inne typy portów szeregowych nie zostaną wykryte automatycznie.
disconnect¶
Rozłącz bieżące urządzenie:
$ mpremote disconnect
Po rozłączeniu włączany jest automatyczny miękki reset.
resume¶
Zachowaj istniejący stan interpretera dla kolejnych poleceń:
$ mpremote resume
To wyłącza automatyczny miękki reset. Jest to przydatne, jeśli chcesz uruchomić kolejne polecenie na płytce bez wcześniejszego wykonywania jej miękkiego resetu.
soft-reset¶
Wykonaj miękki reset urządzenia:
$ mpremote soft-reset
Spowoduje to wyczyszczenie sterty Pythona i ponowne uruchomienie interpretera. Zapobiega to również wyzwoleniu przez kolejne polecenie automatycznego miękkiego resetu.
repl¶
Wejdź do REPL na podłączonym urządzeniu:
$ mpremote repl [--options]
Opcje to:
--escape-non-printable, aby drukować niedrukowalne bajty/znaki jako ich kod szesnastkowy--capture <file>, aby przechwycić wyjście sesji REPL do podanego pliku--inject-code <string>, aby określić znaki wstrzykiwane do REPL po naciśnięciuCtrl-J. Pozwala to zautomatyzować często używane polecenie.--inject-file <file>, aby określić plik wstrzykiwany do REPL po naciśnięciuCtrl-K. Pozwala to uruchomić plik (np. zawierający przydatny kod konfiguracyjny, a nawet program, nad którym aktualnie pracujesz).
Gdy polecenie repl jest uruchomione, możesz użyć Ctrl-] lub Ctrl-x, aby je zakończyć.
Uwaga: Nazwa „REPL” odzwierciedla tutaj typowe użycie tego polecenia do uzyskania dostępu do pętli Read Eval Print Loop działającej na urządzeniu MicroPython. Ściśle rzecz biorąc, polecenie repl działa po prostu jako terminal (lub „monitor szeregowy”) zapewniający dostęp do urządzenia. Ponieważ to polecenie nie wyzwala zachowania automatycznego resetu, oznacza to, że jeśli program jest aktualnie uruchomiony, musisz go najpierw przerwać za pomocą Ctrl-C, aby dostać się do REPL, co następnie pozwoli ci uzyskać dostęp do stanu programu. Możesz również użyć mpremote soft-reset repl, aby uzyskać „czysty” REPL z wyczyszczonym całym stanem programu.
eval¶
Oblicz i wydrukuj wynik wyrażenia Pythona:
$ mpremote eval <string>
exec¶
Wykonaj podany kod Pythona:
$ mpremote exec <string>
Domyślnie mpremote exec wyświetli całe wyjście wyrażenia aż do jego zakończenia. Można podać flagę --no-follow, aby natychmiast powrócić i pozostawić urządzenie wykonujące wyrażenie w tle.
run¶
Uruchom skrypt z lokalnego systemu plików:
$ mpremote run <file.py>
Spowoduje to wykonanie pliku bezpośrednio z pamięci RAM na urządzeniu bez kopiowania go do systemu plików. Jest to bardzo przydatny sposób na iterowanie podczas tworzenia pojedynczego fragmentu kodu bez konieczności martwienia się o wdrażanie go w systemie plików.
Domyślnie mpremote run wyświetli całe wyjście skryptu aż do jego zakończenia. Można podać flagę --no-follow, aby natychmiast powrócić i pozostawić urządzenie wykonujące skrypt w tle.
fs¶
Wykonaj polecenia systemu plików na urządzeniu:
$ mpremote fs <sub-command>
<sub-command> może być:
cat <file..>, aby pokazać zawartość pliku lub plików na urządzeniuls, aby wyświetlić bieżący katalogls <dirs...>, aby wyświetlić podane katalogicp [-rf] <src...> <dest>, aby skopiować plikirm [-r] <src...>, aby usunąć pliki lub foldery na urządzeniumkdir <dirs...>, aby utworzyć katalogi na urządzeniurmdir <dirs...>, aby usunąć katalogi na urządzeniutouch <file..>, aby utworzyć pliki (jeśli jeszcze nie istnieją)sha256sum <file..>, aby obliczyć sumę SHA256 plikówtree [-vsh] <dirs...>, aby wydrukować drzewo podanych katalogów
Polecenie cp używa konwencji, w której wiodący znak : reprezentuje ścieżkę zdalną. Brak wiodącego : oznacza ścieżkę lokalną. Opiera się to na konwencji stosowanej przez klienta Secure Copy Protocol (scp).
Na przykład mpremote fs cp main.py :main.py kopiuje main.py z bieżącego lokalnego katalogu do zdalnego systemu plików, natomiast mpremote fs cp :main.py main.py kopiuje main.py z urządzenia z powrotem do bieżącego katalogu.
Polecenie mpremote rm -r akceptuje zarówno ścieżki względne, jak i bezwzględne. Użyj :, aby odnieść się do bieżącego zdalnego katalogu roboczego (cwd), co pozwala usunąć drzewo katalogów z domyślnej ścieżki urządzenia (np. /flash, /). Użyj -v/--verbose, aby zobaczyć usuwane pliki.
Na przykład:
mpremote rm -r :libsusunie kataloglibsi wszystkie jego elementy podrzędne z urządzenia.mpremote rm -rv :/sdusunie wszystkie pliki z zamontowanej karty SD i spowoduje wyświetlenie nieblokującego ostrzeżenia. Zamontowanie zostanie zachowane.mpremote rm -rv :/usunie wszystkie pliki na urządzeniu, w tym te znajdujące się w zamontowanych systemach vfs, takich jak/sdczy/flash. Po usunięciu wszystkich folderów i plików zwróci również błąd, naśladując zachowanie uniksowegorm -rf /.
Ostrzeżenie
Nie istnieje obsługiwany sposób przywracania plików usuniętych przez mpremote rm -r :. Używaj z rozwagą.
Polecenie tree wydrukuje drzewo podanych katalogów. Użycie opcji --size/-s spowoduje wydrukowanie rozmiaru każdego pliku, a użycie --human/-h pozwoli zastosować bardziej czytelny dla człowieka format. Uwaga: rozmiar katalogu jest drukowany tylko wtedy, gdy system plików urządzenia zgłosi rozmiar różny od zera. Opcji -v można użyć, aby uwzględnić nazwę urządzenia szeregowego w wyjściu.
Wszystkie pozostałe polecenia niejawnie zakładają, że ścieżka jest ścieżką zdalną, ale znaku : można opcjonalnie użyć dla jasności.
Wszystkie podpolecenia systemu plików przyjmują wiele argumentów ścieżki, więc jeśli w sekwencji jest kolejne polecenie, musisz użyć +, aby zakończyć argumenty, np.
$ mpremote fs cp main.py :main.py + repl
Spowoduje to skopiowanie pliku na urządzenie, a następnie wejście do REPL. Znak + zapobiega interpretowaniu "repl" jako ścieżki.
Polecenie cp obsługuje opcję -r umożliwiającą rekurencyjne kopiowanie. Domyślnie cp pominie kopiowanie plików na zdalne urządzenie, jeśli skrót SHA256 pliku źródłowego i docelowego są zgodne. Aby wymusić kopiowanie niezależnie od skrótu, użyj opcji -f.
Uwaga: Dla wygody wszystkie podpolecenia systemu plików są również udostępnione jako zwykłe polecenia, tj. możesz napisać mpremote cp ... zamiast mpremote fs cp ....
df¶
Sprawdź wolne/zajęte miejsce urządzenia:
$ mpremote df
Polecenie df wydrukuje statystyki rozmiaru/zajętości/wolnego miejsca systemu plików urządzenia, podobnie jak uniksowe polecenie df.
edit¶
Edytuj plik na urządzeniu:
$ mpremote edit <files...>
Polecenie edit skopiuje każdy plik z urządzenia do lokalnego katalogu tymczasowego, a następnie uruchomi twój edytor dla każdego pliku (zdefiniowany przez zmienną środowiskową $EDITOR). Jeśli edytor zakończy działanie pomyślnie, zaktualizowany plik zostanie skopiowany z powrotem na urządzenie.
mip¶
Zainstaluj pakiety z micropython-lib (lub GitHub) za pomocą narzędzia mip:
$ mpremote mip install <packages...>
Zobacz Zarządzanie pakietami, aby uzyskać więcej informacji.
mount¶
Zamontuj lokalny katalog na zdalnym urządzeniu:
$ mpremote mount [options] <local-dir>
Pozwala to zdalnemu urządzeniu widzieć lokalny katalog hosta tak, jakby był jego własnym systemem plików. Jest to przydatne podczas tworzenia oprogramowania i pozwala uniknąć konieczności kopiowania plików na urządzenie podczas pracy nad nimi.
Urządzenie instaluje sterownik systemu plików, który następnie jest montowany w VFS urządzenia jako /remote i wykorzystuje połączenie szeregowe z mpremote jako kanał poboczny do dostępu do plików. Bieżący katalog roboczy urządzenia (poprzez os.chdir) zostanie ustawiony na /remote, dzięki czemu importy i dostęp do plików będą odbywać się tam zamiast w domyślnej ścieżce systemu plików, dopóki montowanie jest aktywne.
Uwaga: Jeśli po poleceniu mount nie następuje kolejna akcja w sekwencji, na końcu sekwencji niejawnie dodawane jest polecenie repl.
Podczas użytkowania Ctrl-D wyzwoli miękki reset jak zwykle, ale montowanie zostanie automatycznie ponownie połączone. Jeśli jednak jednostka ma plik main.py uruchamiany przy starcie, ponowne montowanie nie może nastąpić. W takim przypadku można użyć miękkiego restartu w trybie surowym: Ctrl-A Ctrl-D, aby ponownie uruchomić, a następnie Ctrl-B, aby wrócić do normalnego repl, w którym to momencie montowanie będzie gotowe.
Opcje to:
-l,--unsafe-links: Domyślnie zostanie zgłoszony błąd, jeśli urządzenie uzyska dostęp do pliku lub katalogu znajdującego się poza (o jeden lub więcej poziomów katalogów wyżej) zamontowanym katalogiem lokalnym. Ta opcja wyłącza to sprawdzanie dla dowiązań symbolicznych, pozwalając urządzeniu podążać za dowiązaniami symbolicznymi poza katalogiem lokalnym.
unmount¶
Odmontuj lokalny katalog ze zdalnego urządzenia:
$ mpremote umount
Dzieje się to automatycznie po zakończeniu działania mpremote, ale można to wykorzystać w sekwencji do odmontowania wcześniejszego montowania przed uruchomieniem kolejnych poleceń.
romfs¶
Zarządzaj partycjami ROMFS na urządzeniu:
$ mpremote romfs <sub-command>
<sub-command> może być:
romfs query, aby wyświetlić wszystkie dostępne partycje ROMFS i ich rozmiarromfs [-o <output>] build <source>, aby utworzyć obraz ROMFS z podanego katalogu źródłowego; domyślnym plikiem wyjściowym jest źródło z dołączonym.romfsromfs [-p <partition>] deploy <source>, aby wdrożyć obraz ROMFS na urządzeniu; jeśli źródłem jest katalog, utworzy również tymczasowy obraz ROMFS
Podpolecenia build i deploy obsługują opcję -m/--mpy, która automatycznie kompiluje pliki .py do .mpy podczas tworzenia obrazu ROMFS. Ta opcja jest domyślnie włączona, ale działa tylko wtedy, gdy zainstalowano pakiet Pythona mpy_cross (np. przez pip install mpy_cross). Jeśli pakiet nie jest zainstalowany, drukowane jest ostrzeżenie, a pliki .py pozostają bez zmian. Kompilację plików .py można wyłączyć opcją --no-mpy.
rtc¶
Ustaw/odczytaj zegar urządzenia (RTC):
$ mpremote rtc
Spowoduje to odpytanie RTC urządzenia o bieżący czas i wydrukowanie go jako krotki datetime.
$ mpremote rtc --set
Spowoduje to ustawienie RTC urządzenia na bieżący czas komputera hosta.
sleep¶
Uśpij (opóźnij) przed wykonaniem następnego polecenia:
$ mpremote sleep 0.5
Spowoduje to wstrzymanie wykonywania sekwencji poleceń na określony czas w sekundach, np. aby poczekać, aż urządzenie coś wykona.
reset¶
Wykonaj twardy reset urządzenia:
$ mpremote reset
Uwaga: twardy reset jest równoważny machine.reset().
bootloader¶
Wejdź do bootloadera:
$ mpremote bootloader
Spowoduje to wejście urządzenia do jego bootloadera. Bootloader jest specyficzny dla płytki — szczegóły znajdziesz w sekcji Recovery and debug pins w krótkim przewodniku swojej płytki.
Automatyczne połączenie i miękki reset¶
Połączenie i rozłączenie są wykonywane automatycznie na początku i na końcu działania narzędzia, jeśli takie polecenia nie zostaną podane jawnie. Automatyczne połączenie wyszuka pierwsze dostępne urządzenie szeregowe USB.
Po połączeniu z urządzeniem mpremote automatycznie wykona jego miękki reset, jeśli będzie to potrzebne. Czyści to stertę Pythona i ponownie uruchamia interpreter, zapewniając, że kolejny kod Pythona wykonuje się w świeżym środowisku. Automatyczny miękki reset jest wykonywany przy pierwszym uruchomieniu jednego z następujących poleceń: mount, eval, exec, run, fs. Po wykonaniu miękkiego resetu po raz pierwszy nie zostanie on ponownie wykonany automatycznie, dopóki nie zostanie wydane polecenie disconnect.
Zachowaniem automatycznego miękkiego resetu można sterować za pomocą polecenia resume. Może to być przydatne do użycia polecenia eval w celu sprawdzenia stanu urządzenia. Polecenia soft-reset można użyć do wykonania jawnego miękkiego resetu w środku sekwencji poleceń.
Skróty¶
Skróty można definiować za pomocą systemu makr. Wbudowane skróty to:
devs: alias dlaconnect lista0,a1,a2,a3: aliasy dlaconnect /dev/ttyACMnu0,u1,u2,u3: aliasy dlaconnect /dev/ttyUSBnc0,c1,c2,c3: aliasy dlaconnect COMncat,edit,ls,cp,rm,mkdir,rmdir,touch: aliasy dlafs <sub-command>
Dodatkowe skróty można zdefiniować w pliku konfiguracyjnym użytkownika mpremote/config.py, znajdującym się w katalogu konfiguracji użytkownika. Poprawna lokalizacja dla każdego systemu operacyjnego jest określana za pomocą modułu platformdirs.
Jest to zazwyczaj: - $XDG_CONFIG_HOME/mpremote/config.py - $HOME/.config/mpremote/config.py - $env:LOCALAPPDATA/mpremote/config.py
Plik config.py powinien definiować słownik o nazwie commands. Klucze tego słownika to skróty, a wartości to łańcuch znaków lub lista łańcuchów:
"c33": "connect id:334D335C3138",
Polecenie c33 jest zastępowane przez connect id:334D335C3138.
"test": ["mount", ".", "exec", "import test"],
Polecenie test jest zastępowane przez mount . exec "import test".
Skróty mogą również przyjmować argumenty. Na przykład:
"multiply x=4 y=7": "eval x*y",
Uruchomienie mpremote multiply 3 7 ustawi x i y jako zmienne na urządzeniu, a następnie obliczy wyrażenie x*y.
Przykładowy plik config.py mógłby wyglądać tak:
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.
}
Przykłady¶
mpremote
Połącz z pierwszym dostępnym urządzeniem i niejawnie uruchom polecenie repl.
mpremote a1
Połącz z urządzeniem pod /dev/ttyACM1 (Linux) i niejawnie uruchom polecenie repl. Zobacz skróty powyżej.
mpremote c1
Połącz z urządzeniem pod COM1 (Windows) i niejawnie uruchom polecenie repl. Zobacz skróty powyżej.
mpremote connect /dev/ttyUSB0
Jawnie określ, z którym urządzeniem się połączyć, i jak powyżej, niejawnie uruchom polecenie repl.
mpremote a1 ls
Połącz z urządzeniem pod /dev/ttyACM1, a następnie uruchom polecenie ls.
Jest to równoważne mpremote connect /dev/ttyACM1 fs ls.
mpremote exec "import micropython; micropython.mem_info()"
Uruchom określone polecenie Pythona i wyświetl całe wyjście. Jest to równoważne wpisaniu polecenia w wierszu poleceń REPL.
mpremote eval 1/2 eval 3/4
Oblicz po kolei każde wyrażenie i wydrukuj wyniki.
mpremote a0 eval 1/2 a1 eval 3/4
Oblicz 1/2 na urządzeniu pod /dev/ttyACM0, a następnie 3/4 na urządzeniu pod /dev/ttyACM1, drukując każdy wynik.
mpremote resume exec "print_state_info()" soft-reset
Połącz z urządzeniem bez wyzwalania miękkiego resetu i wykonaj funkcję print_state_info() (np. aby uzyskać informacje o bieżącym stanie programu), a następnie wyzwól miękki reset.
mpremote reset sleep 0.5 bootloader
Wykonaj twardy reset urządzenia, poczekaj 500 ms, aż stanie się dostępne, a następnie wejdź do bootloadera.
mpremote cp utils/driver.py :utils/driver.py + run test.py
Zaktualizuj kopię utils/driver.py na urządzeniu, a następnie wykonaj lokalny skrypt test.py na urządzeniu. test.py nigdy nie jest kopiowany do systemu plików urządzenia, lecz jest uruchamiany z pamięci RAM.
mpremote cp utils/driver.py :utils/driver.py + exec "import app"
Zaktualizuj kopię utils/driver.py na urządzeniu, a następnie wykonaj app.py na urządzeniu.
Jest to typowy przepływ pracy podczas tworzenia oprogramowania polegający na zaktualizowaniu pojedynczego pliku i ponownym uruchomieniu programu. W tym scenariuszu twój plik main.py na urządzeniu również wykonywałby import app.
mpremote cp utils/driver.py :utils/driver.py + soft-reset repl
Zaktualizuj kopię utils/driver.py na urządzeniu, następnie wyzwól miękki reset, aby ponownie uruchomić program, a potem monitoruj wyjście za pomocą polecenia repl.
mpremote cp -r utils/ :utils/ + soft-reset repl
To samo co powyżej, ale najpierw zaktualizuj cały katalog utils.
mpremote mount .
Zamontuj bieżący lokalny katalog jako /remote na urządzeniu i uruchom sesję repl, która będzie używać /remote jako katalogu roboczego.
mpremote mount . exec "import demo"
Po zamontowaniu bieżącego lokalnego katalogu wykonuje demo.py z zamontowanego katalogu.
mpremote mount app run test.py
Po zamontowaniu lokalnego katalogu app jako /remote na urządzeniu wykonuje lokalny test.py z bieżącego katalogu hosta bez kopiowania go do systemu plików.
mpremote mount . repl --inject-code "import demo"
Po zamontowaniu bieżącego lokalnego katalogu wykonuje demo.py z zamontowanego katalogu za każdym razem, gdy zostanie naciśnięte Ctrl-J.
Najpierw musisz nacisnąć Ctrl-D, aby zresetować stan interpretera (co zachowa montowanie), a następnie nacisnąć Ctrl-J, aby ponownie zaimportować demo.py.
mpremote mount app repl --inject-file demo.py
To samo co powyżej, ale wykonuje zawartość lokalnego pliku demo.py w REPL za każdym razem, gdy zostanie naciśnięte Ctrl-K. Jak powyżej, użyj najpierw Ctrl-D, aby zresetować stan interpretera.
mpremote cat boot.py
Wyświetla zawartość boot.py na urządzeniu.
mpremote edit utils/driver.py
Edytuj utils/driver.py na urządzeniu za pomocą swojego lokalnego $EDITOR.
mpremote cp :main.py .
Skopiuj main.py z urządzenia do lokalnego katalogu.
mpremote cp main.py :
Skopiuj main.py z lokalnego katalogu na urządzenie.
mpremote cp :a.py :b.py
Skopiuj a.py na urządzeniu do b.py na urządzeniu.
mpremote cp -r dir/ :
Rekurencyjnie skopiuj lokalny katalog dir na zdalne urządzenie.
mpremote cp a.py b.py : + repl
Skopiuj a.py i b.py z lokalnego katalogu na urządzenie, a następnie uruchom polecenie repl.
mpremote mip install aioble
Zainstaluj pakiet aioble z micropython-lib na urządzeniu. Zobacz Zarządzanie pakietami.
mpremote mip install github:org/repo@branch
Zainstaluj pakiet z określonej gałęzi w org/repo na GitHub na urządzeniu. Zobacz Zarządzanie pakietami.
mpremote mip install gitlab:org/repo@branch
Zainstaluj pakiet z określonej gałęzi w org/repo na GitLab na urządzeniu. Zobacz Zarządzanie pakietami.
mpremote mip install --target /flash/third-party functools
Zainstaluj pakiet functools z micropython-lib do katalogu /flash/third-party na urządzeniu. Zobacz Zarządzanie pakietami.