13.5. MicroPython araçları¶
MicroPython projesi, dilin kendisiyle birlikte bir ana bilgisayar tarafı araç zinciri de sunar. Bu araçlardan ikisi, IDE dışında yaşayan herhangi bir OpenMV cam iş akışı için kullanışlıdır; her ikisi de tek bir komutla PyPI’den kurulur ve her ikisi de cam’in zaten sunduğu aynı USB seri / dosya sistemi yüzeyine karşı çalışır.
13.5.1. mpremote¶
mpremote, OpenMV IDE’ye bir CLI alternatifidir. Tek bir komut, IDE’nin dosya tarayıcısı, terminali ve betik çalıştırma düğmesi aracılığıyla yaptıklarını kapsar: bir cam’e USB seri üzerinden bağlanma, REPL’i sürme, cam’in dosya sistemine ve dışına dosya kopyalama, ana bilgisayar tarafındaki bir betiği yüklemeden cam’e karşı çalıştırma ve mip ile üçüncü taraf paketleri kurma:
$ 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
Bu, otomatik test düzenekleri, ekransız (headless) dağıtımlar, yeni bir görüntüyü flash’layıp bir duman testi çalıştıran CI betikleri ve bir GUI çalıştırmanın aşırıya kaçtığı her iş akışı için doğru araçtır. mpremote referansı her komutu ve seçeneği belgeler.
13.5.2. mpy-cross¶
mpy-cross, bir .py kaynak dosyasını cam üzerinde içe aktarılmaya hazır bir .mpy ikili konteynerine dönüştüren çapraz derleyicidir. Önceden derlemek, cam’i içe aktarma sırasında kaynağı ayrıştırmaktan kurtarır, daha küçük bir disk üzeri ayak izi sağlar ve cam’in MCU mimarisine uyan bir derleme gerektiren @native ve @viper ile süslenmiş işlevler için tek yoldur:
$ pip install --user mpy-cross
$ mpy-cross foo.py
$ mpremote cp foo.mpy :
Aygıt yazılımı (firmware) görüntüsüne gömülü dondurulmuş modüller ve onunla birlikte sevk edilen ROMFS bölümleri için aynı araç, aygıt yazılımı derlemesinin bir parçası olarak otomatik çalışır – derleme sistemi, .bin üretmeye giderken scripts/ altındaki her .py üzerinde mpy-cross’u çağırır. Doğrudan çağrı ise bir uygulamanın bir .mpy‘yi aygıt yazılımından ayrı olarak sevk etmek veya derleyiciyi bir derleme betiğinden sürmek istediğinde başvurduğu şeydir.
mpy-cross bölümü .mpy dosyaları referansının komut satırı bayraklarını, optimizasyon seviyelerini, -march matrisini ve Python modülü giriş noktalarını kapsar.