Organisme de Formation aux technologies et métiers de L'informatique
java

Formation Développer des applications IoT/LoraWAN en Java et C++

Concevoir des applications pour objets connectés

Informations générales

LNG060
4 jours (28h)
2 690 €HT

Objectifs

Après ce cours, vous serez capable de :

  • Identifier ce qu'est l'Internet des Objets
  • Maîtriser les schémas d'architecture sous-jacents
  • Connaître les différentes technologies réseau pour l'IoT et savoir en utiliser certains mécanismes de base
  • Être capable de maîtriser les concepts Lora et LoraWAN et savoir mettre en oeuvre une mote et un gateway
  • Être capable de prototyper une solution communicante LoraWAN sur base Arduino ou Raspberry
  • Identifier comment réaliser et utiliser des composants logiciels d'exploitation des données issues des capteurs

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Développeur, architecte ou responsable technique

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • La connaissance des bases de programmation est recommandée pour profiter des travaux pratiques
  • La pratique de C++ ou Java dans l'atelier Eclipse est un plus

Programme de la formation

Selon une étude de Gartner, le nombre d'objets connectés en circulation dans le monde devrait passer de 4,9 milliards en 2015 à 25 milliards en 2020. Les besoins en compétences pour accompagner cette croissance exponentielle vont inévitablement suivre la même trajectoire. Cette formation a précisément pour objectif d'amener les développeurs traditionnels vers le monde des applications IoT. Durant ces 5 jours, les participants se familiariseront avec l'architecture typique d'un réseau IoT et mettront en place une chaîne IoT complète, depuis la remontée d'informations émises par des capteurs connectés LPWAN jusqu'à la DataVisualization en passant par la collecte Cloud/Big Data et l'exploitation logicielle Java ou C++.

Introduction à l'Internet des Objets

  • Présentation des concepts associés à l'IoT
  • Concepts de base IoT
  • Liens avec M2M
  • Architectures IoT
  • Problématiques de la communication et de l'énergie
  • Les offres et acteurs
  • Les nouveaux réseau dédiés IoT

Architectures IoT

  • Architectures matérielles et logicielles spécifiques IoT
  • Schéma général d'architecture, des capteurs aux serveurs
  • Les systèmes d'exploitation adaptés à l'IoT (Linux, Raspbian, Win10 IoT...)
  • Liens avec les différents Cloud (MS Azure IoT...)
  • Sécurité et confidentialité des données
  • Les différents types de réseaux disponibles : réseaux privés, réseaux opérateurs

Réseaux et détections de proximité

  • Les moyens de communication spécifiques IoT
  • Panorama des technologies disponibles : wifi, Bluetooth, NFC, RFID...
  • Échanges avec Bluetooth (BLE) et Wifi Direct
  • Fonctionnement des systèmes RFID et NFC (tag et lecteur)
  • Les possibilités offertes par les Smartphones
  • Mise en pratique : client-serveur bluetooth, détection NFC

Le réseau LPWAN

  • Spécificités des réseaux dédiés IoT
  • Les spécificités des réseaux IoT (distance, positionnement des équipements, autonomie)
  • Caractéristiques des réseaux LPWAN
  • Étude de SigFox et LoRaWan
  • Quelle programmation ?
  • Réseaux privés ou publics
  • Les opérateurs
  • Sécuriser un réseau IoT

LoRa et LoRaWAN

  • Présentation du standard LoRa/LoRaWAN
  • La modulation radio LoRa et la spécification LoRaWAN
  • L'architecture générale d'un réseau LoRaWAN
  • Les classes A-B-C d'équipements (mote) et les mécanismes ABP et OTAA d'inscription sur le réseau
  • Les fonctions des concentrateurs (gateways) et des serveurs réseaux et applicatifs
  • Sécuriser un réseau LoRaWAN
  • Mise en pratique : utilisation d'une mote ABP, paramétrage d'un concentrateur, configuration d'un serveur (clés)

Le prototypage

  • Solutions pour prototyper un objet connecté
  • Présentation des solutions Arduino et Raspberry
  • Les possibilités Arduino Hardware (capteurs, shield, GPIO) et la programmation embarquée
  • Les environnements disponibles sur Raspberry et le lien avec Arduino
  • Le choix d'un système d'exploitation et des outils de développement
  • Mise en pratique : réalisation d'une mote ABP ou OTAA sur Arduino en C++ ; utilisation de capteurs sur bus UART ou I2C ; réalisation d'un concentrateur ou d'une mote sur base Raspberry Pi en Java

Exploitation logicielle

  • Solutions pour exploiter les données remontées des capteurs IoT
  • Les brokers de messages adaptés IoT (MQTT)
  • Les APIs de type REST et outils de développement
  • Les solutions d'injection de données dans une base NoSQL Big Data
  • Les différents Cloud (Google Cloud Platform, ThingPlus...)
  • Les moyens logiciels permettant de sécuriser une solution IoT
  • Les techniques de Data Visualization
  • Mise en pratique : ajout de messages LoRaWAN dans un broker MQTT (local ou cloud) ; extraction et visualisation avec Apache Nifi
plus d'infos

Méthode pédagogique

  • Plus de 50% du temps est consacré à la réalisation de travaux pratiques
  • La session alterne des présentations théoriques avec des exercices en groupe ou individuels.
  • Des versions numériques de tous les documents sont remises aux participants (support de cours, énoncés, corrigés).
  • Les travaux pratiques sont réalisés en Java et C++ avec l'IDE Eclipse, sur matériels de type Arduino et/ou Raspberry Pi.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Mis à jour le 08/11/2023