V kořenovém adresáři připraveného ESP32 jsou soubory boot.py a main.py.
Právě soubor main.py je určen pro naše programy (které se spouští po nastartování ESP)
Aktuální kód je na: https://github.com/octopusengine/octopuslab-edu-kit1/blob/master/examples/edu_kit1/main01.py
Tento výchozí main.py je velmi jednoduchá úkázka spráce mikrokontroléru s hardware. Zároveň také provede základní test celého hw modulu.
... led = Led(2) # ukázka hardcode nastavení na PIN 2 led.blink() # ukázka použití konfigurace k nastavení na PIN WS ws = Rgb(pinout.WS_LED_PIN,io_conf.get('ws')) ws.simpleTest() d7 = disp7_init() # 7segment (8digit) display init ws.rainbow_cycle() ws.color((0,0,0)) for i in range(9): d7.show(10-i) sleep(0.3)
Další ukázky jsou pak v adresáři /examples a také opět na githubu:
https://github.com/octopusengine/octopuslab/tree/master/esp32-micropython/examples
Ukázky můžeme spouštět různým způsobem. Nejčastěji to bude z prostředí emulátoru linuxového shellu, který vyvoláme: >>> shell() Pokud běží nějaký program, musí se před tím jeho běh přerušit pomocí CTRL+C $ run examples/blink.py Prostředí Micropythonu neumožní plnohodnotnou práci, využíváme ho v jistém omezeném režimu, s tím je nutno při práci počítat. Předchozí spuštění je blokující a je nutno ho ukončit CTRL+C Program můžeme spouštět i jako samostatný proces ve vlastním "threadu" (vlákně) - následujícím způsobem: $ run examples/blink.py & Je to určeno znakem & na konci příkazu. Pokud máme napsaný program tak, že přijímá i parametry, dá se předat parametr klasicky: $ run examples/blink_param.py 100 Parametr "100" zde určuje rychlost blikání.
Led
Pro sítivou Led diodu, máme napsanou třídu Led. Při vytváření instance je parametrem PIN, na kterém Led má být. V základní ukázve využíváme toho, že na modulu ESP32-DoIt je vestavěná malá modrá SMD, dostupná na pinu 2.
from util.led import Led led = Led(2) # ukázka hardcode nastavení na PIN 2 led.blink()
Základní ukázka: https://github.com/octopusengine/octopuslab/blob/master/esp32-micropython/examples/blink.py
WS-RGB Led
Barevná RGB dioda
ws = Rgb() ws = Rgb(pinout.WS_LED_PIN,io_conf.get('ws')) ws.simpleTest() ws.rainbow_cycle() ws.color((0,0,0))
Disp7
Sedmisegmentový displej (osmiznakový)
d7 = disp7_init() # 7segment (8digit) display init
Wifi, BLE, …