ESP32, mehr als ein ESP 8266 Nachfolger
Es war nur eine Frage der Zeit, bis jemand den Ansatz des ESP8266 SoC und der Programmierung mit LUA (Siehe NodeMCU) auf eine neue Hardware umsetzt, die schneller, größer, stärker und robuster sein soll. Das Wettrüsten (Moores Law) scheint auch bei den kleinen SoC-Geräten im vollen Gange zu sein. Und so ist es nicht verwunderlich, dass in 2015 dann von der Firma MXCHIP mit dem EMW3165 ein "neuer" IoT-Baustein in den Markt geworfen wurde. Aber auch ESP hat mit dem ESP32 einen Nachfolger im Sortiment:
Es soll bald einen großen Bruder oder Nachfolger des
beliebten ESP8266 geben. Preis ca. 3-5 US$
EspressIF ESP32
https://espressif.com/en/products/hardware/esp32/overview
Von allem etwas mehr und zzgl. Bluetooth
http://www.heise.de/make/meldung/Grosser-Bruder-Der-Mikrocontroller-Espressif-ESP32-vorab-ausprobiert-3258216.html
Technical Reference
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
ESP32 User Guide EN
https://www.espressif.com/sites/default/files/documentation/ESP32_ECO_V3_User_Guide__EN.pdf
Vergleich zum ESP8266
Vergleicht man die Datenblätter, dann sind die Unterschiede erst mal nicht so gewaltig. Aber in dem Marksegment ist Preis natürlich ein wichtiges Kriterium. Aber es sind die kleinen Verbesserungen wie z.B. 5V-Tauglichkeit, die an anderer Stelle schon wieder Geld und Zeit für gesonderte Pegelwandler einsparen können. Durch den Einsatz von LUA mit einem schnelleren Prozessor werden natürlich Dinge möglich, die mit dem ersten NodeMCU vielleicht schon an der Geschwindigkeit gescheitert sind.
Komponente | ESP8266 ESP8266 SoC |
ESP32 http://www.espressif.com/ products/hardware/esp32/overview |
EMW3165 http://en.mxchip.com/ product/wifi_product/38 |
EMW3162 http://en.mxchip.com/ product/wifi_product/39 |
---|---|---|---|---|
CPU | Tensilica LX3@80Mhz |
240 MHz dual core Tensilica LX6
microcontroller |
Cortex-M4core@100MHz |
Cortex-M3 core@120MHz |
Anschlüsse | xx GPIO |
Ultra-low noise analog amplifier 3 x UARTs, including hardware flow control 3 x SPI 2 x I2S 12 x ADC input channels 2 x DAC 2 x I2C PWM/timer input/output available on every GPIO pin OpenOCD debug interface with 32 kB TRAX buffer SDIO master/slave 50 MHz Supports external SPI flash up to 16 MB SD-card interface support |
22 GPIOs |
32 x GPIOs |
WiFi | 802.11 b/g/n |
WEP, WPA/WPA2 PSK/Enterprise Hardware accelerated encryption: AES/SHA2/Elliptical Curve Cryptography/RSA-4096 |
802.11b, 802.11g, 802.11n (single stream) on
channel 1-14@ 2.4GHz |
802.11b, 802.11g, 802.11n (single stream) on
channel 1-14@ 2.4GHz |
Bluetooth | Nein |
Integrated dual mode Bluetooth (classic and BLE) |
|
|
Die Spezifikation bezieht sich natürlich auf den Chip. Wenn diese auf Bausteinen eingesetzt wird, dann können Sie nicht sicher sein, dass auch alle GPIO-Pins herausgeführt werden. Das gilt insbesondere für den EMW3162, der 32 GPIOs hat.
- ESP32 Chips, Module
http://www.wikiwand.com/en/ESP32 - ESP32 to go
https://www.heise.de/developer/artikel/ESP32-to-go-4452689.html - ESP8266 vs ESP32
https://draeger-it.blog/esp8266-vs-esp32/
ESP32 Technical Reference Manual
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
Pin Liste
https://www.espressif.com/sites/default/files/documentation/ESP8266_Pin_List_0.xls
Programmieren
Der ESP32 kann wie der ESP8266 programmiert werden. Da er aber auch deutlich leistungsfähiger ist, gibt es auch andere Ansätze.
ArduinoIDE
OpenHPI: Wie programmiere ich meinen
ersten Mini-Computer?
https://open.hpi.de/courses/mikrocontroller2019?locale=de
ESP32 per Ardublockly als Schüler programmieren
Sie können den ES32 auch über die Arduino Plattform programmieren. Sie müssen nur über "Additional Boardmanagers" folgende URL addieren.
ESP32 + Arduino
https://www.youtube.com/playlist?list=PLzvRQMJ9HDiQ3OIuBWCEW6yE0S0LUWhGU
How to Multitask with FreeRTOS (ESP32
+ Arduino series)
https://www.youtube.com/watch?v=WQGAs9MwXno
https://dl.espressif.com/dl/package_esp32_index.json
Mehrere URLs für verschiedene Boards können Sie durch Komma getrennt addieren, z.B. habe ich so mein ATmel85, ESP32 und ESP8266 eingebunden
http://digistump.com/package_digistump_index.json, http://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Arduino Plattform
- Arduino core for the ESP32
https://GitHub.com/espressif/arduino-esp32 - ESP32 Erste Schritte mit Arduino IDE
http://esp32-server.de/ - Arduino IDE installieren und fit machen
für ESP8266 und ESP32
https://www.heise.de/ct/artikel/Arduino-IDE-installieren-und-fit-machen-fuer-ESP8266-und-ESP32-4130814.html - Control Hardware with AskSensors over
HTTP/HTTPS
https://asksensors.com/doc/control-esp32-https.html
ExpressIF IDF
Ein anderer Weg ist natürlich weiterhin die direkte Entwicklung mit dem ExpresIF IDF auf Basis von freertos, wofür ExpressIT mittlerweile eine nette Integration in Visual Studio Code bereitstellt
Quick User Guide for the ESP-IDF VS Code Extension
https://www.youtube.com/watch?v=Lc6ausiKvQM
Python
Der ESP32 kann aber auch als Hardware in Verbindung mit MicroPython oder CircuitPython genutzt werden.
Hier wird dann die Firmware auf den ESP32 programmiert und quasi interaktiv mit Python entwickelt.
Bluetooth (BLE)
Die eingebaute Bluetooth -Schnittstelle eignet sich natürlich für allerleit Bastelarbeiten.
- moononournation / Arduino_BLE_Scanner
https://GitHub.com/moononournation/Arduino_BLE_Scanner - Nano ESP32 BLE Scanner
https://www.instructables.com/id/Nano-ESP32-BLE-Scanner/ - Puck.JS
https://www.puck-js.com/ - #176 BLE Human Presence Detector using an ESP32 (Tutorial, Arduino IDE)
https://www.youtube.com/watch?v=KNoFdKgvskU - Using the BLE functionality of the ESP32
https://www.electronics-lab.com/project/using-the-ble-functionality-of-the-esp32/
M5Stack
ExpressIF hat mittlerweile mit dem Chip ein komplettes Bausatz-System veröffentlicht. Es gibt natürlich auch andere (günstigere) Fertigbausteine verschiedener Hersteller. Allerdings dann meist ohne Gehäuse oder Display oder nur minimale Displays. Der M5Stack ist aber von Hause aus für viele Bastelprojekte sehr interessant, obwohl er mit 30-50€, je nach Quelle, schon etwas teurer ist-
Der kleine Würfel hat auf der Oberseite ein farbiges 2"-LCD-Display und drei Tasten. Über USB-C oder Batterie wird das System versorgt um über einige Schnittstellen (WLAN, BluetoothLE, I2C) und per Busstecker erweiterbare Boards zu kommunizieren. Quasi ohne Löten können 433MHz, 866 MHz, LoRA und viele andere Optionen addiert werden.
Vielleicht bauen Sie sich schnell mal eine "Internet Auslastungs-Anzeige" für ihre Fritz!box, ein Meetingraum-Display o.a.
- M5Stack
- M5Stack
http://www.m5stack.com/
https://www.espressif.com/en/media_overview/articles/m5stack-be-relaunched-esp32
https://twitter.com/m5stack
https://www.facebook.com/M5Stack/ - Start
http://www.m5stack.com/assets/docs/index.html - M5Stack lernen: Lession 1-8
http://www.m5stack.com/assets/docs/index.html#lessons
Lession 3: WifiScanner: http://forum.m5stack.com/topic/58/lesson-3-wi-fi-scanner
Lesson 7. MPU9250. Game "SPACE DEFENSE" (beta) http://forum.m5stack.com/topic/130/lesson-7-mpu9250-game-space-defense-beta - M5 Libraries
https://www.arduinolibraries.info/libraries/m5-stack
https://GitHub.com/m5stack/m5stack - Review: M5Stack – ein Anwender-Ansatz
für das ESP32-Prototyping
https://www.elektormagazine.de/news/review-m5stack-ein-anwender-ansatz-fur-esp32-prototyping - M5Stack node for The Things Network
http://tinkerman.cat/m5stack-node-things-network/ - Neue Hardware: M5 Stack
http://profhof.com/neue-hardware-m5-stack/ - Review: M5Stack – ein Anwender-Ansatz
für das ESP32-Prototyping
https://www.elektormagazine.de/news/review-m5stack-ein-anwender-ansatz-fur-esp32-prototyping - AliExpress
Shop
https://de.aliexpress.com/store/3226069
https://de.aliexpress.com/store/product/M5Stack-Official-In-Stock-ESP32-Mpu9250-9Axies-Motion-Sensor-Core-Development-Kit-Extensible-IoT-Development-Board/3226069_32836393710.html - Elektor Verkauf 39€
https://www.elektor.de/m5stack-esp32-basic-core-development-kit - M5Stack Fire – Eine Übersicht
https://www.bjoerns-techblog.de/2019/03/m5stack-fire-eine-uebersicht/ - HomePoint: Espressif ESP32 Based
Smarthome screen for MQTT
https://GitHub.com/sieren/Homepoint
MQTT StatusClients auf ESP32 und M5Stack
Olimex
Eine andere interessante Quelle von Entwicklungsboards ist Olimex in Tschechien. Die Lieferung ist hier in der Regel flotter als aus China und es gibt einige ganz interessante Boards:
Bild | Beschreibung |
---|---|
ESP32-PoE (18€) |
ESP32-POE IOT DEVELOPMENT BOARD WITH 100MB ETHERNET, POWER OVER ETHERNET, WIFI, BLE, PROGRAMMER |
ESP32-EVB (22€) |
Mit zwei Relais und einem Ethernet-Port (10/100MBit) ohne PoE ist dies durchaus interessant, wenn die WLAN-Funktion des ESP32 nicht genutzt werden soll.
|
MOD-POE-V2 10€ |
Das ist zwar kein ESP32 sondern "nur" ein Adapter, um PoE von einem LAN-Kabel zur Versorgung eines nachgeschalteten Systems auszuleiten. Für 10€ ist das sehr günstig. |
Beachten Sie bitte, dass diese Boards keinen USB-Anschluss haben und daher zur Programmierung ein USB/Seriell-Adapter erforderlich ist. Der UEXT-Port auf dem Board ist eine einfache Möglichkeit die wichtigsten Ports zu erreichen, z.B. auch RxD, TxD, GND und Vcc zur Programmierung.
- Olimex ESP32 Produkte
https://www.olimex.com/Products/IoT/ESP32/
ESP32 auf der Hutschiene
Auch da gibt es mittlerweile entsprechende Angebote. Der Preis ist natürlich nicht mit dem nackten ESP32 zu vergleichen, da hier auch noch das Gehäuse, ein Netzteil, die Anschlussklemmen etc. zu berücksichtigen sind. Ohne Display ist man bei ca. 64US$. Versand nach Deutschland ist möglich.
Die Domain gehört zu Sri Lanka und eine Postadresse ist auf der Webseite nicht zu finden. Wie es mit elektrischen Eigenschaften, d.h. Isolierung, Überspannungschutz, CE-Zeichen aussieht ist mir nicht bekannt.
- https://norvi.lk/
- NORVI IIOT ESP32 for industrial projects
https://norvi.lk/industrial-esp32-norvi-iiot/
Industrial ESP32 PLC NORVI IIOT Features : Industrial
Arduino ESP32 : IIOT with ESP32
https://www.youtube.com/watch?v=NVzUWdYsrF4
TinyPico
Es gibt noch eine Unmenge anderer Module, die Maker und Firmen um den ESP32 entwickelt haben. Die Liste hier kann endlos verlängert werden. Aber ein Board ist etwas teurer, aber einige Zeit das "kleinste" Board. Es ist aber nicht nur ein ESP32, sondern enthält eine Lade-Logik für LiPo-Akku und getrennte Strompfade für 5V und 3,3V, so dass beim Akku-Betrieb der Energieverbrauch minimal ist. Eine besondere und eine DeepSleep-Logic, reduziert den Energiebedarf weiter.
Interessanterweise kostet das Modul mit 22€ zwar mehr aber auf Nachbauten bei Aliexpress waren deutlich teurer. Mittlerweile gibt es aber z.B. von M5Stack auch einen M5Stamp, der ebenfalls sehr klein ist aber nicht die ausgefuchsten Energiesparmodule hat.
- TinyPICO
https://www.tinypico.com/ - TinyPico und Micropython
https://micropython.org/download/tinypico/
https://www.tinypico.com/code-examples
Spiele mit ESPPlay und ESPlay Micro
Durch die gegenüber dem ES8266 höhere Performance und die Verfügbarkeit passender Boards gibt es sogar die ersten Spiele für den ESP32.
ESPlay Micro: Open Source ESP32 Game Console
https://www.youtube.com/watch?v=NfbxcjU85Ac
Die Hardware kann natürlich auch für andere Projekte verwendet werden.
- ESPlay Micro - Open Source ESP32 Game
Console
https://www.makerfabs.com/esplay-micro.html - Retro Emulation Collection for ESPlay
Hardware, an ESP32 based game console
https://GitHub.com/pebri86/esplay-retro-emulation - Micro version of esplay hardware, ESP32
based gaming console
https://GitHub.com/pebri86/esplay_micro_hardware
ESP32 Flappy Bird game -tutorial and code
https://www.youtube.com/watch?v=BzjRDpANjaQ
Ein anderer Versuch "Flappy" auf dem ESP32 mit LCD-Display
zu spielen.
Projekte und Links
Immer mehr Projekte nutzen den ESP32 und nicht mehr den früheren ESP8266.
- Configuring & Handling ESP32 GPIO
Interrupts In Arduino IDE
https://lastminuteengineers.com/handling-esp32-gpio-interrupts-tutorial/ - Create A Simple ESP32 Weather Station
With BME280
https://lastminuteengineers.com/bme280-esp32-weather-station/ - Getting Date & Time From NTP Server With
ESP32
https://lastminuteengineers.com/esp32-ntp-server-date-time-tutorial/ - Wetterstation mit Arduino, BME280 und
ESP-32
https://janbpunkt.de/2019/07/10/wetterstation-mit-arduino-bme280-und-esp-32/ - Higrow
Pflanzensensor mit ESP32
https://GitHub.com/Xinyuan-LilyGO/TTGO-HiGrow
https://www.heise.de/news/Bodenfeuchte-Sensor-LilyGo-Higrow-in-neuer-Version-5067577.html
https://www.makershop.de/plattformen/esp8266/esp32-soil-moisture/
https://de.aliexpress.com/item/32818803204.html - SoapESP32
https://GitHub.com/yellobyte/SoapESP32
https://www.arduino.cc/reference/en/libraries/soapesp32/
Enables ESP32 devices to scan the local network for DLNA media servers, browse their content and download files.
Programmieren
Auch den ESP32 kann man native programmieren und natürlich auch mit der klassischen Arduino IDE. Aber auch Visual Studio Code ist mittlerweile ein ganz passabler Editor
- How to Use Visual Studio Code for
Arduino
https://maker.pro/arduino/tutorial/how-to-use-visual-studio-code-for-arduino - Arduino mit Microsoft Visual Studio Code
programmieren
https://daniel-ziegler.com/arduino/mikrocontroller/ide/2017/07/10/Microsoft-Visual-Studio-Code-alternative-Arduino-IDE/
BitBastelei #310 - VSCode und
PlatformIO statt Arduino IDE
https://www.youtube.com/watch?v=Yb-HOBynJdc
Weitere Links
- ESP8266 SoC
- NodeMCU
- WeMOS IoT-Device
- M5Stack
- MicroPython
- ESP32 Technical Reference Manual
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf - AZ-Delivery -ESP32 - das Multitalent
https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-das-multitalent - ESP32 ESP-32S Für WeMos WiFi Drahtlose Bluetooth Entwicklung
Bord CP2102 CP2104 Modul Mit 18650 Batterie Ladekoffer Für Lua
https://de.aliexpress.com/item/5PCS-XL6009-DC-DC-Adjustable-Step-up-boost-Power-Converter-Module-Replace-LM2577/1852360532.html
- ESP32 mit Batteriebetrieb
https://www.radioshuttle.de/media/tech-infos/esp32-mit-batteriebetrieb/ - Insight Into ESP32 Sleep Modes & Their Power Consumption
https://lastminuteengineers.com/esp32-sleep-modes-power-consumption/ - New ESP32 board teaser – Power Over Ethernet ESP32-POE is
perfect for sensors using existing Ethernet wiring
https://olimex.wordpress.com/2018/07/25/new-esp32-board-teaser-power-over-ethernet-esp32-poe-is-perfect-for-sensors-using-existing-ethernet-wiring/ - ESP32-PRO IoT OSHW board with 4MB RAM, 4MB Flash,
co-processor with USB-OTG 256KB Flash 64KB RAM is released
https://olimex.wordpress.com/2018/07/25/esp32-pro-iot-oshw-board-with-4mb-ram-4mb-flash-co-processor-with-usb-otg-256kb-flash-64kb-ram-is-released/ - 868 MHz/915 MHz LoRa ESP32 Oled Wifi SX1276 Modul IOT mit
Antenne (18US$)
https://de.aliexpress.com/item/868-MHz-915-MHz-LoRa-ESP32-Oled-Wifi-SX1276-Modul-IOT-mit-Antenne-F-r-Arduino/32836246848.html
Modul mit OLED-Diskplya und LoRa-Modul fpr IoT lokal Radio auf Basis des SX1276 - Using Bluetooth Low Energy with Amazon FreeRTOS on Espressif
ESP32
https://aws.amazon.com/de/blogs/iot/using-bluetooth-low-energy-with-amazon-freertos-on-espressif-esp32/ - MXCHIP: EMW3165
http://en.mxchip.com/product/wifi_product/38 - EMW3162
http://en.mxchip.com/product/wifi_product/39
Sogar mit 32 GPIO - NEW PART DAY: THE ESP8266 KILLER
http://hackaday.com/2015/07/13/new-part-day-the-esp8266-killer/ - EMW3165 - Der ESP8266 Killer ?
http://www.mikrocontroller.net/topic/371682 - EMW3165 - Cortex-M4 based WiFi SoC Module
https://www.seeedstudio.com/item_detail.html?p_id=2488 - Wenn der ESP8226 zu klein ist: Hier kommt der EMW3165
http://madspot.de/de/wenn-der-esp8226-zu-klein-ist-hier-kommt-der-emw3165/ - WiFiMCU Introduction
http://www.wifimcu.com/ - EMW3165 - STM32F411CE with wi-fi
https://talk.hackspace.ca/t/emw3165-stm32f411ce-with-wi-fi/2589 - IoT-Projekte flexibel und ohne Cloud
https://www.heise.de/ct/ausgabe/2018-2-Sechs-IoT-Projekte-flexibel-und-ohne-Cloud-3930050.html - NTP Sample für ESP32
https://GitHub.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/Time/SimpleTime/SimpleTime.ino - ESP-WHO
https://GitHub.com/espressif/esp-who
ESP-WHO is a face detection and recognition platform that is currently based on Espressif Systems' ESP32 chip. ESP-WHO is within Espressif Systems AI framework, with the focus on face detection and recognition so far. - Einstieg in MicroPython: Servo und Distanzsensor mit ESP32
ansteuern
https://www.heise.de/ratgeber/Einstieg-in-MicroPython-4366693.html - MicroPython on the ESP32
https://unexpectedmaker.com/micropython - ESP32 für den Einsatz in Geräten der Industrie 4.0
https://www.macnica.eu/de/knowledge-base/technology-transfer/esp32-fuer-den-einsatz-in-geraeten-der-industrie-4 - HomePoint: Espressif ESP32 Based Smarthome screen for MQTT
https://GitHub.com/sieren/Homepoint
MQTT StatusClients auf ESP32 und M5Stack - Tutorial: Getting Started with MicroPython on
ESP32, M5Stack, and ESP8266
https://lemariva.com/blog/2020/03/tutorial-getting-started-micropython-v20