Jak začneš psát trochu složitější programy, mohlo by se stát, že tě konzole MicroPythonu začne trochu štvát. Špatně se v ní opravují chyby a automatické odsazování funguje jen většinou. Pojďme se podívat, jak naštvání předejít.
Nejdřív si do virtuálního prostředí nainstaluj program Ampy od Adafruitu.
(env)$ python -m pip install adafruit-ampy
Doporučuji si větší kousky kódu – a určitě takové, ve kterých je nějaký cyklus, podmínka či funkce – psát v textovém editoru a do modulu pak posílat celý soubor.
Zkus si to. Do souboru blikajici_led.py
dej následující kód:
from machine import Pin
from time import sleep
pin_diody = Pin(14, Pin.OUT)
while True:
pin_diody.value(0)
sleep(1/2)
pin_diody.value(1)
sleep(1/2)
Potom zavři konzoli (picocom
, PuTTY nebo screen
).
Ke spuštění budeš potřebovat znát port:
picocom
, např. /dev/ttyUSB0
COM13
screen
, např. /dev/tty.usbmodem*
ampy
spusť následujícím příkazem, jen za PORT
doplň svůj port:
(venv)$ ampy -p PORT run blikajici_led.py
Program by měl blikat diodou.
Využívá k tomu funkci time.sleep()
, která počká daný počet vteřin –
tedy time.sleep(1/2)
zastaví program na půl sekundy.
Podobně je možné na destičku soubory i nahrávat, jen je potřeba místo
run
použít put
.
(venv)$ ampy -p PORT put blikajici_led.py
Pokud navíc budeš chtít, aby se program na destičce automaticky spouštěl, musí
se soubor s programem na destičce jmenovat main.py
. ampy
umí soubor při
kopírování i přejmenovat, když mu při kopírování zadáš i druhé (nové) jméno.
(venv)$ ampy -p PORT put blikajici_led.py main.py
Po úspěšném kopírování máš na destičce nahraný náš program ze souboru
blikajici_led.py
do souboru main.py
. Teď už bude tvůj program fungovat
i bez počítače, takže stačí destičku připojit např. k powerbance
a dioda se rozbliká.