Fyzikální kabinet FyzKAB
Články Moduly ESP32 a ESP32-CAM ESP32 – vlastnosti a metody Instalace modulu ESP32 do Arduino IDE

Instalace modulu ESP32 do Arduino IDE

Existuje doplněk pro Arduino IDE, který vám umožňuje programovat ESP32 pomocí Arduino IDE a jeho programovacího jazyka. V tomto článku si ukážeme, jak nastavit prostředí Arduino IDE pro desku ESP32. A to ať už používáte Windows, Mac OS X nebo Linux. Pokud máte zakoupený některý z modulů ESP32 a chcete jej programovat pomocí prostředí Arduino IDE, můžeme tedy začít.

CP210x USB–UART Bridge Virtual COM Port

Úplně prvním krokem pro práci s vývojovou deskou s ESP32 je potřeba nainstalovat ovladač. Pro propojení počítače a vývojové desky je potřeba stáhnout ovladač pro USB komunikaci ze stránek společnosti Silicon Labs (https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers). Na stránkách přejděte na záložku DOWNLOADS, kde si vyberete instalační balíček pro svúj operační systém. Kupříkladu pro systém Windows doporučujeme stažení univerzálního balíku ovladačů: CP210x Universal Windows Driver.

Stazeni ovladace CP210x

Po stažení souboru instalačního balíčku ovladačů jej spusťte a postupujte dle instrukcí.

Nastavení prostředí Arduino IDE

Ujistěte se, že máte ve svém počítači nainstalovanou nejnovější verzi Arduino IDE. Pokud ne, odinstalujte svou verzi a nainstalujte znova tu aktuální. Instalaci nejnovějšího softwaru Arduino IDE můžete stáhnout z arduino.cc/en/Main/Software, nebo v případě počítače s Windows 10 je též dostupná v Microsoft Store.

  1. Ve svém Arduino IDE přejděte na Soubor > Vlastnosti
    Arduino IDE - vlastnosti
  2. Do pole „Správce dalších desek URL“ zadejte: https://dl.espressif.com/dl/package_esp32_index.json

    Arduino IDE - set URL
  3. Poté klikněte na tlačítko „OK“:
    Poznámka:
    Pokud v tomto poli již máte zadanou jinou URL, např. pro desky ESP8266, můžete adresy URL oddělit čárkou, třeba takto:
    https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_…
  4. Otevřete Správce desek. Přejděte na Nástroje > Vývojová deska > Manažér Desek…
    Arduino IDE - manazer desek
  5. Vyhledejte balíček pro moduly ESP32 (nejlépe zadáním výrazu ESP32 do vyhledávacího pole), vyberte nabídnutý balíček ESP32 by Espressif Systems a klikněte na tlačítko Instalace:
    Arduino IDE - instalace ESP32
  6. A je to! Rozšíření pro moduly ESP32 by mělo být nainstalováno během několika sekund.
    Arduino IDE - hotova instalace
UPOZORNĚNÍ
Nedávno byl balíček pro moduly ESP32 aktualizován na verzi 3.x, která je založena na zcela novém systému ESP-IDF. Tato verze přinesla v oblasti některých příkazů docela radikální změnu. Může se tedy stát, že některé kódy uváděné v různých tutoriálech byly napsány s doplňkem verze 2.x nebo nižší. V tom případě nelze zaručit, že se uvedený programový kód zkompiluje a poběží správně.

Testování instalace

Připojte desku ESP32 k počítači, otevřete Arduino IDE a postupujte takto:

  1. Vyberte v nabídce Nástroje > Vývojová Deska > ESP32 Arduino > ESP Dev Module (popřípadě typ vašeho ESP modulu)
    Arduino IDE - set ESP32
  2. Nastavení modulu můžeme zkontrolovat otevřením nabídky Nástroje.
    Zároveň zde můžeme zvolit USB port (COM port) pro programování modulu, nebo aspoň zkontrolovat, zda se tento port v prostředí Arduino IDE zobrazuje, což znamená, že se ovladače modulu ESP32 dobře naistalovaly.
    Arduino IDE - set COM port
  3. Máme hotovo!

První program

Asi se sluší vše řádně dotáhnout až do konce, zkusíme tedy napsat nějaký ukázkový program, zkompilujeme jej a odešleme do modulu ESP32.

Je téměř železnou tradicí, že u mikrokontrolérů je prvním programem blikání připojenou LED. Ani my neporušíme tuto tradici a prostě si zablikáme. 😀

Využijeme-li informace, že k pinu GPIO 2 je na desce ESP32 připojena vestavěná LED, můžeme naši desku ESP32 rozblikat. K tomu nám poslouží následující kód:

/* BLIKANI */

const int ledPin = 2;
// const int ledPin = 5; // plati pro ESP32 Lolin32
// const int ledPin = 1; // pro ESP32-DEVKIT rev. 1

// funkce SETUP se spusti jednou pri stisknuti tlacitka reset nebo pri zapnuti desky.
void setup() {
  pinMode(ledPin, OUTPUT);   // nastavi GPIO2 pin jako vystup.
}

// funkce LOOP bezi stale dokola.
void loop() {
  digitalWrite(ledPin, HIGH);   // rozsviti LED diodu (HIGH = napeti 3,3 V na pinu)
  delay(1000);   // cekani jednu vterinu
  digitalWrite(ledPin, LOW);   // zhasnuti LED diody (LOW = napeti 0 V na pinu)
  delay(1000);   // cekani jednu vterinu
}

Máme-li ve svém Arduino IDE zvolenou desku ESP32 a je-li i nastaven komunikační USB port (COM port), můžeme program přeložit tlačítkem tlacitko Nahrat, stejně jako jsme zvyklí při programování modulu Arduino.

Chtělo by se říci: „A je to!“ ALE:

Pokud se vám při pokusu o nahrání kódu zobrazí následující chyba: A fatal error ocourred: Failed to connect to ESP32: Timed out…, znamená to, že váš ESP32 nebyl v režimu zápisu/nahrávání.

Arduino IDE - error message

Chcete-li nahrát kód, musíte postupovat podle následujících kroků:

  1. Podržte tlačítko BOOT na desce ESP32
    ESP32 - tlacitko BOOT
    zdroj obrázku: https://randomnerdtutorials.com/getting-started-with-esp32/
  2. Kliknutím na tlačítko tlacitko Nahrat v Arduino IDE spustíte nahrávání programu.

  3. Poté, co se zobrazí Connecting… v okně Arduino IDE, uvolněte prst z tlačítka BOOT
    ESP32 - zapis kodu
  4. Nakonec byste měli vidět zprávu Done uploading.

A teď už to opravdu je HOTOVO! Po nahrání programu můžete stisknutím tlačítka EN (enable), nebo na některých jiných modulech je tlačítko označeno RST (reset). Tím modul ESP32 restartujete a začne se od začátku vykonávat právě zapsaný program.

ESP32 LED-blink
zdroj obrázku: https://makeabilitylab.github.io/physcomp/esp32/led-blink.html

Doufáme, že jste tento článek pro začátek považovali za užitečný. Blikající LED dioda je zatím jen jednoduchý projekt, který Vám měl pomoci začít s ESP32. Především šlo o ukázku postupu, který musíte absolvovat při nahrání kódu do modulu ESP32.

Pokud jste již dříve používali modul Arduino, zkuste se podívat na výše uvedený kód a zamyslet se nad tím, v čem se vlastně kód pro ESP32 liší. Mám pocit, že jen v čísle použitého pinu. 😎

Pokud se vám začíná modul ESP32 aspoň trochu líbit, rádi bychom Vám zde nadále přinášeli (v češtině!) další ukázkové projekty s moduly ESP32.

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!