Day 1: Introduction to IoT & Communication Protocols
Introduction to IoT
IoT potential
IoT architecture & core modules
Functional blocks of an IoT solution
Essentials for building an IoT platform
Overview of cloud providers
Exercise: Install & configure an open-source IoT platform
LwIP Introduction
Overview, buffer & memory management
Configuration options, network interfaces
MAC & IP address settings
UDP & TCP processing
API options: Standalone, Netconn, BSD socket library
MQTT Protocol
Publish-subscribe model
Architecture, packet structure & communication formats
Exercise: Connect & publish CPU temperature
Exercise: GPIO control over MQTT
Day 2: Advanced IoT Protocols & Security
MQTT-SN (MQTT for Sensor Networks)
Architecture & topology
Transparent vs. aggregating gateways
Gateway advertisement & discovery
MQTT vs. MQTT-SN differences
Constrained Application Protocol (CoAP)
CoAP architecture & messaging formats
IoT Security
Cybersecurity threats in IoT
Physical & hardware security
Key management & trusted platform modules
Processor & memory security
Storage & cryptography (symmetric, asymmetric, PKI)
Best practices in IoT security
MbedTLS Introduction
Encryption/decryption, hashing, RNG, SSL/TLS modules
Exercise: Secure a connection using TLS with MbedTLS
Day 3: Amazon FreeRTOS & IoT Library Porting
Amazon FreeRTOS Overview
FreeRTOS kernel fundamentals
Amazon FreeRTOS architecture & console
Amazon FreeRTOS Libraries
Porting libraries
Application & common libraries
Secure sockets, TLS, MQTT, HTTPS, BLE, OTA updates
Exercise: Configure & test Amazon FreeRTOS libraries
Amazon FreeRTOS Porting & Hands-on Implementation
Porting FreeRTOS kernel
Secure connectivity (TLS, PKCS #11, secure sockets)
MQTT & HTTPS integration
Over-the-air (OTA) updates & device security