ESP32

A méltán népszerű ESP8266 utódja az ESP32 fantázianéven jelent meg 2016-ban. Érdekes módon közel sem terjed olyan iramban mint elődje, bár igaz, ára is majdnem a duplája. (liciten, 1400Ft-ért jutottam a tesztpéldányhoz)

Update: ESP32 és a MicroPython (2020)

esp32.jpg

Nézzük miben térnek el egymástól:

ESP8266 ESP32
CPU egy magos két magos
Sebesség 80Mhz 160Mhz
Memória 160 kByte 520 kByte
Flash tárhely SPI <=16MB SPI <=16MB
GPIO 17 36
PWM csak szoftveres hardveres+szoftveres
802.11 b/g/n Wi-Fi Támogatja, 20Mhz csatornaszélességgel Támogatja, 40Mhz csatornaszélességgel
Bluetooth - BT 4.2
Kapacitív érintésérzékelő bemenet 0 10
ADC bemenet 1 db (10bit felbontással) 18 db (12 bites felbontással)
DAC kimenet 0 2
Belső CPU hőmérő - van

 

Ez mind szép és jó, de miért kellhet ez nekem?

  • CPU: A két külön mag előnyös lehet, ha az egyik pl a kommunikációt intézi, a másik pedig e közben a szenzorok eredményeit gyűjti be. Az egymagos ESP8266 esetén bizony a kommunikáció akadozhat, ha egy szenzor lekérdezése, vagy egyéb kódrészlet blokkolja a program futását...
  • Memória: no ez mindig el szokott fogyni, sosem lehet elég...
  • GPIO: multiszenzoroknál a 17 (ami csak elméletileg ennyi, szabadon nem mind használható) tű éppen csak elég, sosem árthat eggyel több...
  • PWM: Amennyiben használunk szoftveres PWM-et bárhol, láthatjuk, hogy nem túl jó, "remeg" néha a kimenet. A hardveres gyorsabb és stabilabb. Ha nem használtunk ilyet, akkor a hardverest se fogjuk.
  • WiFi: A HT40 csatornaszélesség nagyobb elméleti sebességet biztosít, cserébe két csatornát foglal be, vagyis kevesebb eszköz fér el így egymás mellett, és igazából ESP modulokkal szemben ritka igény, hogy 150mb/s-el streameljenek valami műsort, bár az ESP32 már képes lenne rá ilyen módon
  • Bluetooth: jelenlétérzékelésre és okostelefonnal/PC-vel való kommunikációra, de akár a WiFi kapcsolat megszakadása esetére tartalék kapcsolatként is remek lehet
  • Kapacitív érintésérzékelés: igazából nem támadt még erre igényem, de
  • ADC: bizony ha az akkumulátor feszültségén kívül vízszintet, nedvességet, illetve távolságot akarunk valamiért mérni egy időben, egynél több ADC-re van szükség, a 18 meg egyenesen Kánaán!
  • DAC: primitív hangkimenetre lehet használni
  • Hőmérő: valós időben láthatjuk, hogy nem melegszik-e túl a készülék, MQTT-n gyűjthetjük is az adatot, és dönthetünk, hogy könnyítünk a feladatain, vagy hűtjük, ha szükséges. :) De közeli meghibásodás előrejelzésére is jó lehet.

Elképesztő egyébként, hogy a teljesítmény ilyen mértékű növekedése ellenében a fogyasztása nem növekedett. A chipen levő felirat szerint egy ESP-WROOM-32 büszke tulajdonosa lettem, ám én úgy vagyok ezzel, hogy hiszem, ha működik.

Ezért beizzítottam:

A microUSB-USB számítógéphez való csatlakoztatása után, a NodeMCU-nál már megszokott módon rögtön belép programozói módba, gyorsan meg is néztem, mit vettem:

sudo python2 esptool.py --port /dev/ttyUSB0 flash_id
esptool.py v2.0.1
Connecting........____
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Uploading stub...
Running stub...
Stub running...
Manufacturer: c8
Device: 4016
Detected flash size: 4MB
Hard resetting...

Az ESP32D0WDQ6, bár egy korai szériás darab, de valóban egy kétmagost sikerült szereznem 6x6mm, beágyazott flash nélkül, a 4MB flash a fejlesztői lapra van integrálva és SDIO-n keresztül csatlakoztatva.

Sajnálatos módon a használata sem túl egyszerű. Pár órát rááldoztam az életemből, hogy az Arduino alá feltegyem az arduino-esp32 könyvtárat, majd még pár továbbit, hogy le tudjam fordítani az ESPEasy Mega legújabb változatát.. és be kell valljam, csak mérsékelt sikereket értem el. Sok kivágott pluginnal később sikerült egy binárist készítenem, de akkor jött a firmware feltöltése az esptool-al... és nem indult el.

Próbálkoztam a még béta stádiumban levő uPyEasy-vel is, hasonló sikertelenséggel.

Szerencsére aztán rátaláltam egy kész binárisra, amiben a flasheléshez szükséges egyéb fájlok is megtalálhatóak:

ESPEasy32

A benne levő állományok windowshoz készültek, a flashSerial.cmd segítségével tudják eme nagyszerű operációs rendszer hívei feltölteni az USB kábellel csatlakoztatott ESP32-re a firmware-t. A többiek hozzám hasonló módon Linuxon az alábbi parancs segítségével érhetik egy ugyanezt:

sudo python2 esptool.py --chip esp32 --port /dev/ttyUSB0  --baud 57600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader.bin 0x10000 ESPEasy32_R20000.bin 0x8000 ESPEasy.ino.partitions.bin

Ez persze még erősen teszt verzió, néhány pluginnal, és szerintem teljes mértékben csak a jelenleg is még kezdeti stádiumban levő uPyEasy segítségével lehet majd kihasználni az ESP32 által nyújtott lehetőségeket. Addig megmarad az erős programozói vénákkal rendelkezők játékszerének, egyelőre én is félreteszem.

espeasy32.jpg

A bejegyzés trackback címe:

https://bitekmindenhol.blog.hu/api/trackback/id/tr1713640340

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

karolyia 2020.02.03. 20:24:39

rossz helyre írtam. szóval: m5stack és/vagy m5stick tesztelés van tervben?

eNeS 2020.02.03. 22:14:37

nem hiszem, hacsak ingyen nem küld a forgalmazó egy készletet.

karolyia 2020.02.04. 13:44:49

@eNeS: rendeltem egy m5sticket. rommá tesztelem. ha gondolod, akkor utána átadom tesztelgetni szívesen. most rá vagyok állva a pythonra és azért érdekes nekem

eNeS 2020.02.04. 17:30:58

vettem egy WROVER ESP32-t 4MB PSRAM-al, pont úgy támogatja a micropythont, mint bármely más esp32 alapú cucc. csak ez 6-8 dollárba kerül.

karolyia 2020.02.07. 22:26:31

értemén, de azért m5stickben jóval több a lehetőség és kompakt a motyó. a wroverhez még beszek kijelzőt, meg ház se ártana és majdnem ugyanott van.

Támogatók:
okosotthon.jpg
allterco.jpg

Utolsó kommentek

  • szenorb: Hello. Bekötöttem 12V-ra , a bemetére egy mozgás érzékelőt kötöttem. Szépen kapcsol a relé a késle... (2023.06.14. 06:48) Shelly okosrelé (Shelly1)
  • Melanoheliophobia: Üdv! Kb. 2 éve vásároltam két ugyanilyen okos izzót. Sajnos az egyik még garancia idő alatt eltávo... (2023.05.03. 16:50) Shelly Vintage okosizzó
  • eNeS: Lehetséges, bár az ESP8266-ot lassan ideje elfelejteni, ha nem helyi hálózatra akarsz vele forgalm... (2023.04.02. 08:43) Tasmota szkriptek
  • eNeS: @tomih: Thonnyban rebootot nyomva nekem se megy az NTP. De mikor lekapcsoltam a Thonnyt és rebooto... (2023.04.02. 08:40) Raspberry Pico és a LAN (W5100S-EVB-Pico)
  • krump_lee: Kedves eNeS! ESP8266 tasmota-val szenvedek, hiemq kapcsolat sehogy nem jön össze, sehol nem talál... (2023.04.02. 08:31) Tasmota szkriptek
  • Utolsó 20

Címkék

433mhz (12) alkatrész (22) alternatív kapcsoló (2) amg8833 (1) analóg (2) android (1) arduinoeasy (5) audio (1) automatizálás (3) bemenet (3) bk7231n (1) ble (1) blitzwolf (4) bluetooth (9) bridge (2) camhi (2) csináld magad (22) dimmer (1) diy (28) do-it-yourself (27) domoticz (11) ds18b20 (1) ebay (3) érintő (2) érintőkapcsoló (7) érzékelő (11) esp-01 (2) esp32 (11) esp8266 (21) espeasy (2) espurna (1) esp projekt (18) Eview7 (1) ewelink (1) feldolgozó (1) felhő (1) fényérzékelő (1) firmware (7) flame detector (1) fogyasztásmérő (5) ftdi (1) füstérzékelő (1) gázérzékelő (1) gpio (1) hang (4) hangjelző (1) hőmérséklet (22) https (1) ikea (1) impulzus relé (1) izzó (2) javascript (1) jelenlétérzékelő (3) kamera (18) keresztkapcsoló (1) kézmozdulat (1) kijelző (3) kimenet (21) konnektor (8) lan (9) lángérzékelő (2) led (3) linux (4) logic level converter (1) lua (1) lux (1) maple mini (2) mcu (3) micropython (1) mikrovezérlő (2) milkv (1) mobil (1) mosfet (1) mozgás (5) mpyeasy (4) mq-2 (2) mqtt (3) működtető rendszer (5) multiroom (1) nedvesség (1) neo (1) neopixel (1) Node-RED (1) nvr (4) nyitás (7) okosház (4) okosizzó (3) okosotthon (8) oled (1) onvif (8) openbeken (1) opencv (1) openwrt (4) orange pi (4) páratartalom (6) php (1) pico (1) pi pico (2) poe (1) programozás (9) projekt (25) proximity olvasó (1) python (2) raspberry (14) raspberry projekt (6) raspbian (1) reed (1) relé (27) rf (2) rgb (6) rock pi (1) rögzítő (2) rp2 (1) rpieasy (1) rtc (1) shelly (24) smartwise (1) solid state relay (1) sonoff (20) SonOTA (1) soros (1) ssl (1) ssr (1) stm32 (4) szenzor (11) szilárdtest relé (1) szintillesztő (2) sziréna (1) szkript (3) szünetmentesítés (4) t1 (1) tasmota (8) távirányító (3) Telegram (1) termékteszt (85) termosztát (2) touch (2) ups (5) usb (7) usb hub (1) valós idejű óra (1) vezérlések (20) vezérlő (5) világítás (5) villanykapcsoló (12) webkamera (1) wiegand (1) wifi (32) ws2812 (1) xiaomi (5) xm (4) xmeye (4) yoosee (1) zigbee (16) zwave (3) Címkefelhő
süti beállítások módosítása