Prvi IoT projekat: od senzora do telefona
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.
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. Delovi | ESP32, senzor, otpornici, protobord, USB kabl | Uvod u ESP32 |
| 3. Priprema | instalacija Arduino IDE i podrške za ESP32 | Instalacija ESP32 |
| 4. Merenje | očitavanje senzora i ispis na serijski monitor | Merenje osvetljenja (ESP32) |
| 5. Mreža | povezivanje na Wi-Fi i web server na ESP32 | Kako radi web server |
| 6. Prikaz | web strana sa vrednostima koja se osvežava | Statičke web strane na serveru |
| 7. Akcija | uređ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 biljke | senzor vlažnosti zemlje, relej, pumpa |
| brojač ljudi na vratima | ultrazvučni senzor, brojanje događaja |
| pametno svetlo | LDR senzor, PWM, upravljanje sa telefona |
| alarm za otvoren prozor | magnetni prekidač, obaveštenje |
- 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?
