Acest curs explorează rețelele pentru Internet of Things (IoT), incluzând protocoalele utilizate, securitatea și implementarea dispozitivelor conectate.
Rețelele IoT permit comunicarea între dispozitive inteligente, senzori și platforme cloud pentru analiză și automatizare.
- 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.
IoT utilizează multiple protocoale optimizate pentru diferite aplicații și scenarii de utilizare.
- LoRaWAN: Comunicare la distanțe mari, consum redus.
- NB-IoT (Narrowband IoT): Rețea celulară optimizată pentru IoT.
- 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.
- 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.
Securitatea este esențială în IoT, deoarece dispozitivele sunt expuse atacurilor cibernetice.
- 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.
- 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.
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()
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.