First Day
Introduction to IoT
- IoT potential
- IoT Architecture and Core IoT Modules
- Functional blocks of an IoT solution
- The Essentials for Building IoT platform
- Cloud Providers
Exercise: |
Install and configure an open-source IoT platform |
LwIP introduction
- Overview
- Buffer and memory management
- LwIP configuration options
- Network interfaces
- MAC and IP address settings
- IP processing
- UDP processing
- TCP processing
- Interfacing the stack
- Application Program Interface (API)
- Standalone
- Netconn and BSD socket library
MQTT Protocol
- Publish-subscribe
- Architecture details
- Packet structure
- Communication formats
Exercise: |
Connect and publish CPU temperature |
Exercise: |
GPIO control over MQTT |
Second Day
MQTT-SN
- Architecture and topology
- Transparent and aggregating gateways
- Gateway advertisement and discovery
- Differences between MQTT and MQTT-SN
Constrained Application Protocol
- CoAP architecture details
- CoAP Messaging Formats
IoT Security
- IoT cyber attacks
- Physical and hardware security
- Key management and trusted platform modules
- Processor and memory space
- Storage security
- Physical security
- Cryptography
- Symmetric cryptography
- Asymmetric cryptography
- Cryptographic hash (authentication and signing)
- Public Key Infrastructure
- Network Stack – Transport Layer Security
- Best practices
MbedTLS Introduction
- Encryption/Decryption module
- Hashing Module
- RNG module
- SSL / TLS communication module
- TCP / IP communication module
- X.509 module
Exercise: |
Two-way SSL connection using TLS with MbedTLS |
Third Day
Amazon FreeRTOS
- Amazon FreeRTOS Architecture
- FreeRTOS Kernel Fundamentals Overview
- Amazon FreeRTOS Libraries
- Amazon FreeRTOS Console
Amazon FreeRTOS Libraries
- Porting Libraries
- Application Libraries
- Common Libraries
- Atomic Operations
- Linear Containers
- Logging
- Static Memory
- Task Pool
- Configuring the Amazon FreeRTOS Libraries
- Bluetooth Low Energy
- AWS IoT Device Defender
- AWS IoT Device Shadow
- AWS IoT Greengrass
- MQTT (v2.0.0 and v1.0.0)
- HTTPS
- Over-The-Air (OTA) Agent
- Public Key Cryptography Standard (PKCS) #11
- Secure Sockets
- Transport Layer Security (TLS)
- Wi-Fi
Amazon FreeRTOS Porting
- Porting FreeRTOS Kernel
- Wi-Fi
- TCP/IP
- Secure Sockets
- PKCS #11
- TLS
- MQTT
- HTTPS
- OTA
- BLE