ESP32 a WiFi
Poznámka
ESP32 je mikrokontrolér s vestavaným WiFi a Bluetooth, ktorý sa programuje rovnako ako Arduino (cez Arduino IDE), ale pracuje s logikou 3,3 V (Napäťové úrovne) – nie 5 V ako Arduino Uno.
Príprava Arduino IDE pre ESP32
- V Arduino IDE otvor File → Preferences a do “Additional Board Manager URLs” vlož adresu balíka ESP32 (nájdeš ju vyhľadaním “ESP32 Arduino core”).
- Otvor Tools → Board → Boards Manager, vyhľadaj “esp32” a nainštaluj balík.
- V Tools → Board vyber konkrétny model (napr. “ESP32 Dev Module”).
Upozornenie
ESP32 GPIO piny nezvládnu 5 V – pri pripájaní senzorov navrhnutých pre Arduino Uno over, že pracujú aj na 3,3 V, alebo použi logický prevodník.
Pripojenie k WiFi
#include <WiFi.h>
const char* ssid = "Nazov_siete";
const char* heslo = "heslo_siete";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, heslo);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Pripojené!");
Serial.print("IP adresa: ");
Serial.println(WiFi.localIP());
}
void loop() {
}Tip
IP adresu, ktorú ESP32 vypíše do Serial Monitora, budeš potrebovať v ďalšom kroku – zapíš si ju.
Jednoduchý webový server
#include <WiFi.h>
const char* ssid = "Nazov_siete";
const char* heslo = "heslo_siete";
WiFiServer server(80);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, heslo);
while (WiFi.status() != WL_CONNECTED) delay(500);
server.begin();
}
void loop() {
WiFiClient klient = server.available();
if (klient) {
klient.println("HTTP/1.1 200 OK");
klient.println("Content-type:text/html");
klient.println();
klient.println("<h1>Ahoj z ESP32!</h1>");
klient.stop();
}
}Po nahraní programu zadaj IP adresu ESP32 do prehliadača (napr. 192.168.1.55) – zobrazí sa stránka generovaná priamo z mikrokontroléra.
Ovládanie LED cez webovú stránku
#include <WiFi.h>
const char* ssid = "Nazov_siete";
const char* heslo = "heslo_siete";
const int pinLED = 2;
WiFiServer server(80);
void setup() {
pinMode(pinLED, OUTPUT);
WiFi.begin(ssid, heslo);
while (WiFi.status() != WL_CONNECTED) delay(500);
server.begin();
}
void loop() {
WiFiClient klient = server.available();
if (klient) {
String pozadovka = klient.readStringUntil('\r');
if (pozadovka.indexOf("/zapni") >= 0) digitalWrite(pinLED, HIGH);
if (pozadovka.indexOf("/vypni") >= 0) digitalWrite(pinLED, LOW);
klient.println("HTTP/1.1 200 OK");
klient.println("Content-type:text/html");
klient.println();
klient.println("<a href=\"/zapni\">Zapnúť</a> | <a href=\"/vypni\">Vypnúť</a>");
klient.stop();
}
}Mini-úlohy – ESP32
- Pripoj ESP32 k WiFi sieti a over IP adresu cez Serial Monitor.
- Vytvor jednoduchý webový server, ktorý zobrazí “Ahoj z ESP32!”.
- Rozšír server tak, aby cez
/zapnia/vypniovládal LED diódu. - Vyskúšaj otvoriť webovú stránku ESP32 z telefónu pripojeného na rovnakú WiFi sieť.
Cheat sheet – rýchla referencia
WiFi.begin(ssid, heslo); // pripoj sa k WiFi
WiFi.status() == WL_CONNECTED // over stav pripojenia
WiFi.localIP() // získaj IP adresu
WiFiServer server(80); // webový server na porte 80
WiFiClient klient = server.available(); // čakaj na pripojenie klienta
klient.println("text"); // odošli odpoveď klientoviPostup sa ukladá iba v tomto prehliadači.