Hlavní navigace

ESP32 je tu. Co přinese nástupce ESP8266?

1. 9. 2016
Doba čtení: 4 minuty

Sdílet

Od dnešního dne je dostupný nový čip ESP32, od kterého si bastlíři slibují mnoho příjemných změn a novinek. Je nástupcem známého čipu ESP8266, který je součástí mnoha zajímavých řešení.

Dnes je nejen první den nového školního roku, ale také první den komerční dostupnosti dlouho (a nebál bych se napsat toužebně) očekávané novinky – čipu ESP32 firmy Espressif Systems.

ESP32 je nástupcem super úspěšného Wi-Fi čipu ESP8266, který je většině čtenářů Roota dobře známý a který zaplavil svět před dvěma lety. Pro jistotu si připomeňme, že ESP8266 je čip s 32bitovým RISCovým jádrem Xtensa LX106 firmy Tensilica původně určený pro doplnění Wi-Fi konektivity k existujícím zařízením (mikrokontrolérům), komunikující přes sériovou linku pomocí AT příkazů.

ESP8266 verze 01

Záhy ovšem šikovní lidé objevili možnost programovat procesor na čipu přímo, vyměnit celý firmware a ovládnout tak nejen jeho Wi-Fi část, ale i GPIO – volně použitelné vstupně výstupní piny (jaké má například i Arduino či Raspberry Pi). Přitom zabojovali s chabou dokumentací v čínštině a přeložili ji do angličtiny, zároveň dokázali vytvořit svobodný toolchain (takže poslední rok se pro ESP8266 kompiluje firmware normálně v GCC). Tím doslova explodovaly možnosti využití ESP8266. Zvlášť uvážíme-li cenu modulů, které s čipem ESP8266 vyrábí třeba firma Ai-thinker – drobní prodejci na čínských e-shopech je prodávají za méně než 40 Kč (včetně poštovného).

Neúplná sestava dostupných desek s čipem ESP8266

Čip ESP8266 je velmi výkonný (standardně běží na 80 MHz, ale ochotně se přepne na 160 MHz), má obvyklá rozhraní (nejméně dvě SPI, I2S, 2× UART, jeden 10bitový ADC, softwarově I2C a PWM), je energeticky úsporný (umí různě hluboko usnout) a tak není divu, že prakticky spustil lavinu internetu věcí – nejen u kutilů celého světa, ale i komerčních firem (například chytré relé Sonoff, a jistě desítky dalších výrobků, o kterých nemám ponětí).

Čím více se ESP8266 dostával do povědomí programátorů, tím častěji jsme naráželi na jeho omezení a limity. Například velikost RAM pro data je jen 96 kB. Dobrou polovinu pro sebe navíc zabere Wi-Fi, které běží skryto v blobu (binárním balíku bez zdrojových kódů), takže s ním není moc řeč (nedá se optimalizovat). 50 kB RAM stále vypadá jako relativně hodně (6× více než u Arduina Mega), ale výkonný 32bitový procesor svádí k použití například interpretovaných jazyků (Lua, Python, Javascript, Basic) a pak je naráz paměti velmi málo. I při programování v C dojde paměť nepříjemně brzy.

Dále, GPIO pinů je jen 16, a volně použitelných je jich tak 10. Pro porovnání, Arduino Uno jich má 20, Raspberry Pi a jeho klony 26, STM32 několik desítek a Arduino Mega 70! Tím je ESP8266 docela v nevýhodě. Pouze jeden analogový vstup také zamrzí.

Popis vývodů ESP modulu verze 07 nebo 12

Nakonec bych zmínil nutnost velmi opatrného programování. Zatímco u Arduina máme celý mikrokontrolér pro sebe a můžeme si rozhodovat o každé mikrosekundě jeho běhu, tak u ESP8266, pokud má fungovat Wi-Fi spojení, je nezbytné neustále vracet programové řízení tomu blobu, co uvnitř běží a „dělá Wi-Fi“. Paradigma dvou funkcí známé z Arduino IDE (setup a loop) tu docela drhne (přestože dnes většinou lidé začínají programovat ESP8266 právě v Arduino IDE).

Proto všechny programátory potěšil v listopadu loňského roku mail od firmy Espressif Systems slibující napravit všechny problémy, na které si uživatelé ESP8266 stěžovali, výrobou zbrusu nového čipu nazvaného ESP32.

Popis vývodů čipu ESP32

Slibované vlastnosti ESP32:

  • Rychlejší Wi-Fi: až 150 Mbps (HT40)
  • Přidání Bluetooth: jak 4.0 LE, tak i staršího 2.1/3.0
  • Dvoujádrový procesor: místo 1×80 MHz rovnou 2×160 MHz (až 2×240 MHz) – jedno jádro „dělá Wi-Fi“ a druhé je zcela k dispozici programátorovi
  • Nízký příkon: ještě úspornější, plus práce i během spánku
  • Bohatší periferie: víc a přesnější ADC, nově DAC a dokonce vstupy pro čtení dotyků kapacitní vrstvy
  • Samozřejmě mnohem více GPIO pinů – 36 místo původních 16
  • RAM: přibližně 400 kB (prameny se liší, občas přes 500 kB)
  • Bezpečnost: AES a SSL akcelerováno v hardware a další důležité vlastnosti pro budování bezpečných systémů
  • Zjednodušení API, uvolnění co nejvíce částí pod svobodnou Apache licencí a dokumentace od začátku v angličtině

Popis vývodů modulu s ESP32

Pro podrobnější informace prosím navštivte přímo zdroj autoritativních informací.

Z výše uvedených informací je zřejmé, že při návrhu ESP32 skutečně došlo k vyřešení všech bolístek ESP8266, plus nám Espressif nadělil mnoho nových skvělých dárečků navíc. Jestliže ESP8266 šlo použít ke stavbě mnoha zařízení spadajících nejen pod internet věcí, tak s ESP32 se škála možných aplikací díky Bluetooth ještě více rozšiřuje a zařízení budou mnohem lépe připravena pracovat šifrovaně v dnešní šmírovací době na internetu.

CS24_early

Podrobnější popis vlastností ESP32

Tak tedy o ESP32 už víme, že bude úžasný, víme, kdy bude dostupný (ode dneška), tušíme, kde se bude dát koupit (určitě AliExpress.com a další podobné prodejní kanály), ale co vůbec netušíme, je jeho cena. Ta je skutečně tajná, John Lee z tweetu na začátku článku nechce nic prozradit a ani z jiných kanálů žádná cena zatím neunikla. Zde mi dovolte malou předpověď: pokud Espressif (resp. Ai-thinker a další výrobci desek) nastaví cenu ESP32 nad psychologickou hranici 10 amerických dolarů, bude mít ESP8266 (za 1,70 dolaru) své místo na trhu ještě pár měsíců jisté.

Pokud ovšem Espressif zopakuje agresivní cenovou politiku, s jakou prodává ESP8266, a nastaví cenu ESP32 hlouběji pod 10 dolarů, tak se pravděpodobně staneme svědky brutálního zkanibalizování staršího ESP bratříčka. Pak bych očekával, že ESP8266 se už na tyto Vánoce bude prodávat za cenu pod jeden americký dolar a na jaře prostě zmizí z trhu – protože ESP32 je zkrátka o tolik lepší, že si neumím moc dobře představit, že by ještě někdo používal starší, pomalejší, méně vybavený a omezenější ESP8266.

Byl pro vás článek přínosný?

Autor článku

Petr Stehlík vystudoval aplikovanou informatiku a pracuje jako vývojář webových aplikací a administrátor linuxových serverů. Provozuje vlastní server tvpc.cz.