Inštalácia #
Na stránkach projektu MicroPython sa nachádzajú skompilované obrazy firmware pre množstvo platforiem, krtoré môžeme jednoducho nainštalovať priamo naprogramovaním zvoleného mikrokontroléru. Druhou možnosťou je kompilácia firmware zo zdrojového kódu z github-u, výhodou tohoto spôsobu je možnosť vlastnej modifikácie MicroPythonu, rozširovanie o knižnice a moduly vytvorené v Pythone alebo v C.
V oboch prípadoch pre prácu s MicroPythonom na STM32 potrebujeme vhodný program, terminálovú konzolu, pomocou ktorého budeme interaktívne komunikovať s MicroPythonom. Vhodným jednoduchým terminálový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ú
Inštalácia MicroPython pre STM32-Nucleo #
MicroPython pre zvolenú platformu inštalovať v štandardnej konfigurácii priamo z predpripravených obrazov firmware
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
MicroPythonkomunikuje cez terminálový programpicocom -b 115200 /dev/ttyACM0
B. Kompilácia zdrojového kódu MicroPython-u#
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.