Mi az az IoT?
Az Internet of Things (IoT) olyan hálózatba kapcsolt eszközök rendszere, amelyek szenzorokon keresztül adatot gyűjtenek, majd ezeket az adatokat továbbítják, feldolgozzák és megjelenítik.
Az IoT rendszer fő elemei
- 🔹 Szenzorok (hőmérséklet, nyomás, páratartalom)
- 🔹 Mikrovezérlő vagy SBC (Arduino, Raspberry Pi)
- 🔹 Kommunikációs réteg (I2C, SPI, UART, Ethernet, WiFi)
- 🔹 Felhőszolgáltatás (ThingSpeak)
- 🔹 Adatvizualizáció
Ipari környezetben az IoT lehetővé teszi:
✔ állapotmonitorozást
✔ prediktív karbantartást
✔ távoli diagnosztikát
✔ adatvezérelt döntéshozatalt
IoT rendszer üzemeltetési alapjai
Egy IoT rendszer nem csak programozásból áll. Fontos a stabil hálózati kapcsolat, csomagkezelés, hibakezelés és biztonság.
Fontos elemek:
- ✔ Linux alapú rendszer (Raspberry Pi OS)
- ✔ Csomagkezelés (apt, pip)
- ✔ Virtual environment használata
- ✔ I2C engedélyezése (raspi-config)
- ✔ API kulcs biztonságos kezelése
A rendszer stabil működéséhez szükséges:
- hibakezelés try/except blokkokkal
- időzített adatküldés (rate limit miatt)
- hálózati hibák kezelése
Rendszer architektúra
A projekt két eszközből áll:
- Arduino Mega – szenzor olvasás
- Raspberry Pi – adatfeldolgozás és továbbítás
I2C és HTTP kommunikáció
I2C kommunikáció
Az Arduino slave módban működik (0x08 cím), a Raspberry Pi pedig master.
Wire.begin(SLAVE_ADDRESS); Wire.onRequest(requestEvent);
A Raspberry Pi oldalon:
data = bus.read_i2c_block_data(ADDR, 0, 8)
temp, press = struct.unpack('ff', bytes(data))
HTTP adatküldés ThingSpeak-re
payload = {
"api_key": THINGSPEAK_API_KEY,
"field1": temp,
"field2": pres
}
requests.post(THINGSPEAK_URL, data=payload)
A rendszer 15 másodpercenként küldi az adatot, a rate limit betartása miatt.
BMP180 Szenzor alapú IoT rendszer
A BMP180 szenzor méri:
- 🌡 Hőmérséklet
- 🌡 Légnyomás
A mért adat:
Arduino → I2C → Raspberry Pi → HTTP → ThingSpeak Cloud
Nehézségek és megoldások
- I2C adatcsomag byte szintű kezelése
- Float értékek struktúrált átvitele
- Linux pip hiba (externally-managed-environment)
- HTTP timeout kezelés
- Rate limit probléma
A projekt fejlesztette:
✔ rendszerüzemeltetési tudás
✔ hálózati kommunikációs ismeretek
✔ hibakeresési készséget
✔ ipari szemléletet