L’Internet des Objets (IoT) est au cœur des innovations technologiques majeures actuelles dans les domaines de la santé, l’agriculture, la sécurité, l’énergie, le transport et l’industrie.
Au cours de cette formation sont abordées l’intégration et l’utilisation des systèmes embarqués afin de développer des prototypes ou des projets en lien avec l’internet des objets (IoT).
Cette formation s'adresse aussi bien à des cadres techniques qu’à des chefs de projets:
Aux termes de cette formation, les auditeurs seront capables de comprendre l’environnement des systèmes embarqués ainsi que de mettre en œuvre (développer) un système embarqué pour l’IoT.
Comprendre l’environnement
STM32 Discovery Kit, Prob de debug Stlink, IAR IDE, Linux, Arduino IDE
C-embarqué, Ce qu’il faut savoir
Toolchain
Type de donnés (stdint.h)
Placement de donnés (Main memory/Stack/ Heap)
Classes d’allocations (auto, static, registre, extern, const)
Opérations binaires (AND, OR, XOR: qu’est qu’un mask )
Shift
Boolean
Break-Continue statement
Preprocessor
Volatile
STM32 Architecture (Interconnexion Master/Slaves CPU/RAM/Periph)
CortexM4 bus (ARM Amba AHB/APB)
STM32 Clock Tree (System_clk, glock gating…)
Périphérique GPIO (Input/output config)
STM32 IAR application (C-embarqué)
Hello word Project (IAR configuration Stlink Config Registre définition ), Led toggling avec STM32
STM32 Real time debug, accès aux registres
CMSIS Library (IAR startup file)
Application avec CMSIS
STM32 Lab (Appliquer ce qui est vu sur différentes applications)
LAB1 : led chenillard (rouge, vert, blue, orange) (utilisation des pre-processor)
LAB2 : clignotement de leds avec différentes fréquences
LAB3 : Développement d’un menu pour commander des leds
LAB4 : Utilisation des boutons
La bibliothèque HAL
HAL les bibliothèques fournit de ST
HAL Architecture
Initiation au CubeMx ST tool
Configuration de project avec CubeMx
Génération de code HAL avec cubeMx
Clock – configuration
comprendre l’architecture d’horloge sur les STM32 (PLL/HSI/HSE/SYSCLK/AHB…)
LAB1 : Générer un code HAL avec différentes fréquences (clock system frequency )
Comprendre les Interruption de STM32
Présentation du bloc l’NVIC EXTI et SYSCFG
Développer la Premier application avec des interruptions bouton (EXTI)
LAB2 : Gérer la priorité avec deux interruptions configurées
Comprendre la DMA
Présentation du DMA : Principe de fonctionnement, l’offload du CPU.
STM32 Microcontrôleur (suite)
La bibliothèque HAL
HAL les bibliothèques fournit de ST
HAL Architecture
Initiation au CubeMx ST tool
Configuration de project avec CubeMx
Génération de code HAL avec cubeMx
Clock – configuration
comprendre l’architecture d’horloge sur les STM32 (PLL/HSI/HSE/SYSCLK/AHB…)
LAB1 : Générer un code HAL avec différentes fréquences (clock system frequency )
Comprendre les Interruption de STM32
Présentation du bloc l’NVIC EXTI et SYSCFG
Développer la Premier application avec des interruptions bouton (EXTI)
LAB2 : Gérer la priorité avec deux interruptions configurées
Comprendre la DMA
Présentation du DMA : Principe de fonctionnement, l’offload du CPU.
Transfert “Memory to Memory” avec CPU et avec DMA (LAB3)
Transfert des buffers du Flash à SRAM en utilisant la DMA (LAB4)
Power control block
Différence entre les different mode de fonctionnement RUN/SLEEP/STOP/STANDBY
comprendre le wakeup system via EXTI
Différence entre Event et interrupt mécanisme
Introduction aux périphériques de communication
Topologie réseau des diffèrent IP (SPI/I2C/UART…)
Notion de base : Master/ Slave Synchrone Asynchrone Duplex …
Comprendre l’SPI
Les caractéristiques de base de l’SPI
Configuration de l’SPI
Communication avec les 3Process HAL IT/Polling/DMA (3 LAB)
Comprendre l’UART
Différence entre UART/USART
Protocole UART
Configuration de l’UART
Communication Loop back avec 3 Process HAL/IT/DMA ( 3 LAB)
Comprendre l’I2C
Protocol I2C
Configuration I2C
Communication entre deux discovery via I2C
Application avec l’accéléromètre embarqué LIS302DL
Configurer l’SPI pour communiquer avec le LIS302DL
Utilisation du Driver de l’accéléromètre
Récupérer les accélérations linéaire x, y ( tilit sensor )
Introduction à l’IOT
Block diagramme de l’application
Les outils hardware & software utilisés
TCP/UDP Server et client
Ce qu’il faut savoir sur le réseau
Utilisation du module ESP8266 Wifi
Configuration et debug du module
Comprendre les Commandes AT
Wifi Access point ( wifi Direct)
LAB 1
– Création d’un server UDP : STM32 + ESP8266 (HAL UART + DMA)
– Création d’un Client UDP : STM32 + ESP8266 (HAL UART + DMA)
Création d’une application Android Client
Ouvrir un socket UDP Client avec Android pour communiquer avec STM32 UDP Server
Communication avec socket TCP
LAB 2
Réaliser un menu de command avec Android pour piloter un STM32 via le Wifi: toggler des LED / lire l’état des boutons … avec Smartphone
Arduino
Initiation à l’environnement Arduino
LED et notion électronique
Application de base: – gestion des entrées sorties
entrées sorties analogique (ADC, PWM)
les interruptions
les timer
Affichage sur LCD
Arduino & Robotique: – commande des moteurs DC
moteurs pas à pas
servo moteur
Moteur à courant continu
Arduino & communication : UART, spi, i2c
Ethernet
Wire
Arduino et communication sans fil
NRF24L01
WiFi
LAB : Réalisation d’un Robot télécommandé
Application IoT domotique avec Arduino
IoT
Ubidots
→ Formation: Les systèmes embarqués pour l’Internet des Objets (IoT)
→ Formation Linux : Construire et installer une plateforme Linux pour système embarqué
→ Formation Internet des Objets (IoT): Normes, écosystème et applications