Curs 9 - IoT Networking: Protocoale, Securitate și Implementare

Acest curs explorează rețelele pentru Internet of Things (IoT), incluzând protocoalele utilizate, securitatea și implementarea dispozitivelor conectate.

1. Introducere în IoT Networking

Rețelele IoT permit comunicarea între dispozitive inteligente, senzori și platforme cloud pentru analiză și automatizare.

a) Caracteristicile rețelelor IoT

- Conectivitate extinsă: Dispozitivele IoT utilizează rețele wireless și LPWAN.

- Consum redus de energie: Protocoale optimizate pentru dispozitive cu baterie.

- Scalabilitate ridicată: Suport pentru mii/milioane de dispozitive.

2. Protocoale de Comunicație IoT

IoT utilizează multiple protocoale optimizate pentru diferite aplicații și scenarii de utilizare.

a) Protocoale LPWAN (Low-Power Wide-Area Network)

- LoRaWAN: Comunicare la distanțe mari, consum redus.

- NB-IoT (Narrowband IoT): Rețea celulară optimizată pentru IoT.

b) Protocoale Wireless de Joasă Putere

- Zigbee: Rețele mesh pentru case inteligente și automatizări.

- Z-Wave: Utilizat în aplicații de automatizare rezidențială.

- Bluetooth Low Energy (BLE): Conexiuni de scurtă distanță pentru dispozitive mobile.

c) Protocoale de Transport și Mesagerie

- MQTT (Message Queuing Telemetry Transport): Protocol ușor pentru schimb de mesaje între dispozitive IoT.

- CoAP (Constrained Application Protocol): Alternativă la HTTP pentru dispozitive IoT cu resurse limitate.

- HTTP/HTTPS: Utilizat pentru conectivitate la platforme cloud.

3. Securitatea în Rețele IoT

Securitatea este esențială în IoT, deoarece dispozitivele sunt expuse atacurilor cibernetice.

a) Amenințări și Riscuri

- Dispozitive neprotejate: Lipsa autentificării și criptării.

- Interceptarea comunicațiilor: Atacuri Man-in-the-Middle (MITM).

- Botnet-uri IoT: Dispozitive compromise utilizate în atacuri DDoS.

b) Măsuri de Protecție

- Criptare end-to-end (TLS/SSL): Asigură confidențialitatea datelor.

- Autentificare și Autorizare (OAuth, JWT): Previne accesul neautorizat.

- Actualizări de firmware și patch-uri de securitate: Protecție împotriva vulnerabilităților.

4. Implementarea unei Rețele IoT cu MQTT

Exemplu de configurare a unui dispozitiv IoT care transmite date prin MQTT.

import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    print("Connected with result code ", rc)
    client.subscribe("senzori/temperatura")

def on_message(client, userdata, msg):
    print(f"Received: {msg.topic} -> {msg.payload.decode()}")

client = mqtt.Client()
client.connect("broker.hivemq.com", 1883, 60)
client.on_connect = on_connect
client.on_message = on_message
client.loop_forever()

5. Exercițiu Practic - Configurarea unei Rețele IoT cu Dispozitive Edge

Construiește o rețea IoT în care dispozitive ESP32 trimit date către un broker MQTT și sunt stocate într-o bază de date cloud.

Resurse suplimentare: