Fyzikální kabinet FyzKAB
Články Moduly ESP32 a ESP32-CAM ESP32 + MicroPython Instalujeme MicroPython na ESP32

Instalujeme MicroPython na modul ESP32 (pomocí Thonny IDE)

Aktualizováno: 18. 8. 2023

Co je MicroPython?

MicroPython je interpretr programovacího jazyka Python, který je však optimalizovaný pro mikrokontroléry, jako jsou například desky ESP32. Naší snahou tedy bude vytváření pythonovských programů (skriptů), které bude možné přímo spouštět na desce ESP32.

Ovšem dříve než tak můžeme učinit, musíte si desku ESP32 na to připravit, tedy je třeba na desku ESP32 nahrát prostředí pro vykonávání kódu MicroPythonu. V nejjednodušším případě to můžeme udělat přímo pomocí vývojového prostředí IDE, ve kterém budeme vytvářet skripty Pythonu a odesílat je do modulu ESP32. My budeme dále používat prostředí Thonny IDE.

Instalace MicroPython na desku ESP32 pomocí Thonny IDE

Pro začátečníky, za které se nyní považujeme, je nejjednodušší způsob instalace MicroPythonu na ESP32 přes rozhraní Thonny IDE. Pro počáteční instalaci jak prostředí Thonny IDE, tak firmwaru MicroPythonu potřebujeme stáhnout následující instalační balíčky:

  1. Instalační balíček prostředí Thonny IDE – https://thonny.org/
  2. Balíček MicroPythonu pro modul ESP32 – https://micropython.org/download/esp32/

Instalace Thonny IDE

Jak jsme zmínili v úvodu, programovací prostředí Thonny IDE použijete jak pro instalaci MicroPythonu do modulu ESP32, tak k psaní všech našich následujících Python skriptů. Pokud jsme stáhli instalační balíček prostředí Thonny IDE pro svůj operační systém, nejlépe z oficiálního webu thonny.org, můžeme začít.

POZNÁMKA:
Na webových stránkách projektu Thonny IDE je i možnost stáhnutí portablové verze, která se nemusí instalovat. Po stažení ZIP souboru jej stačí jen rozbalit na zvolené místo. Lze dokonce zvolit verzi jazyka Python, se kterou se má prostředí Thonny IDE stáhnout. Je třeba ještě zmínit, že jak prostředí Thonny IDE, tak jazyk Python obsahuje poměrně dost souborů a tak rozbalování staženého ZIP souboru poměrně dlouho trvá.

Při spuštění instalačního programu si můžete vybrat jazyk. V nabídce je k dispozici i čeština, i když zatím jen ve verzi beta. Postupem času se snad bude jazykový soubor dále rozvíjet, neboť některé části ještě nejsou zcela jazykově lokalizovány. Pro naše úvodní seznámení s prostředím Thonny IDE a MicroPythonem na modulu ESP32 to však příliš vadit nebude.

Dále je instalace Thonny IDE poměrně přímočará. Po jejím dokončení získáme klasický editor kódu s interpretrem Pythonu.

okno Thonny IDE
UPOZORNĚNÍ:
Před instalací a později i při práci s programem nezapomeňte zavřít sériový monitor v jiných aplikacích, například v prostředí Arduino IDE. Pokud k sériovému portu je připojený jiný software, objeví se chyba:
Unable to connect to COM3: could not open port 'COM3': PermissionError(13, 'Access is denied.', None, 3)
Je to způsobeno tím, že ve skutečnosti nemohou dva programy současně přistupovat ke stejnému sériovému portu COM.

Instalace MicroPython pro ESP32 pomocí Thonny IDE

AKTUALIZACE: (18. 8. 2023):
Všimli jsme si, že nová verze prostředí Thonny (4.1.2) umožňuje instalovat MicroPython do modulu ESP32 jak pomocí původního způsobu přes ručně stažený bin soubor, tak novější online formou, kdy si potřebný bin soubor prostředí Thonny stáhne rovnou samo.
Protože v době vzniku původní verze tohoto článku bylo možné nahrávat MicroPython do ESP32 jen pomocí předem staženého bin souboru, doplňujeme nyní i popis možnosti instalace online přímo přes prosředí Thonny.
Pro úplnost si zde ukážeme oba postupy, ale pokud máme své PC s prostředím Thonny připojené k internetu, lze asi doporučit způsob novější (online).
POZN:
Je možné, že online instalaci zvládala i některá z dřívějších verzí prostředí Thonny, ale jejikož jsme v našem zkušebním ESP32 měli MicroPython již nahratý, nevšimli jsme si, kdy přesně došlo ke změně při instalaci MicroPython firmware.
1. Instalace přes ručně stažený bin soubor (offline způsob)

Firmware MicroPythonu pro modul ESP32 je k dispozici na oficiálních stránkách (viz dříve). Měli bychom tam vybrat nejnovější stabilní verzi a stáhnout si potřebný soubor s příponou .bin.

firmware download

Pro naše začátečnické pokusy se určitě nedoporučuje stahovat nejnovější „Nightly builds“, které nemusí být stabilní a jsou určeny pro zkušené vývojáře.

Stažený bin soubor uložíme na PC, například pro něj můžeme vytvořit vlastní složku v rámci instalace prostředí Thonny IDE, abychom věděli, kde je bin soubor uložen.

Otevřeme prostředí Thonny IDE. Chceme-li nainstalovat MicroPython na ESP32, přejdeme v hlavním menu BěhConfigure interpreter….

configure interpreter

V následující nabídce vybereme z rozbalovací nabídky interpret MicroPython (ESP32) a dole klikněte na modrý odkaz Install or update MicroPython.

configure interpreter ESP32

Pro nainstalování MicroPython firmwaru do modulu ESP vybereme v rozbalovací nabídce port, což je číslo USB portu, ke kterému je náš modul ESP32 připojen. Druhou volbou je cesta k bin souboru s firmwarem, který jsme předtím stáhli ze stránek MicroPython.org.

Pokud chceme zvolit instalaci MicroPythonu z předem staženého bin souboru, klikneme dole na tlačítko   ≡  , kde vybereme volbu: Select local MicroPython image…

Posléze standardním dialogem pro výběr souboru vybereme dříve stažený bin soubor, který chceme do modulu ESP32 uploadovat.

install firmware ESP32

Načítáme-li firmware MicroPythonu do modulu, ve kterém předtím byla předešlá verze nebo sloužil pro jiné produkty, doporučuje se paměť modulu před nahráním vymazat (začkrtnutí políčka: ☑ Erase all flash before installing…). Firmware MicroPythonu do modulu zapíšeme kliknutím na tlačítko Instalace.


2. Instalace s online stažením bin soubor (online způsob)

Nový způsob (online) instalace MicroPython firmwarem, začíná stejnými kroky jako původní offline způsob. Tedy: v hlavním menu klikneme na BěhConfigure interpreter… V dalším okně vybereme z rozbalovací nabídky interpret MicroPython (ESP32) a dole klikněte na modrý odkaz Install or update MicroPython.

Zde se nově v dolní části okna objevila nabídka formulářových polí, kraá slouží pro spacifikaci bin souboru, který bude následně stažen a uložen do musulu ESP32.

install firmware ESP32-online
  • Je třeba zde vybrat „rodinu“ modulu, který budeme používat – v našem případě jsme zvolili ESP32, ale pochopitelně je třeba se řídit dle aktuálně připojeného modulu.
  • Dále je potřeba specifikovat variantu použitého modulu – v našem případě jsme zvolili volbu Espressif ESP32 (ale stejně jako u předešlé volby, vše záleží na použitém modulu!).
  • Poslední volbou je verze bin souboru s MicroPythonem, který bude stažen a zapsán do modulu ESP32 (obecně lze doporučit nejnovější, stabilní verzi).

V případě, že přesně nevíme, jaký typ modulu právě používáme, mohou nám napovědět informace načtené přímo z modulu. To provedeme kliknutím na tlačítko   ≡  , kde vybereme volbu: Query device info.

Po nastavení potřebných voleb klikneme na tlačítko Instalace. Následuje stažení bin souboru, pak jeho upload do mudulu ESP32 (obdobné předešlé offline instalaci).


Pokud vše proběhlo v pořádku, MicroPython je správně nainstalován na ESP32. Ještě bychom měli zkontrolovat, aby Thonny používal interpret MicroPython, který jsme právě instalovali na ESP32. Stačí se vrátit do Běh → Configure interpreter… a v případě potřeby jej změnit.

Interpret MicroPython pro vaši desku ESP32 by se měl objevit Shell okně prostředí Thonny:

ESP32 MicroPython - Shell
POZNÁMKA
Pokud se nic nestane, můžete zkusit kliknout na tlačítko STOP na hlavním panelu, čímž se překladač restartuje.

Funkčnost interpretru jazyka Python na desce ESP32 můžeme vyzkoušet zadáním primitivního příkazu na příkazový řádek: >>>1 + 1

MicroPython ESP32 - test

Pokud se dočkáme očekávané odpovědi, máme svůj první modul ESP32, do kterého můžeme zapisovat skripty v jazyce Python.

První skript MicroPythonu na ESP32

Pochopitelně vše výše uvedené jsme nedělali proto, abychom zjistili, kolik je 1+1. Nyní, když jsou všechny nástroje nainstalovány a připraveny, můžeme se konečně pustit do programování a napsat svůj první skript v Pythonu (v prostředí Thonny IDE).

Téměř ve všech příručkách a učebnicích programování bývá prvním programem legendární kód, který vypíše hlášku „Hello World!“. A naopak v učebních textech představující nějaký programovatelný modul je prvním skriptem klikání vestavěné LED. Nebudeme tedy vybočovat z řady a vydáme se touto cestou. Abychom ukázali, jak je MicroPython na modulu ESP32 úžasný, náš první skript vykoná obojí!

Náš skript vypíše hlášku „Hello World!“ a pak začne blikat vestavěnou LED (přítomná na pinu GPIO2). Skript napíšeme do hlavního okna prostředí Thonny IDE.

import time
from machine import Pin

print("Hello World")
p2 = Pin(2, Pin.OUT)

while True:
  p2.on()
  time.sleep_ms(250)
  p2.off()
  time.sleep_ms(250)

Chcete-li spustit skript na desce ESP32, stiskněte zelené tlačítko Spustit aktuální skript (nebo klávesa F5). Na následujícím obrázku vidíme, jak se v okně Shell zobrazila požadovaná hláška „Hello World!“ a při pohledu na modul ESP32 vidíme blikající vestavěnou LED.

ESP32 MicroPython - Hello_World
ESP32 MicroPython - LED blik

Fajn, na začátek máme hotovo! Ještě si můžeme vyzkoušet prostředí Thonny IDE zavřít. Rázem jsme konfrontováni s dotazem o uložení našeho skriptu. Pokud potvrdíme, že chceme svůj první program uložit, následuje volba, zda kód uložit do počítače nebo do MicroPython zařízení. Prozatím využijeme možnost uložení do počítače. Jak uvidíme později, k volbě uložení kódu do modulu ESP32, je třeba si ještě něco povědět.

Thonny - ulozit skript.png

Zároveň si všimněme, že jakmile zavřete prostředí Thonny IDE, blikání modulu ESP32 ustane. To je právě důsledek toho, že kód skriptu zatím sice běží na modulu ESP32, ale je tak trochu „zapůjčen“ od prostředí Thonny IDE, tedy není na modulu ESP32 uložen.

Více si k tomu pochopitelně řekneme v následujícím článku, kde náš první skript ještě trochu rozebereme a hlavně si ukážeme některé základní vlastnosti, které budeme při práci s Python soubory na modulu ESP32 potřebovat a používat.

UPOZORNĚNÍ:
Nesouhlasíme s vyřazením Newtonových zákonů, Ohmova zákona a zákona zachování energie z učiva fyziky základních škol v České republice!