Hamík202
35. díl – Octopus Lab – Nástroje pro práci s ESP32
V minulých týdnech jsme měli možnost probrat s několika uživateli mikrokontrolérů ESP jak se jim pracuje při vývoji jejich projektů. Dopadlo to podle očekávání. Shodli jsme se, že začátky práce s ESP nejsou triviální. Pokud se ale zaměříte na MicroPython, možná vás překvapí, jak rychle se dá po zvládnutí prvotních „obtíží“ postupovat.
Dnes to tedy budou jen softwarové nástroje. Připomeňme si, jaké máme možnosti:
Esptool a Ampy
Esptool slouží k naflashování MicroPythonu (nahrání systému) do ESP. Je to jako instalace operačního systému, kterou provádíme jen „poprvé“.
S programem ampy pracujeme v příkazové řádce svého počítače. Slouží pro vzdálenou práci s ESP po sériové lince (připojení kabelem). Umožňuje nám přesouvat soubory do ESP (put
), z ESP (get
), vytvářet adresáře (mkdir
) a podobně. Pozor na kolize portu – ampy nesmí být blokováno sériovým terminálem (screen nebo putty) ani jiným programem, který sériovou linku využívá (Thonny).
Putty a uPyShell
Putty je komunikační terminál, který je dobré si osvojit (v Linuxu se používá např. screen). My jsme si přímo v MicroPythonu napsali praktický nástroj, který se na první pohled chová jako klasický Linuxový shell (příkazová řádka v terminálu pro práci se soubory apod.)
Už jsme se o něm zmínili v předchozích dílech, ale aktualizovaný popis naleznete i v naší online dokumentaci: docs.octopuslab.cz/upyshell/.
Pro ty nejjednodušší pokusy s MicroPythonem (několik řádek kódu) můžete vyzkoušet i v shellu vestavěný editor.
Pip
Od konce minulého roku pracujeme i na vlastních „instalačních balíčcích“ (packages) pro Rozšíření MicroPythonu. Tyto balíčky se nejčastěji instalují pomocí pip
(package installer for Python), přesněji upip
(pro MicroPython). Můžeme vyžívat i pypi
(the Python Package Index) na stránkách pypi.org/.
# připojení k wifi
# ...
# Instalace metody deploy() z octopuslab_installer:
>>> import upip
>>> upip.install('micropython-octopuslab-installer')
# wait for install
>>> from lib import octopuslab_installer
>>> octopuslab_installer.deploy()
Thonny
Pokud pracujete na jednodušší a paměťově nenáročné aplikaci, můžete vyzkoušet Thonny jako alternativu ke klasickému IDE + Ampy přístupu.
Bohužel když třeba chcete připojení k WiFi a zároveň BlueTooth, tak nejspíš narazíte. Občas i běžící program znemožní korektní start Thonny
, a jelikož se tluče komunikace na sériovém portu, musíte si osvojit specifické rutiny, jak to provozovat. Pomáhají opakované restarty jak ESP tak aplikace Thonny, což není úplně komfortní, ale za zkoušku to stojí.
Nastavení: v Tools/Options/Interpreter
, by mělo být zvoleno v Interpreter MicroPython (ESP32)
a v Port Vaše USB připojení k ESP – například Silicon Labs CP210x USB to UART Bridge (COM6)
.
FTP
To je pro ESP novinka, se kterou vás velmi rádi seznámíme. FTP (File transfer protocol) je protokol pro přenos souborů mezi počítači pomocí počítačové sítě. Knihovna pro ESP8266 i ESP32 v nové verzi (od letošního roku) už funguje velmi dobře. Jako „protistranu“ používáme například FTP plugin Total Commanderu (testováno ve Win 10).
Jak se spouští FTP na ESP? Jedna z možností je použití Octopus Lab Frameworku – pak je to opravdu jen na pár příkazů:
>>> setup() > cw > ftp
Pro nastartování FTP připojíme ESP pomocí WiFi k lokální síti (příkaz cw) a FTP se spustí příkazem ftp. Pokud vše běží jak má, obdržíme IP adresu. Poprvé je dobré mít zařízení připojeno k terminálu (Putty), abychom viděli, jakou adresu jsme od DHCP obdrželi. V naší ukázce: 192.168.0.31 (tato adresa se už pak většinou nezmění).
V Total Commanderu zvolíme „Připojení k FTP serveru“ (např. zkratkou CTRL+F) kde zadáme „jen“ IP adresu zařízení („Jméno uživatele“ jen „odklepneme“) a se soubory v ESP pak pracujeme jako na běžném (vzdáleném) disku (včetně editování souborů s programem v pythonu!).
Deployer
Už více než půl roku pracujeme (kromě jiného) na vlastní verzi „deployeru“. Chceme mít možnost instalace „za běhu“ a případně i do více vzdálených zařízení. V ESP poběží program „na pozadí“, který v případě požadavku na přehrání kódu pozastaví běh hlavního programu, a ten se pak může aktualizovat (přehraje se nejnovější verzí).
Shrnutí
Instalace systému (flash), kopírování souborů (copy), terminál (term.) a IDE. (Doporučujeme – zelená, dá se použít – šedá, nelze – červená)
Z tabulky na první pohled vychází nejlépe aplikace Thonny, ale to platí pouze pro malé projekty. Pro editaci zdrojových kódů je lepší externí IDE (např. Visual Studio Code). Velmi jednoduché IDE máme i jako nadstavbu webového serveru. Pro instalaci (flash) Micropythonu se tradičně hodí Esptool a na kopírování souborů (copy) využíváme nejvíce FTP. Záleží i na konkrétním projektu. Napište nám na info@octopuslab.cz, jak se s ESP pracuje Vám a jaké nástroje používáte.