Prispevki ESP

ESP32-S3 WiFi: specifikacije, načini delovanja in praktični vodič

ESP32-S3 WiFi specifikacije infografika: 802.11b/g/n, 150 Mbps, WPA3

ESP32-S3 WiFi ni samo “ena od funkcij” — za večino projektov je to jedro vsega. Če še ne poznate čipa, si najprej oglejte celoten pregled ESP32-S3. Razumevanje, kako deluje, katere načine podpira in kako se obnaša pod obremenitvijo, ti prihrani ure odpravljanja napak. Ta vodič pokriva vse, od surovih specifikacij do pogostih pasti pri razvoju.

Specifikacije WiFi

ESP32-S3 podpira standarde IEEE 802.11b/g/n v frekvenčnem pasu 2,4 GHz. Pasovna širina je 20 MHz ali 40 MHz; pri HT40 in načinu 1T1R (ena antena za oddajanje, ena za sprejemanje) doseže do 150 Mbps.

Parameter Vrednost
Standard IEEE 802.11b/g/n
Frekvenčni pas 2,4 GHz
Pasovna širina 20 MHz / 40 MHz
Maksimalna hitrost 150 Mbps (HT40, MCS7)
TX moč — 802.11b do +21 dBm
TX moč — 802.11g do +20 dBm
TX moč — 802.11n do +19,5 dBm
RX občutljivost — 1 Mbps –98,4 dBm
RX občutljivost — 54 Mbps –76,5 dBm
Načini delovanja Station, SoftAP, Station+SoftAP
Varnost WPA2, WPA3, Enterprise, OWE, DPP

Večja občutljivost pri nižjih hitrostih pomeni boljši doseg. Vse specifikacije so dostopne v uradnem podatkovnem listu ESP32-S3. Razlika med –98,4 dBm pri 1 Mbps in –76,5 dBm pri 54 Mbps je 21,9 dB — to je trikratna razlika v dosegu pri enakih razmerah. Za IoT senzorje, ki morajo delati na robu WiFi pokrivenosti (klet, oddaljeni prostor), nižja hitrost pogosto ni kompromis, ampak pravilna nastavitev.

Čip podpira antensko diverziteto: z zunanjim RF stikalom, ki ga krmilita dva GPIO pina, naprava samodejno izbira med dvema antenama in se prilagaja motnjam v okolju. Vgrajeni moduli (npr. ESP32-S3-WROOM-1) imajo PCB anteno; variante z U.FL priključkom omogočajo zunanjo anteno za večji doseg.

ESP32-S3 WiFi nacini: Station, SoftAP in Station+SoftAP diagram

Načini delovanja

Station (STA) je najpogostejši. Čip se poveže na obstoječ usmerjevalnik in deluje kot odjemalec v lokalnem omrežju. Primeren za IoT senzorje, ki pošiljajo podatke v oblak, ali naprave, ki dostopajo do spletnih storitev.

SoftAP naredi iz ESP32-S3 dostopno točko. Druge naprave se povežejo neposredno nanj — brez usmerjevalnika. Pogosta uporaba je začetna nastavitev naprave (provisioning), kjer se mobilni telefon poveže z ESP32-S3 in vnese WiFi poverilnice za domače omrežje. Določiš SSID, geslo, avtentikacijski način in maksimalno število hkratnih povezav.

Station+SoftAP (APSTA) je kombinacija obeh. Čip je hkrati povezan na zunanji usmerjevalnik in sam ustvarja omrežje za lokalne naprave. Tukaj velja ena strojna omejitev: ESP32-S3 deluje na enem samem radijskem kanalu. Ko je aktiven Station vmesnik, se SoftAP samodejno prestavi na isti kanal. Kanal SoftAP torej ni pod tvojim nadzorom.

ESP32-S3 podpira do štiri virtualne WiFi vmesnike hkrati. Za večino hobistov je to irelevantno; za kompleksnejše omrežne topologije v industrijskih projektih pa pride prav.

802.11mc FTM — razdalja z WiFi

ESP32-S3 podpira Fine Timing Measurement (FTM) po standardu 802.11mc. Z merjenjem časa potovanja signala med napravami čip izračuna razdaljo od druge naprave. Deluje kot iniciator (FTM Initiator) ali odzivnik (FTM Responder). V praksi to omogoča grobe lokalizacijske sisteme znotraj objektov brez GPS — natančnost pri idealnih razmerah je reda 1–2 metra.

ESP32-S3 WiFi varnost: WPA3, WPA2, Enterprise, EAP hierarhija

Varnostni protokoli

WiFi varnost na ESP32-S3 pokriva vse od zastarelega WEP do najnovejšega WPA3.

Osebna omrežja: WEP, WPA-PSK, WPA2-PSK, WPA3-PSK, WPA2/WPA3 mešani način, OWE (Opportunistic Wireless Encryption), DPP (Wi-Fi Easy Connect).

Podjetniška omrežja (802.1X): WPA-Enterprise, WPA2-Enterprise, WPA3-Enterprise, WPA3-Enterprise 192-bit Suite-B.

EAP metode: EAP-TLS, EAP-TTLS, EAP-PEAP, EAP-FAST.

Za WPA3 ESP32-S3 avtomatsko upravlja PMF (Protected Management Frames) — tega ni treba ročno konfigurirati. WPA3-Enterprise 192-bit Suite-B je relevanten za industrijska, medicinska ali regulirana okolja, kjer varnostni standard zahteva strojno kriptografsko podporo (AES-256, SHA-384).

ESP32-S3 WiFi poraba energije: active, modem-sleep, light-sleep, deep-sleep primerjava

Poraba energije

WiFi je energijsko zahteven. Spodaj so vrednosti iz uradnega podatkovnega lista:

Način Stanje Poraba
Aktiven TX 802.11b, 1 Mbps, 21 dBm 340 mA
Aktiven TX 802.11g, 54 Mbps, 19 dBm 291 mA
Aktiven TX 802.11n HT20, MCS7, 18,5 dBm 283 mA
Aktiven TX 802.11n HT40, MCS7, 18 dBm 286 mA
Aktiven RX 802.11b/g/n HT20 88 mA
Aktiven RX 802.11n HT40 91 mA
Modem-sleep CPU 40 MHz, mirovanje 13–19 mA
Modem-sleep CPU 80 MHz, mirovanje 22–36 mA
Modem-sleep CPU 240 MHz, polna obremenitev 92–108 mA
Light-sleep WiFi izklopljen, RTC aktiven 240 µA
Deep-sleep Samo RTC pomnilnik 7 µA
Deep-sleep RTC + periferije 8 µA
Deep-sleep ULP koprocesor aktiven 170–190 µA

V modem-sleep načinu CPU deluje, radijski modul pa se ob časovnih oknih izklopi in ohranja aktivno WiFi povezavo. V light-sleep sta CPU in WiFi ugasnjena — čip se prebudi prek RTC budilke ali GPIO prekinitve.

Za baterijsko napajane naprave je razlika med modem-sleep (20–40 mA) in light-sleep (240 µA) odločilna. Naprava, ki pošilja podatek enkrat na minuto, 59 sekund spi. Pri modem-sleep to pomeni povprečno ~25 mA; pri light-sleep z RTC budilko pa ~0,5 mA. Razlika v trajanju baterije je 50-kratna.

Hkratno delovanje WiFi in Bluetooth

ESP32-S3 ima vgrajen 2,4 GHz WiFi in Bluetooth 5 (LE + Mesh). Obe radijski tehnologiji delujeta na istem frekvenčnem pasu in si delita eno anteno. Čip interno preklaplja anteno med obema — time-multiplexing na strojnem nivoju, ki ga ni treba programsko upravljati.

V praksi sobivanje deluje brez posebnih nastavitev. Inicializiraš WiFi in Bluetooth neodvisno, ESP-IDF sam skrbi za razporeditev radijskega časa. Več o zmogljivostih čipa si oglejte v članku ESP32 mikrokrmilnik.

Ena omejitev, ki jo je treba poznati: medtem ko je WiFi aktiven, ADC2 ni na voljo. Vseh 10 pinov ADC2 postane neupotrebnih za analogno branje. Pregled vseh razpoložljivih pinov najdeš v vodniku ESP32-S3 pinout. Naprave, ki potrebujejo hkratno WiFi in analogno branje senzorjev, morajo vse ADC kanale načrtovati na ADC1.

Kako programirati ESP32-S3 WiFi

Arduino IDE

Z Arduino jedrom za ESP32 je vzpostavitev WiFi povezave preprosta:

#include <WiFi.h>

const char* ssid     = "ime_omrezja";
const char* password = "geslo";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println(WiFi.localIP());
}

Za SoftAP:

WiFi.softAP("ESP32-S3-AP", "geslo123");

Arduino jedro v ozadju samodejno pokliče vse ustrezne ESP-IDF init/mode/config/start funkcije. Za hobistične projekte in prototipe je to dovolj. Za osnove programiranja si oglejte vodič kako programirati ESP32 z Arduino IDE.

ESP-IDF

ESP-IDF da polni nadzor, a zahteva eksplicitno inicializacijo:

// 1. Inicializacija — vedno z WIFI_INIT_CONFIG_DEFAULT
esp_wifi_init(&cfg);

// 2. Nastavi način (STA, AP ali APSTA)
esp_wifi_set_mode(WIFI_MODE_STA);

// 3. Konfiguriraj omrežje
wifi_config_t wifi_config = {
    .sta = { .ssid = "ime_omrezja", .password = "geslo" }
};
esp_wifi_set_config(WIFI_IF_STA, &wifi_config);

// 4. Zaženi in poveži
esp_wifi_start();
esp_wifi_connect();  // pokliče enkrat — poglej spodaj

Ključna razlika od Arduina: esp_wifi_connect() poskusi vzpostaviti povezavo samo enkrat. Aplikacija mora sama obdelovati WIFI_EVENT_STA_DISCONNECTED in po potrebi klicati esp_wifi_connect() znova. Brez te logike se naprava po izpadu omrežja ne poveže nazaj.

ESP32-S3 WiFi odlocitveni diagram: Station vs SoftAP vs APSTA

Tipični projekti

IoT senzorji in naprave so osnovna uporaba. ESP32-S3 v načinu Station se poveže na usmerjevalnik in pošilja senzorske podatke prek MQTT ali HTTP. Čip pokriva senzorje temperature, vlažnosti, kakovosti zraka, industrijske merilnike, naprave za pametno kmetijstvo.

Lokalni spletni strežnik je hiter način za nadzorno ploščo brez mobilne aplikacije. Z načinom SoftAP se telefon poveže neposredno na ESP32-S3 in dostopa do vmesnika prek brskalnika.

OTA posodobitve (Over-The-Air) omogočajo posodabljanje firmware-a brez fizičnega dostopa do naprave. ESP32-S3 ima strojno kriptografsko podporo in Secure Boot — OTA je varna in zanesljiva.

Kamera z WiFi prenosom je pri ESP32-S3 posebna kombinacija — čip ima vgrajene razširitvene instrukcije za nevronske mreže in DSP, kar omogoča lokalno procesiranje slik pred oddajanjem prek WiFi.

Lokalizacija z FTM je nizkocenoven pristop za grobe sisteme za določanje položaja znotraj objektov, kjer GPS ni na voljo. Za širšo inspiracijo si oglejte top 10 projektov z ESP32.

Najpogostejše napake

Ni logike za reconnect. esp_wifi_connect() pokliče samo enkrat. Brez upravljanja WIFI_EVENT_STA_DISCONNECTED se naprava po izpadu omrežja ne poveže nazaj. To je eden najpogostejših razlogov, zakaj IoT naprava “preneha oddajati” po nekaj urah.

ADC2 z WiFi. Analogno branje na ADC2 pinih ob aktivnem WiFi vrne napačne ali nične vrednosti. Premesti senzor na ADC1 pin.

Kanal SoftAP v načinu APSTA. Kanal SoftAP se samodejno prilagodi kanalu Station vmesnika. To je strojna omejitev in ne napaka konfiguracije.

Fiksiran BSSID pri roamingu. Če v konfiguraciji fiksiraš MAC naslov točke dostopa in hkrati aktiviraš BTM/RM roaming (btm_enabled, rm_enabled), naprava ne bo mogla preklopiti na boljši AP. Eno ali drugo.

Previsoka TX moč. Privzeta oddajna moč je maksimalna. V tesnih prostorih, kjer je naprava blizu usmerjevalnika, esp_wifi_set_max_tx_power() zmanjša motnjo in zniža porabo.

Zaključek

ESP32-S3 WiFi pokriva standard IEEE 802.11b/g/n s podporo za WPA3, antensko diverziteto in mehanizmom za koeksistenco z Bluetooth. Za hobistične projekte Arduino jedro zadostuje; za produkcijske naprave ESP-IDF da polni nadzor nad porabo, varnostjo in logiko ponovnega povezovanja. Za primerjavo ESP32-S3 s starejšo generacijo si oglejte članek ESP32-S3 vs ESP32. Najpomembnejši detajl ne glede na okolje: esp_wifi_connect() je enkratni poskus in ADC2 ne deluje skupaj z WiFi. ESP32-S3 module in razvojne ploščice so na voljo v naši ponudbi na 3DSVET.eu.