Prvi IoT projekat: od senzora do telefona

Lekcija 7 od 9 · Resursi

Kako se od teorije o Internetu stvari stiže do uređaja koji meri temperaturu u učionici i prikazuje je na telefonu? Ovaj vodič kroz projekat povezuje lekcije o ESP32 sa ovog sajta u jedan plan – od izbora delova do prikaza podataka na web strani.

Pre nego što počneš: potrebno predznanje – Internet stvari, Uvod u ESP32.
Kako da čitaš: strana je pregled za učenike i nastavnike; na kraju je kratak kviz, a linkovi vode na lekcije sa ovog sajta gde se tema uči detaljno.

Plan projekta

KorakŠta radišLekcija
1. Idejašta meriš i šta korisnik vidi (npr. temperatura i osvetljenost učionice na telefonu)Internet stvari
2. DeloviESP32, senzor, otpornici, protobord, USB kablUvod u ESP32
3. Pripremainstalacija Arduino IDE i podrške za ESP32Instalacija ESP32
4. Merenjeočitavanje senzora i ispis na serijski monitorMerenje osvetljenja (ESP32)
5. Mrežapovezivanje na Wi-Fi i web server na ESP32Kako radi web server
6. Prikazweb strana sa vrednostima koja se osvežavaStatičke web strane na serveru
7. Akcijauređaj nešto uključuje (pumpa, motor, LED)Pokretanje pumpe (ESP32), servo motor

Kako delovi sarađuju

[senzor] --napon--> [ESP32] --Wi-Fi--> [ruter] ---> [telefon / računar]
                      |                                 (web pregledač)
                      +--> [aktuator: LED, pumpa, motor]

ESP32 radi tri posla: meri (čita senzor), odlučuje (npr. „ako je zemlja suva – uključi pumpu“) i komunicira (šalje podatke preko Wi-Fi mreže). Telefon je samo pregledač koji otvara adresu ESP32 u lokalnoj mreži (npr. http://192.168.1.50).

Kostur programa

Program za ESP32 (Arduino IDE) ima isti oblik u skoro svakom IoT projektu: povezivanje na mrežu u setup(), a merenje i odgovaranje na zahteve u loop(). Kompletni, isprobani programi su u lekcijama iz tabele iznad.

#include <WiFi.h>
#include <WebServer.h>

const char* ssid = "ime_mreze";        // podaci tvoje Wi-Fi mreže
const char* lozinka = "lozinka_mreze";
WebServer server(80);                  // web server na portu 80

void pocetna() {
    int vrednost = analogRead(34);     // senzor na pinu 34 (0–4095)
    server.send(200, "text/html",
        "<h1>Osvetljenost: " + String(vrednost) + "</h1>");
}

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, lozinka);
    while (WiFi.status() != WL_CONNECTED) delay(500);   // čekaj mrežu
    Serial.println(WiFi.localIP());    // ovu adresu otvori na telefonu
    server.on("/", pocetna);
    server.begin();
}

void loop() {
    server.handleClient();             // odgovori na zahteve pregledača
}

Bezbednost i dobre navike

  • Ne objavljuj lozinku Wi-Fi mreže u kodu koji deliš (na GitHub-u, u radu) – zameni je sa "lozinka_mreze".
  • Uređaj u lokalnoj mreži ne otvaraj prema internetu bez zaštite (lozinka, HTTPS) – to radi tek kada znaš kako.
  • Pumpe i motori se napajaju posebnim izvorom i uključuju preko releja ili drajvera, nikada direktno sa pina ESP32.
  • Za 230 V (gradska mreža) – samo uz odraslu, stručnu osobu.

Ideje za sledeći projekat

ProjekatŠta se uči
meteo stanica (temperatura, vlažnost, pritisak)više senzora, grafik u pregledaču
automatsko zalivanje biljkesenzor vlažnosti zemlje, relej, pumpa
brojač ljudi na vratimaultrazvučni senzor, brojanje događaja
pametno svetloLDR senzor, PWM, upravljanje sa telefona
alarm za otvoren prozormagnetni prekidač, obaveštenje
Česte greške i saveti
  • Pre povezivanja proveri napon senzora: ESP32 radi na 3,3 V, a neki senzori daju 5 V.
  • Ako ESP32 ne može da se poveže na Wi-Fi, proveri da li je mreža na 2,4 GHz (ESP32 ne radi na 5 GHz).
  • Svaki korak isprobaj posebno (prvo senzor, pa Wi-Fi, pa web strana) – tako se greška lako nalazi.

Proveri znanje

Otvori kviz

Prvi IoT projekat

1. Šta radi ESP32 u IoT projektu?




2. Na kom frekventnom opsegu Wi-Fi mreže radi ESP32?




3. Kako se uključuje pumpa koja ima sopstveno napajanje?