ac6-training, un département d'Ac6 SAS
 
Site displayed in English (USA)
View the site in FrenchSite affiché en English (USA)Voir le site en English (GB)
+ +
- -
Online Training
 
Calendar  Details
Operating Systems
 
Calendar  Details
Programming
Calendar  Details
Processors
 
Calendar  Details
Communication
 
 
 
Calendar  Details
+ +
> >
- -

ac6 >> ac6-training >> Operating Systems >> RTOS >> Internet of Things (IOT) on Microcontrollers Download Catalog Download as PDF Write us Printable version

IOT1 Internet of Things (IOT) on Microcontrollers

Building low-power IOT devices using standard microcontrollers

formateur
Objectives
  • Introduce the IoT ecosystem
  • Learn how to deploy an local open source IoT Platform
  • Describe the most used IoT Edge to Cloud Protocols (MQTT, MQTT-SN and CoAP)
  • Explore particularly heinous IoT focused attacks and security provisions at each level of stack (physical devices, communication systems and networks)
  • Learn how to configure the LwIP (with MQTT), FreeRTOS and MbedTLS for an STM32 IoT application
  • Understand the architecture of the Amazon FreeRTOS IOT libraries
Labs will be conducted on STM32-based boards connected through WiFi or Ethernet to a private cloud server
Prerequisites
  • Familiarity with C concepts and programming targeting the embedded world
  • Basic knowledge of embedded processors
  • Basic knowledge of multi-task scheduling
  • Basic Concepts of Cryptography
  • Basic knowledge of STM32 microcontrollers
  • FreeRTOS (one of the following):
    • RT3 – FreeRTOS Real-Time Programming
    • OS3 – FreeRTOS Programming
    • STG – STM32+FreeRTOS+LwIP/TouchGFX
  • If possible STM32 architecture
  • The following courses could be of interest:
    • AAM – ARM Cortex-M Architecture Course
    • L2 – C Language for Embedded MCUs course
    • STR9 – STM32 Peripherals Course
Course environment
  • Convenient course material
  • Example code, labs and solutions
  • ARM-based target board (STM32)
  • Access to a private cloud server

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