13.5. Alat MicroPython¶
Proyek MicroPython menyertakan toolchain sisi host bersama bahasa itu sendiri. Dua dari alat tersebut berguna untuk alur kerja OpenMV cam mana pun yang berjalan di luar IDE; keduanya dapat diinstal dari PyPI dengan satu perintah dan keduanya bekerja terhadap antarmuka USB serial / filesystem yang sama yang sudah diekspos oleh kamera.
13.5.1. mpremote¶
mpremote adalah alternatif CLI untuk OpenMV IDE. Satu perintah mencakup apa yang dilakukan IDE melalui browser file, terminal, dan tombol jalankan skrip: terhubung ke kamera melalui USB serial, mengendalikan REPL, menyalin file masuk dan keluar dari filesystem kamera, menjalankan skrip sisi host terhadap kamera tanpa mengunggahnya, serta menginstal paket pihak ketiga dengan mip
$ 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
Ini adalah alat yang tepat untuk rig pengujian otomatis, penerapan tanpa antarmuka grafis, skrip CI yang mem-flash citra baru dan menjalankan smoke test, serta alur kerja mana pun di mana menjalankan GUI terlalu berlebihan. Referensi mpremote mendokumentasikan setiap perintah dan opsi.
13.5.2. mpy-cross¶
mpy-cross adalah cross-compiler yang mengubah file sumber .py menjadi kontainer biner .mpy yang siap diimpor pada kamera. Mengompilasi di awal menghemat kamera dari penguraian sumber saat impor, memberikan jejak yang lebih kecil di disk, dan merupakan satu-satunya jalur untuk fungsi berdekorator @native dan @viper yang membutuhkan build yang sesuai dengan arsitektur MCU kamera:
$ pip install --user mpy-cross
$ mpy-cross foo.py
$ mpremote cp foo.mpy :
Untuk modul beku yang dipanggang ke dalam citra firmware dan untuk partisi ROMFS yang dikirim bersamanya, alat yang sama berjalan secara otomatis sebagai bagian dari build firmware -- sistem build memanggil mpy-cross untuk setiap .py di bawah scripts/ dalam proses menghasilkan .bin. Pemanggilan langsung digunakan oleh aplikasi yang ingin mengirimkan .mpy secara terpisah dari firmware, atau menjalankan compiler dari skrip build.
Bagian mpy-cross dari referensi file .mpy mencakup flag baris perintah, tingkat optimisasi, matriks -march, serta titik masuk modul Python.