13.5. MicroPython-työkalut

MicroPython-projekti toimittaa kielen itsensä ohella isäntäkoneella ajettavan työkaluketjun. Kaksi näistä työkaluista on hyödyllisiä kaikissa OpenMV-kameran työnkuluissa, jotka tapahtuvat IDE:n ulkopuolella; molemmat asentuvat PyPI:stä yhdellä komennolla, ja molemmat toimivat saman USB-sarjaliikenne- / tiedostojärjestelmäpinnan kanssa, jonka kamera jo tarjoaa.

13.5.1. mpremote

mpremote on komentorivipohjainen vaihtoehto OpenMV IDE:lle. Yksi komento kattaa sen, mitä IDE tekee tiedostoselaimensa, terminaalinsa ja skriptinajopainikkeensa kautta: yhteyden muodostamisen kameraan USB-sarjaliikenteen yli, REPL:n ohjaamisen, tiedostojen kopioimisen kameran tiedostojärjestelmään ja sieltä pois, isäntäkoneen skriptin ajamisen kameraa vasten ilman sen lataamista, sekä kolmannen osapuolen pakettien asentamisen mip-työkalulla:

$ pip install --user mpremote
$ mpremote                          # interactive REPL
$ mpremote cp main.py :             # upload to cam
$ mpremote run local_script.py      # run host script on cam
$ mpremote ls                       # list cam filesystem
$ mpremote mip install aioble       # install package on cam

Tämä on oikea työkalu automaattisille testauspenkeille, näytöttömille käyttöönotoille, CI-skripteille, jotka flashaavat tuoreen kuvan ja ajavat savutestin, sekä mille tahansa työnkululle, jossa graafisen käyttöliittymän ajaminen olisi liioiteltua. mpremote-viiteopas dokumentoi jokaisen komennon ja valinnan.

13.5.2. mpy-cross

mpy-cross on ristikääntäjä, joka muuntaa .py-lähdetiedoston .mpy-binäärisäiliöksi, joka on valmis tuotavaksi kameralle. Etukäteen kääntäminen säästää kameran lähdekoodin jäsentämiseltä tuontihetkellä, antaa pienemmän levyjalanjäljen ja on ainoa tapa @native- ja @viper-koristelluille funktioille, jotka tarvitsevat kameran MCU-arkkitehtuuriin sovitetun käännöksen:

$ pip install --user mpy-cross
$ mpy-cross foo.py
$ mpremote cp foo.mpy :

Laiteohjelmistokuvaan upotetuille jäädytetyille moduuleille sekä sen mukana toimitettaville ROMFS-osioille sama työkalu ajetaan automaattisesti osana laiteohjelmiston rakennusta – rakennusjärjestelmä kutsuu mpy-crossia jokaiselle scripts/-hakemiston alla olevalle .py-tiedostolle matkalla kohti .bin-tiedoston tuottamista. Suoraa kutsumista sovellus tarvitsee silloin, kun se haluaa toimittaa .mpy-tiedoston erillään laiteohjelmistosta tai ohjata kääntäjää rakennusskriptistä.

.mpy-tiedostojen viiteoppaan mpy-cross-osio kattaa komentorivivalitsimet, optimointitasot, -march-matriisin ja Python-moduulin sisääntulopisteet.