Zprovoznění ESP32 na Mac OS Big Sur pomocí PlatformIO ve VSCode

07.01.2022 Arduino #esp32 #arduino #programování

Návod jak nainstalovat a pracovat s ESP32 na Mac OS s využitím VS Code a modulu PlatformIO. Je to jediný způsob jak zprovoznit programování pro Arduino.


Instalace rozšíření PlatformIO IDE na VS Code

Desky ESP32 a ESP8266, nebo ESP32-Cam je možné programovat pomocí VS Code s rozšířením PlatformIO IDE. Při instalaci rozšíření PlatformIO IDE postupujte podle následujících kroků.

Otevřít VS Code:

  1. Kliknutím na ikonu Rozšíření nebo stisknutím Ctrl + Shift + X otevřete kartu Rozšíření
  2. Vyhledejte „ PlatformIO IDE “
  3. Vyberte první možnost
  4. Nakonec klikněte na tlačítko Instalovat (Poznámka: instalace může trvat několik minut)
install-platformio-extension-vs-code 

Po instalaci se ujistěte, že je povoleno rozšíření PlatformIO IDE, jak je znázorněno níže.

platformioextension-enabled 

Poté by se na levém postranním panelu měla zobrazit ikona PlatformIO a také ikona Home, která vás přesměruje na domovskou stránku PlatformIO.

platformio-extension-installed-successfully 

To je vše, rozšíření PlatformIO IDE bylo úspěšně přidáno do VS Code.

Pokud nevidíte ikonu PIO a rychlé nástroje ve spodní části, možná budete muset restartovat kód VS, aby se změny projevily.

V každém případě doporučujeme před pokračováním restartovat VS Code.

Přehled rozhraní VS Code

Otevřete VS Code. Následující obrazovka ukazuje význam každé ikony na levém postranním panelu a její zkratky:

vs-code-interface-overview 
  • Průzkumník souborů
  • Prohledávejte soubory
  • Správa zdrojového kódu (pomocí gist)
  • Spusťte a odlaďte svůj kód
  • Správa rozšíření

Kromě toho můžete stisknout Ctrl + Shift + P nebo přejít na Zobrazit > Paleta příkazů… a zobrazit všechny dostupné příkazy. Pokud hledáte příkaz a nevíte, kde se nachází nebo jeho zkratka, stačí přejít na Paletu příkazů a vyhledat jej.

Ve spodní části je modrý pruh s příkazy PlatformIO.

Ikony Quick Tools rozšíření PlatformIO IDE

Zde je to, co ikona dělá zleva doprava:

  • Domovská stránka PlatformIO
  • Sestavit/kompilovat
  • nahrát
  • Čistý
  • Sériový monitor
  • Nový terminál

Pokud na ikony najedete myší, zobrazí se, co každá ikona dělá.

Případně můžete také kliknout na ikonu PIO a zobrazit všechny úlohy PlatformIO. 

platformio-tasks 

Pokud se úlohy nezobrazí ve vašem IDE, když kliknete na ikonu, možná budete muset kliknout na ikonu se třemi tečkami nahoře a povolit úlohy PlatformIO, jak je uvedeno níže.

enable-platformio-tasks 

Přehled PlatformIO IDE

Abyste získali přehled o tom, jak PlatformIO funguje na VS Code, ukážeme vám, jak vytvořit, uložit a nahrát kód „blikající LED“ na vaši desku ESP32 nebo ESP8266.

Vytvořit nový projekt

Na VS Code klikněte na ikonu PlotfomIO Home. Kliknutím na + Nový projekt vytvoříte nový projekt.

platformio-create-new-project 

Pojmenujte svůj projekt (například Blink_LED ) a vyberte desku, kterou používáte. V našem případě používáme. Framework by měl být „ Arduino “, aby bylo možné používat jádro Arduino.

Můžete si vybrat výchozí umístění pro uložení projektu nebo vlastní umístění.

Výchozí umístění je v této cestě Dokumenty > PlatformIO > Projekty. Pro tento test můžete použít výchozí umístění. Nakonec klikněte na „Dokončit“.

platformio-create-new-project-esp32 

V tomto příkladu se používá deska DOIT ESP32 DEVKIT. Pokud používáte desku ESP8266 NodeMCU, proces je velmi podobný, stačí si vybrat desku ESP8266:

platformio-create-new-project-esp8266 

Projekt Blink_LED by měl být přístupný z karty Průzkumník.

platfomio-project-created-folder-structure 

VS Code a PlatformIO mají strukturu složek, která se liší od standardního projektu .ino. Pokud kliknete na kartu Průzkumník, uvidíte všechny soubory, které vytvořila ve složce vašeho projektu. Může se zdát, že je potřeba pracovat s mnoha soubory. Ale nebojte se, obvykle se budete muset vypořádat s jedním nebo dvěma z těchto souborů.

Upozornění: Složky a soubor platformio.ini byste neměli mazat, upravovat ani přesouvat. V opačném případě již nebudete moci zkompilovat svůj projekt pomocí PlatformIO.

soubor platformio.ini

Soubor platformio.ini je konfigurační soubor PlatformIO pro váš projekt. Zobrazuje platformu, desku a rámec pro váš projekt. Můžete také přidat další konfigurace, jako jsou knihovny, které mají být zahrnuty, možnosti nahrávání, změna přenosové rychlosti sériového monitoru a další konfigurace.

platformio-config-init-file-esp32 
  • platforma: která odpovídá SoC používanému deskou.
  • deska: vývojová deska, kterou používáte.
  • framework: softwarové prostředí, které bude spouštět kód projektu.

Pokud chcete u ESP32 a ESP8266 ve svém sériovém monitoru používat přenosovou rychlost 115200, stačí do souboru platformio.ini přidat následující řádek.

monitor_speed = 115200

Poté se ujistěte, že jste uložili změny provedené v souboru stisknutím Ctrl + S.

V tomto souboru můžete také zahrnout identifikátor knihoven, které použijete ve svém projektu pomocí lib_deps směrnice, jak uvidíme později.

src

Složka src je vaše pracovní složka. Pod složkou src je soubor main.cpp . Tam napíšete svůj kód. Klikněte na tento soubor. Struktura programu Arduino by se měla otevřít pomocízaložit() a smyčka() funkcí.

platformio-scr-folder-main-file 

V PlatformIO by všechny vaše náčrty Arduina měly začínat na #include < Arduino.h >.

Nahrávání kódu pomocí PlatformIO IDE: ESP32/ESP8266

Zkopírujte následující kód do souboru main.cpp.

#include <Arduino.h>

#define LED 2

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED, HIGH);
  Serial.println("LED is on");
  delay(1000);
  digitalWrite(LED, LOW);
  Serial.println("LED is off");
  delay(1000);
}

Tento kód každou sekundu zabliká LED na desce. Funguje s deskami ESP32 a ESP8266 (obě mají onboard LED připojenou k GPIO 2). 

Doporučujeme zkopírovat tento kód ručně, abyste viděli automatické dokončování a další zajímavé funkce IDE v akci. Navíc, pokud máte někde v programu chybu v syntaxi, podtrhne ji červeně ještě před kompilací.

Poté stiskněte Ctrl + S nebo přejděte na Soubor > Uložit a soubor uložte.

Nyní můžete kliknout na ikonu Nahrát a zkompilovat a nahrát kód. Případně můžete přejít do nabídky Úkoly projektu PIO a vybrat Nahrát.

upload-code-esp32-platformio-vs-code 

Pokud je kód úspěšně nahrán, měli byste obdržet následující zprávu.

upload-code-esp32-platformio-vs-code-success 

Po nahrání kódu by měl ESP32 nebo ESP8266 každou sekundu blikat svou LED diodou na desce.

Deska ESP32 Vestavěná LED svítí HIGH

Nyní klikněte na ikonu Serial Monitor a měli byste vidět tisk aktuálního stavu LED.

platformio-vs-code-serial-monitor-esp32 

Poznámka: Pokud nevidíte okno Terminál, přejděte do nabídky Terminál > Nový terminál.

Detekce COM portu

PlatformIO automaticky detekuje port, ke kterému je vaše deska připojena. Chcete-li zkontrolovat připojená zařízení, přejděte na domovskou stránku PIO a klikněte na ikonu Zařízení.

platformio-vs-code-devices-com-port 

Odstraňování problémů

Pokud se při pokusu o nahrání kódu zobrazí následující chyba: „ Nepodařilo se připojit k ESP32: Časový limit čekání na hlavičku paketu vypršel “, obvykle to znamená, že vaše deska není v režimu blikání, když nahráváte kód. 

Když k tomu dojde, musíte stisknout on-board BOOT tlačítko ESP32, když v okně ladění začnete vidět spoustu teček.

Změna přenosové rychlosti sériového monitoru – PlatformIO IDE

Výchozí přenosová rychlost používaná platformou PlatformIO je 9600. Je však možné nastavit jinou hodnotu, jak bylo uvedeno výše. V Průzkumníku souborů ve složce projektu otevřete soubor platformio.ini a přidejte následující řádek:

monitor_speed = baud_rate

Například:

monitor_speed = 115200
platformio-change-serial-monitor-baud-rate 

Poté tento soubor uložte.