Instalace podpory ESP32-Cam na MacOS Big Sur

20.12.2020 Arduino #esp #arduino #programování

Pro operační systém MacOS Big Sur se mohou vyskytnout problémy s kompilací kódu pro ESP32-Cam.


Základní postup instalace

1) Otevřete okno předvoleb v Arduino IDE. Přejděte na Arduino  > Předvolby.

2) Zadejte https://dl.espressif.com/dl/package_esp32_index.json do pole „Další adresy URL správce desky“, jak je znázorněno na obrázku níže. Poté klikněte na tlačítko „OK“:

01-screen-shot-2018-08-05-at-16-43-16

 

Poznámka: Pokud již máte adresu URL desek ESP8266, můžete adresy URL oddělit čárkou následujícím způsobem:

https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json

 

3) Otevřete správce desek. Přejít na Nástroje > Deska > Správce desek…

02-screen-shot-2018-08-05-at-16-43-42

 

4) Vyhledejte ESP32 a stiskněte tlačítko instalace pro „ ESP32 by Espressif Systems “:

03-screen-shot-2018-08-05-at-16-43-58

 

5) To je vše. Mělo by být nainstalováno po několika sekundách:

04-screen-shot-2018-08-05-at-16-44-17

 

Možné problémy s kompilací

Pokud se pracuje s prostředím na MacOS Big Sur, může nastat problém s kompilací kódu pro SEP32-Cam. Je to způsobeno několika problémy. První z nich je problém s pythonem resp. z knihovnou pyserial. Potom při kompilaci překladač hlásí, že knihovna není nainstalovaná. 

  • esptool je závislý na pyserial (musíte nainstalovat nejnovější verzi pyserial) a
  • výchozí předvolbou Arduina pro ESPTool je binární soubor, nepoužívá zdrojový soubor (esptool.py).

Musíte se tedy v systému nahradit výchozí binární soubor esptool souborem esptool.py.

Jak soubor vyměnit? ...

  1. Klikněte na nabídku Arduino > Předvolby
  2. Najděte [ArduinoLibraryPath] / preferences.txt. Tj. v Arduino IDE vlevo dole na kartě Nastavení. Kliknutím otevřete
    složku ArduinoLibrary.
  3. Najít a otevřít složku packages/esp32/hardware/esp32/1.x.x a otevřít platform.txt
  4. Na řádku č 7. nahradit binární tools.esptool_py.cmd = esptool za tools.esptool_py.cmd = esptool.py a uložit.
  5. Otevřete složku packages/esp32/hardware/esp32/1.x.x/tools.
  6. Zkopírujte soubor esptool.py a vložte jej do složky ArduinoLibraryFolder/packages/esp32/tools/esptool_py/2.x.x
  7. Ukončete Arduino IDE a znovu otevřete.

Uvedené kroky platí pro verzi Pythonu 2. Pro Python ve verzi V3 se musí provést následujcící:

Takže pokud soubor esptool.py pracuje s pyserial, která je k dispozici ve verzi V3 může být problém v tom, že v balíčku esp32 od espressif stále obsahuje některé verze V2.x a některé používají kompilovanou verzi esptool. Navíc používají příkaz python v platform.txt. Tento příkaz pravidelně běží v python2.x a tím nelze spustit pyserial.
Takže pokud je již nainstalovaný python ve verzi V3 musí se provést:

  • Nainstalovat pyserial v python3.
    sudo python3 -m pip install pyserial
  • Stáhnout nejnovější esptool.py z GitHub.
  • Změnit v esptool.py #!/usr/bin/env python na #!/usr/bin/env python3
  • Zkopírovat soubor esptool.py na místo, kde platform.txt tento nástroj hledá
    (v mém případě: .... /Users/{username}/Library/Arduino15/packages/esp32/tools/esptool_py/2.6.1
  • Navíc jsem to zkopíroval také do adresářů, které již obsahovaly starý esptool.py, a přejmenoval jsem starý .py_old

Aktualizace platform.txt;

  • přidat .py do záznamu -> toolss.esptool_py.cmd = esptool.py
  • nahradit příkaz python na -> toolss.esptool_py.upload.pattern.linux = python3