Internet stvari (IoT) Razvoj IoT uređaja koristeći ESP8266/ESP32: Vodič za Početnike
Uvod
Internet stvari (IoT) donio je revoluciju u povezivanju uređaja s internetom, omogućujući kontrolu i nadzor nad raznim sustavima, od pametnih domova do industrijskih postrojenja. U središtu mnogih IoT projekata nalazi se ESP8266 ili novija verzija, ESP32, dva pristupačna mikrokontrolera koja omogućuju bežičnu povezanost i pristup internetu. Ovaj vodič provest će vas kroz osnove razvoja IoT uređaja koristeći ESP8266 i ESP32, te vam pružiti konkretne primjere kako započeti s vlastitim projektima.
1. Što su ESP8266 i ESP32?
ESP8266 i ESP32 su mikrokontroleri koje proizvodi tvrtka Espressif Systems, a dizajnirani su kako bi korisnicima omogućili bežičnu komunikaciju s jednostavnim i povoljnim hardverom.
ESP8266
ESP8266 je prvi popularni WiFi mikrokontroler koji nudi dobru procesorsku snagu i mogućnost bežičnog povezivanja za vrlo nisku cijenu. Njegove značajke uključuju:
- Procesor s taktom od 80 MHz
- 160 KB RAM memorije
- 1 MB flash memorije
- GPIO pinove za povezivanje senzora i aktuatora
- Integriranu WiFi povezivost
ESP32
ESP32 je poboljšana verzija ESP8266 s dodatnim mogućnostima i boljim performansama, kao što su:
- Dvostruki procesori s taktom do 240 MHz
- Veća RAM i flash memorija
- Ugrađeni Bluetooth i WiFi modul
- Širi raspon GPIO pinova i dodatne periferne mogućnosti
ESP32 je idealan za projekte koji zahtijevaju više snage ili dodatne funkcije poput Bluetootha, dok ESP8266 ostaje popularan zbog jednostavnosti i pristupačne cijene.
2. Zašto koristiti ESP8266/ESP32 za IoT projekte?
ESP8266 i ESP32 imaju niz prednosti koje ih čine idealnima za razvoj IoT uređaja:
- Jednostavno povezivanje s internetom: Integrirana WiFi povezivost omogućava jednostavan pristup internetu.
- Podrška za razne protokole: Podržavaju protokole kao što su HTTP, MQTT, i WebSocket, što ih čini fleksibilnim za razne aplikacije.
- Kompatibilnost s raznim senzorima i aktuatorima: GPIO pinovi omogućuju povezivanje brojnih senzora i aktuatora, uključujući senzore temperature, vlage, tlaka, i motore.
- Povoljan hardver: Cijena ESP8266 i ESP32 modula čini ih pristupačnim čak i za hobiste.
- Velika zajednica korisnika: Na internetu postoji mnogo resursa, vodiča i primjera koji pomažu korisnicima u razvoju IoT projekata.
3. Postavljanje razvojnog okruženja za ESP8266/ESP32
Prije nego što započnete s programiranjem ESP8266 ili ESP32 uređaja, trebate postaviti razvojno okruženje. Jedna od najjednostavnijih opcija za početnike je korištenje Arduino IDE-a, koji podržava oba mikrokontrolera.
Koraci za postavljanje Arduino IDE-a
- Preuzimanje i instalacija Arduino IDE-a: Posjetite Arduino službenu stranicu i preuzmite IDE za svoj operativni sustav.
- Dodavanje ESP8266/ESP32 podrške:
- Otvorite Arduino IDE, idite na File > Preferences.
- U polje “Additional Boards Manager URLs” unesite sljedeće URL-ove:
- Za ESP8266:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Za ESP32:
https://dl.espressif.com/dl/package_esp32_index.json
- Za ESP8266:
- Instalacija ESP8266/ESP32:
- Otvorite Tools > Board > Boards Manager.
- U tražilicu upišite “ESP8266” ili “ESP32” i kliknite na Install.
- Odabir ploče:
- Nakon instalacije, pod Tools > Board možete odabrati odgovarajuću ploču kao što su NodeMCU (ESP8266) ili ESP32 Dev Module.
Nakon što ste postavili razvojno okruženje, spremni ste za programiranje svog ESP8266 ili ESP32 uređaja.
4. Povezivanje senzora i aktuatora
ESP8266 i ESP32 imaju GPIO pinove koji omogućuju povezivanje raznih senzora i aktuatora. Ovdje su neki od najčešće korištenih senzora i uređaja u IoT projektima.
Uobičajeni senzori i aktuatori
- DHT11/DHT22: Senzori temperature i vlage
- MQTT: Senzor plinova
- BMP180: Senzor atmosferskog tlaka
- Ultrazvučni senzor (HC-SR04): Za mjerenje udaljenosti
- Relays: Za kontrolu visokih napona
- Motori: Za upravljanje pokretima
Primjer: Povezivanje DHT11 senzora s ESP8266
DHT11 je senzor za mjerenje temperature i vlage koji se lako povezuje s ESP8266/ESP32 putem jednog GPIO pina.
- Spojite VCC senzora na 3.3V pin na ESP8266/ESP32.
- Spojite GND senzora na GND pin na ESP8266/ESP32.
- Spojite signalnu žicu (Data) senzora na jedan od GPIO pinova (npr. GPIO5).
Koristeći biblioteku DHT u Arduino IDE-u, možete lako očitati vrijednosti s ovog senzora.
Ovaj kod očitava temperaturu i vlagu svakih 2 sekunde i prikazuje rezultate putem serijskog monitora.
5. Povezivanje ESP8266/ESP32 s internetom
Kako biste svoj uređaj učinili pravim IoT uređajem, potrebno je povezati ESP8266/ESP32 s WiFi mrežom. Nakon povezivanja, možete koristiti različite protokole za slanje i primanje podataka.
Povezivanje s WiFi mrežom
Sljedeći primjer pokazuje kako povezati ESP8266 s WiFi mrežom.
Nakon povezivanja s WiFi mrežom, vaš ESP8266/ESP32 uređaj spreman je za komunikaciju s drugim uređajima na mreži.
6. Komunikacija s Cloud platformama pomoću MQTT protokola
MQTT je lagani protokol dizajniran za IoT, koji omogućava slanje i primanje podataka između uređaja putem posrednika (broker). Popularne cloud platforme kao što su Adafruit IO, Thingspeak i IBM Watson koriste MQTT za prijenos podataka.
Postavljanje MQTT komunikacije
Za korištenje MQTT protokola, najprije trebate kreirati MQTT račun na platformi po izboru. Ovdje je primjer kako slati podatke pomoću MQTT-a na Adafruit IO:
- Registrirajte se na Adafruit IO i kreirajte feed za podatke.
- U Arduino kod unesite svoje Adafruit IO korisničko ime i ključ API-ja.
Ovaj kod povezuje ESP8266 s Adafruit IO posrednikom i šalje temperaturu svakih 10 sekundi.
7. Razvoj jednostavnog IoT projekta: Pametni termostat
Ovaj projekt kombinira sve naučeno kako biste stvorili pametni termostat koji prati temperaturu i vlagu, te šalje podatke u cloud. Pomoću aplikacije možete pratiti podatke u stvarnom vremenu i postaviti pragove za uključivanje i isključivanje grijanja.
Potrebne komponente:
- ESP8266 ili ESP32
- DHT11 ili DHT22 senzor za mjerenje temperature i vlage
- Relay modul za kontrolu grijača
Koraci:
- Povežite DHT senzor s ESP8266.
- Povežite relay modul s ESP8266, koji će omogućiti uključivanje i isključivanje grijača.
- Postavite MQTT komunikaciju za slanje podataka u cloud.
- U aplikaciji postavite pragove temperature kako bi se grijač automatski uključivao i isključivao.
Zaključak
ESP8266 i ESP32 pružaju odlične mogućnosti za razvoj IoT uređaja zahvaljujući integriranoj WiFi povezivosti i podršci za razne protokole. Uz pravilno postavljanje, moguće je razviti napredne projekte koji omogućuju praćenje i kontrolu udaljenih uređaja putem interneta. S ovim vodičem ste spremni za početak razvoja vlastitih IoT uređaja koristeći ESP8266 ili ESP32, te pridonijeti sve brže rastućem svijetu Internet stvari.
Primjedbe
Objavi komentar