Inštalácia#

MicroPython môžeme nainštalovať priamo naprogramovaním mikrokontroléru pomocou predkompilovaného firmware dostupného na stránkach projektu alebo kompiláciu zo zdrojového kódu z githubu. Výhodou druhého spôsobu je možnosť modifikácie MicroPython-u, rozširovanie o vlastné knižnice a moduly vytvorené v Pythone alebo v C.

V oboch prípadoch pre prácu s MicroPython-om na STM32 potrebujeme vhodný program - terminálovú konzolu, pomocou ktorého budeme interaktívne komunikovať s MicroPython-om. Vhodným jednoduchým programom je napríklad picocom, štandardne dostupný v repozitároch linuxových distribúcií.

Ubuntu

sudo apt-get install picocom

Fedora

sudo dnf install picocom

Ďaľšími vhodnými komunikačnými programami sú

Firmware#

V základnej verzii je možné MicroPython pre zvolenú platformu inštalovať v štandardnej konfigurácii priamo z predpripravených skompilovaných prostredí

  • zo stránky https://micropython.org/download/ vybrať cielovú platformu

  • stiahnúť príslušný .hex súbor

  • štandardným postupom pomocou STM32CubeProgrammer naprogramovať mikrokontrolér

  • po resete mikrokontroléra MicroPython komunikuje cez terminálový program

    picocom -b 115200 /dev/ttyACM0

Kompilácia zdrojového kódu#

V prípade kompilácie zo zdrojových kódov z github-u je potrebné mať nainštalované vývojové prostredie pre kompiláciu aplikácii STM32. Z github-u stiahneme zdrojové kódy MicroPython-u

git clone https://github.com/micropython/micropython

Skompilujeme vlastný kompilátor Pythonu do bytecode

cd mpy-cross
make

Prejdeme do adresára

cd ../ports/stm32

a spustíme

make submodules

Na konci skompilujte firmware pre vašu cieľovú dosku, pre každú cieľovú dosku je vytvorený konfiguračný adresár v ./ports/stm32/boards a meno adresára je zároveň príznakom pre kompilátor. Pre dosku napr. NUCLEO_L476RG je príkaz na kompiláciu potom

make BOARD=NUCLEO_L476RG

Po kompilácii vznikol adresár build-NUCLEO_L476RG, v ktorom sa o.i. nachádzajú súbory firmware.bin, firmware.elf …

cd ./build-NUCLEO_L476RG

Pomocou programátora STM32Cube nahráme firmware do mikrokontroléra, resetujeme ho a spustíme terminálový program

picocom -b 115200 /dev/ttyACM0

V prípade, že to s budúcim experimentovaním v MicroPython-e nejako preženiete, môžete kedykoľvek zápisom firmware systém vrátiť do pôvodného stavu.

Test inštalácie#

Po resete by sa MicroPython mal ozvať v interaktívnom móde známym promptom

>>>

Pre jednoduchšiu obsluhu hardware dosku sú pripravené hotové moduly Pythonu, príkazom

>>> help()

dostaneme výpis vlastností modulu pyb . Povinná jazda - bliknutie s LED na doske potom vyzerá takto

>>> import pyb
>>> d = pyb.LED(1)
>>> d.on()
>>> d.off()

Podrobná dokumentácia k modulom, súborovému systému, hardware a pod. je v adresári ./docs, pomocou parametru v make si ju môžete vygenerovať do vhodného formátu.