ESP WiFi Sensor Projekt - AZ-Delivery

ESP32 Einführung

Als 2.4 GHz Wi-Fi and Bluetooth combo chip” bezeichnet der chinesische Hersteller Espressif sein im September 2016 veröffentlichtes ESP32 Development Board. Darin sind bereits zwei der Hauptmerkmale genannt: Das weniger als 6 cm große Board kommt mit einem integrierten Wi-Fi Modul und Bluetooth 4.2 -- für unter 15 € (Link https://az-delivery.de/products/esp32-developmentboard). In diesem Post geben wir eine Einführung zum ESP32, vergleichen es dabei mit dem Arduino und richten die Entwicklungsumgebung soweit ein, dass Sie einen WLAN Scan durchführen können.

 

Bildunterschrift: Stolze 34 unterschiedlich belegbare Pins werden nach außen gelegt. Oben rechts im Bild befindet sich die fest am Board angebrachte WLAN Antenne.

 

 

Das ESP32 verfügt über eine Vielzahl an Features, die in der Preisklasse ungewöhnlich sind: Es hat ein integriertes Wi-Fi Modul, das über die verfügbaren Code-Libraries mit wenigen Zeilen Code dazu genutzt werden kann, um Daten von einem Webserver abzurufen. Ein Bastler aus der Gegend südlich von Stuttgart hat es sogar geschafft, Daten des ESP32 Wi-Fi Moduls in einer Entfernung von 10 km (!) zu empfangen (Link https://www.youtube.com/watch?v=yCLb2eItDyE). Das onboard Bluetooth Modul kann zum Beispiel verwendet werden, um Daten zu Smartphones oder anderen bluetoothfähigen Geräten zu übertragen. Des Weiteren hat das Modul einen 2-core 32 bit Prozessor, der bei einer Taktfrequenz von 160 oder 240 MHz arbeitet. Im Vergleich zum Arduino (16 MHz) ein enormer Fortschritt (genaue Benchmarks https://hilo90mhz.com/arduino-esp32-esp8266-101-speed-test-comparison-chart/). Die Größe des Arbeitsspeichers (SRAM) beträgt 520 KiB. Außerdem erwähnenswert sind die 16 PWM Channels, ein Temperatursensor, vier SPI, drei UART und zwei I²C Schnittstellen, zwei Digital-Analog-Konverter und noch einiges mehr. 

 

Vergleich mit einem Mikrocontroller, kompatibel mit dem Arduino Uno

 

ESP32

Mikrocontroller, kompatibel mit dem Arduino Uno (ATmega 328P)

 

 

Prozessor (CPU)

240 MHz dual core Tensilica LX6

16 MHz single core

Arbeitsspeicher (SRAM)

520 KiB

1 KiB

Pins (GPIO)

34 verschieden belegbare Pins

20 Pins (14 digital, 6 analog in)

Betriebsspannung

3,3 V

5 V

Connectivity

Wi-Fi, Bluetooth 4.2

nichts Vergleichbares

PWM Pins

bis zu 16 Ausgänge

6 Ausgänge

Digital zu Analog

zwei

keine

Preis

unter 15 €

(https://az-delivery.de/products/esp32-developmentboard)

Arduino kompatibel für unter 8 € (https://az-delivery.de/products/uno-r3-board-mit-atmega328p-und-usb-kabel)

 

Programmierung

Das ESP32 Modul kann auf drei verschiedene Arten programmiert werden: (1) Mit dem Espressif IoT Development Framework (ESP-IDF http://esp-idf.readthedocs.io/en/latest/index.html) in sehr maschinennahmen C++. Als Entwicklungsumgebung (IDE) eignet sich hier zum Beispiel Eclipse. (2) Außerdem in der Arduino IDE, mit den gewohnten Funktionen (digitalWrite, attachInterrupt, …). Diese Möglichkeit werden wir hier weiter verfolgen, da sie für Einsteiger am geeignetsten ist. (3) Mit der Programmiersprache Lua (https://github.com/Nicholas3388/LuaNode).

 

Der zu Option 2 (Programmierung mit der Arduino IDE) gehörige Code findet sich in einem Repository von Espressif auf GitHub (https://github.com/espressif/arduino-esp32). Dort finden Sie auch detaillierte, bebilderte Installationsanleitungen für Windows, Mac und Linux (https://github.com/espressif/arduino-esp32#installation-instructions). Sollten Sie nach dem Durchführen der einzelnen Schritte noch keinen neuen COM-Port in der Arduino IDE und dem Windows Geräte Manager sehen, installieren Sie die USB zu UART Bridge Treiber. (https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) In der Arduino Entwicklungsumgebung stehen dann neue Boards zur Verfügung, die Sie im Menü unter Tools > Board > ESP32 Arduino auswählen können. 

 

 

WLAN Scan

Das “Hello World!” eines ESP32 ist nicht etwa das Blinken einer LED: Wir starten mit dem Auflisten der WLAN Netzwerke in Reichweite; mitsamt Signalstärke in dBm! (https://support.metageek.com/hc/en-us/articles/201955754-Understanding-WiFi-Signal-Strength) Wählen Sie dazu den Beispiel Sketch WiFiScan aus, den Sie im Menü unter File > Examples > Examples for ESP32 Dev Module > WiFi > WifiScan finden und laden Sie ihn auf das per Micro USB angeschlossene ESP32 Dev Module hoch. Um die Ausgabe zu sehen müssen Sie die Baud-Rate im Serial Monitor noch auf 115200 erhöhen.

 

1: DJ_Simsso (-31)*
2: TP-LINK (-66)*
3: YouShallNotPass (-67)*
4: FortKnox (-85)*
5: TP-LINK_5246 (-88)*
6: KA-WLAN (-92) 
7: TOPSECRET (-93)*

 

In unseren inhaltlich nachfolgenden Posts zeigen wir, wie man mit dem ESP32 eine lokale Website hostet und auf dieser Sensordaten anzeigt. Hier finden Sie das Projekt auf einem ESP8266-Modul.

 

Abschließend noch einige Links, die beim Start in die ESP32 Welt helfen oder eine gute Referenz darstellen.

 

Community unter esp32.com https://www.esp32.com/


Esp-32Produktvorstellungen

3 comments

DD1UZ

DD1UZ

Der Artikel ist schon informativ, aber wo finde ich den Code???

Smitha158

Smitha158

Thanks for any other informative web site. Where else may just I get that kind of information written in such an ideal way? I have a mission that I am just now operating on, and I have been on the look out for such information. cddfebdebdcabaae

Johna27

Johna27

The principle isn’t to artificially turn out to be effective, gdgceaddagga

Leave a comment

All comments are moderated before being published

Recommended blog posts

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery