User Tools

Site Tools


teknik:teknik:embedded:esp32:start

ESP32 – Beskrivelse og funktionaliteter

ESP32 er en lavpris, lavt strømforbrugende system-on-chip (SoC) udviklet af Espressif Systems. Den er designet til IoT (Internet of Things), indlejrede systemer og trådløse applikationer. ESP32 kombinerer Wi-Fi, Bluetooth (Classic + BLE), en dual-core mikrocontroller og en række periferienheder, hvilket gør den ekstremt alsidig for både hobbyprojekter og professionelle løsninger.


Nyere modeller er beskrevet på https://let-elektronik.dk/esp32 (nederst, under produkt-billeder/links)


OBS!
Nedestående beskrivelser er primært gældende for den oprindelige ESP32


Hovedkomponenter og specifikationer

Komponent Beskrivelse
CPU Dual-core Xtensa LX6 (32-bit) med op til 240 MHz (kan køre på 80/160/240 MHz).
Hukommelse 520 KB SRAM (ekstern RAM kan tilføjes op til 16 MB via PSRAM).
Flash-hukommelse Ekstern SPI flash (typisk 4–16 MB, understøtter op til 32 MB).
Wi-Fi 802.11 b/g/n (2,4 GHz), understøtter STA (Station), AP (Access Point), P2P (Peer-to-Peer).
Bluetooth Bluetooth 4.2 (Classic + BLE – Bluetooth Low Energy).
Periferienheder GPIO, ADC, DAC, PWM, I²C, SPI, UART, CAN, Touch Sensor, Hall Sensor, RTC, DMA mv.
Strømforbrug ~0,15 mA i dyb søvn, ~10–20 mA i aktiv tilstand (afhænger af konfiguration).
Spændingsforsyning 2,2–3,6 V (typisk 3,3 V).
Driftstemperatur -40°C til +125°C (industrielt interval).

—

Hovedfunktionaliteter

Trådløs kommunikation

  • Wi-Fi (802.11 b/g/n)
    1. Understøtter 2,4 GHz (ingen 5 GHz) [1]
    2. Kan fungere som klient (STA), access point (AP) eller begge på samme tid.
    3. Understøtter WPA/WPA2/WPA3-sikkerhed.
    4. TCP/IP-stak integreret (understøtter HTTP, MQTT, WebSocket mv.).
  • Bluetooth (Classic + BLE)
    1. Bluetooth 4.2 med Low Energy (BLE) til energibesparende applikationer.
    2. Understøtter SPP (Serial Port Profile), A2DP, HID og GATT/GAP (BLE).
    3. Kan fungere som server, klient eller master/slave.

[1] Nyere modeller har dog 2/4/5G som f.eks. ESP32-C5

—

Mikrocontroller-funktioner

  • Dual-core Xtensa LX6 (kan køre to tråde samtidigt).
  • Understøtter FreeRTOS (real-time operativsystem til multitasking).
  • Hardware-accelereret kryptering (AES, SHA, RSA, ECC).
  • JTAG-debugging (til avanceret fejlfinding).

—

I/O og periferienheder

Type Beskrivelse Antal
GPIO Generelle input/output-pins (kan konfigureres som input, output, interrupt mv.). 34–48 (afhænger af pakke)
ADC (Analog-Digital) 12-bit SAR ADC (op til 2,048 niveauer), understøtter 18 kanaler (nogle med 12-bit, andre med 9-bit). 2x 12-bit ADC
DAC (Digital-Analog) 8-bit DAC til at generere analoge signaler. 2x
PWM Pulse-Width Modulation til motorstyring, LED-dimming mv. 16 kanaler
I²C Inter-Integrated Circuit (2-lednings kommunikation til sensorer mv.). 2x
SPI Serial Peripheral Interface (højhastigheds kommunikation til flash, display mv.). 4x
UART Asynkron serial kommunikation (RS-232/485). 3x
CAN Controller Area Network (til bilindustri og industrielle applikationer). 1x
Touch Sensor Kapacitive berøringsensorer (op til 10 kanaler). 10x
Hall Sensor Måling af magnetfelter (til f.eks. strømsensorer). 1x
RTC (Real-Time Clock) Hardware-ur med kalenderfunktion (kan køre i dyb søvn). 1x
DMA Direct Memory Access (til hurtig dataoverførsel uden CPU-indblanding). 2x

—

Strømforbrug og energistyring

ESP32 understøtter flere strømbesparende tilstande:

Tilstand Beskrivelse Strømforbrug
Aktiv CPU, Wi-Fi/Bluetooth og periferienheder kører. ~80–200 mA
Modem Søvn CPU kører, men Wi-Fi/Bluetooth er slukket. ~20–30 mA
Let Søvn CPU er slukket, men RAM bevares. Kan wake up via eksterne interrupts. ~0,8 mA
Dyb Søvn CPU, RAM og de fleste periferienheder er slukket. Kan kun vækkes via eksterne signals (GPIO, RTC). ~5–150 µA
Hibernation Alt er slukket (inkl. RTC). Kan kun vækkes via reset. ~1 µA

—

Programmering og udvikling

ESP32 kan programmeres på flere måder:

Metode Beskrivelse Fordele Ulemper
Arduino IDE Populært værktøj med ESP32-core (understøtter de fleste Arduino-biblioteker). Nemt for begyndere, stort community. Begrænset adgang til avancerede funktioner.
ESP-IDF Espressifs officielle framework (C/C++). Fuldt udnyttelse af hardware, avancerede funktioner. stejl læringskurve.
MicroPython Python-implementering til ESP32. Nem syntax, godt til hurtig prototyping. Langsommere end C, begrænset RAM.
PlatformIO Avanceret udviklingsmiljø (understøtter Arduino, ESP-IDF, MicroPython). Fleksibelt, god til store projekter. Kræver opsætning.
Lua (NodeMCU) Scripting-sprog til ESP32 (baseret på Lua). Hurtig udvikling, dynamisk. Mindre udbredt end Arduino/ESP-IDF.

—

Populære ESP32-moduler

ESP32 findes i flere fysiske pakker, hvoraf de mest populære er:

Modul Beskrivelse Antal GPIO Wi-Fi/Bluetooth PSRAM Flash Pris (ca.)
ESP32-WROOM-32 Standardmodul med 4 MB flash, PCB-antenne. 34 ✅ Ja ❌ Nej 4 MB ~50–100 DKK
ESP32-WROOM-32D Som WROOM-32, men med 16 MB flash og PSRAM-understøttelse. 34 ✅ Ja ✅ Ja 16 MB ~80–120 DKK
ESP32-WROOM-32E Opdateret version med 16 MB flash og bedre antenne. 34 ✅ Ja ✅ Ja 16 MB ~100–150 DKK
ESP32-SOLA-1 Single-core, 2 MB flash, ingen Bluetooth. 18 ✅ Wi-Fi kun ❌ Nej 2 MB ~40–70 DKK
ESP32-C3 RISC-V CPU, 2,4 GHz Wi-Fi + BLE 5.0, ingen Bluetooth Classic. 22 ✅ Ja ✅ Ja 4–16 MB ~60–100 DKK
ESP32-S2 Single-core Xtensa, 2,4 GHz Wi-Fi (ingen Bluetooth), USB OTG. 42 ✅ Wi-Fi kun ✅ Ja 4–16 MB ~70–120 DKK
ESP32-S3 Dual-core Xtensa, 2,4 GHz Wi-Fi + BLE 5.0, USB OTG, PSRAM-understøttelse. 45 ✅ Ja ✅ Ja 8–16 MB ~100–150 DKK
ESP32-C6 RISC-V CPU, 2,4 GHz Wi-Fi 6 + BLE 5.0, Zigbee/Thread-understøttelse. 22 ✅ Ja ✅ Ja 4–16 MB ~120–180 DKK

—

Typiske anvendelsesområder

  • IoT-enheder (smart home, sensorer, styring)
  • Trådløse kommunikationssystemer (Wi-Fi/Bluetooth-gateways)
  • Robotik og motorstyring (PWM, encoder-input)
  • Audio-applikationer (streaming, stemmestyring)
  • Wearables (BLE, lavt strømforbrug)
  • Industrielle automatiseringsløsninger (CAN, RS-485)
  • Data-logging (SD-kort, flash-hukommelse)
  • Web-servere (HTTP, MQTT, WebSocket)
  • GPS-trackere (UART-kommunikation med GPS-moduler)
  • DIY-projekter (LED-styring, weather stations, home automation)

—

Fordele og ulemper

Fordele ✅ Ulemper ❌
Lav pris (fra ~50 DKK). Begrænset 5 GHz Wi-Fi (kun 2,4 GHz).
Dual-core CPU (høj ydeevne). ADC-nøjagtighed (12-bit, men ikke lineær ved lave spændinger).
Wi-Fi + Bluetooth integreret. Begrænset RAM (520 KB, men kan udvides med PSRAM).
Lavt strømforbrug (god til batteridrevne enheder). Kompleks opsætning (kræver ekstern flash/RAM).
Stort community (mange biblioteker og eksempler). Varmeudvikling (kan kræve køling ved høj belastning).
Mange periferienheder (GPIO, I²C, SPI, UART mv.). Forskellige revisioner (kan være svært at vælge det rigtige modul).
Understøtter flere programmeringssprog (C, Python, Lua). Begrænset USB-understøttelse (nogle moduler kræver ekstern USB-chip).
OBS 5G kan tilføjes som ekstern enhed

Eksternt 5G-modem


==== Eksempel: Enkel Wi-Fi-klient (Arduino-kode) ====

<code cpp> #include <WiFi.h>

const char* ssid = “DitNetværk”; const char* password = “DitPassword”;

void setup() {

Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED
teknik/teknik/embedded/esp32/start.txt · Last modified: by smarken

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.