GINF53G6 e-Services pour le M2M

L'UE GINF53G6 "e-Services pour le M2M" du M2PGI est l'évolution de l'UE Projets M2PGI Services Machine-to-Machine enseigné de 2005 à 2013.

Enseignants: Didier Donsez et Olivier Gruber

Contexte
L'Internet des choses (IoT) devient désormais une réalité avec la disponibilité de dispositifs enfouis communicants (étiquettes RFID, capteurs sans fil, téléphonie mobile …) de faible coût. L'Internet des choses offre aux entreprises de nouvelles opportunités de modèles économiques (ie pay as you use), d’amélioration de la qualité du service rendu à leurs clients (particuliers ou entreprises) et de satisfaction de leurs obligations légales ou contractuelles. Il s’impose comme le nouvel outil d’efficacité (ie just-in-time) et de productivité pour les entreprises et organisations e-agiles.

Les services nécessaires sont appelés Machine à Machine (M2M) car ils sont à la convergence des dispositifs enfouis et des systèmes d'information des entreprises via des moyens de communication ubiquitaires. Cependant une grande majorité des services M2M sont actuellement conçus de manière ad-hoc en adressant spécifiquement un domaine sectoriel (santé, énergie, agriculture, distribution, transports, …). Ces services M2M sont généralement incompatibles entre eux et de ce fait, ils ne permettent pas de « croiser » les applications inter-secteurs.

Les systèmes d'exploitation et les intergiciels pour M2M jouent un rôle crucial dans la livraison et l'évolution rapides d'infrastructures matérielles et des suites logicielles flexibles et adaptées aux besoins des entreprises et des organisations, et de leurs clients et de leurs usagers pour l'exploitation de l'Internet des Choses.

Cette UE forme aux principales technologies permettant à des ingénieurs informaticiens de construire et expérimenter des infrastructures pour le M2M.

Pré-requis
Projet d'intégration ECOM (tronc commun du M2P), notions en intergiciels et langage Java. Langages de programmation Java et C. Systèmes d’exploitation..

Compétences

 * comprendre les technologies et les contraintes des capteurs et actionneurs
 * maîtriser les méthodes et les technologies pour la construction, l’intégration et le déploiement de systèmes embarqués communicants dans les systèmes d’information des entreprises nécessaire à la mise en place des services Machine à Machine (M2M).
 * maîtriser la configuration de noyau Linux pour les systèmes embarqués
 * comprendre la virtualisation
 * comprendre les contraintes des systèmes embarqués

Partie 1 Linux Embarqué (15 heures)

 * Introduction à la virtualisation et son utilité dans le développement système
 * Introduction au noyau Linux, device drivers, et au processus de boot (bootloader)
 * Configuration et compilation de noyaux Linux dédiés
 * Création d’une mini-distribution à la Google Android, fondée sur Java/OSGi
 * Cross-compilation sur la board Raspberry Pi

Partie 2 Services Machine à Machine M2M (15 heures)

 * Introduction aux microcontrolleurs : Environnement Arduino C et Lua pour AVR8 et MSP430, STM32 (1H30)
 * Introduction aux bases de l’électronique des capteurs-actionneurs (composants élémentaires, capteurs résistifs, servo-moteurs, commandes de moteurs (ponts H) et de relais de puissance), alimentations DC & AC et récupération d’énergies. (1H30)
 * Communications USB Serial, Zigbee, Bluetooth, BLE, Dash7, enOcean & ELM327 avec Arduino, Python, Node.js, Processing et Java (RXTX). (1H30)
 * Programmation de passerelles M2M avec OSGi (iPOJO, RXTX, GPS, MQTT, Eclipse Kura) (3H00)
 * Médiation, Stockage et Visualisation de données M2M (MQTT, REST/COAP, XMPP). Mashup avec des données ouvertes open data (OpeenStreetMap) (1H30)
 * Mini-Projets de services M2M en utilisant des capteurs sur base Arduino et un serveur MQTT (Eclipse Paho M2M) réalisés par binome. (6H00)

Des capteurs de plusieurs types et des types de passerelles (mini-pc ARM et mini pc industriel Atom) sont répartis entre les groupes d'étudiants. Les applications à réaliser sont différentes chaque année. Les étudiants intéressés peuvent proposer leurs propres idées d'applications de ce domaine.

Le projet est réalisé en binôme. Il est validé par une soutenance orale et par la remise d'un rapport de conception. Photos pour la plaquette : http://air.imag.fr/mediawiki/index.php/PM2M-Galerie-2013

Transparents du cours

 * Introduction aux Intergiciels IoT
 * La plateforme de service OSGi
 * [Making Things Talk with Arduino http://membres-liglab.imag.fr/donsez/cours/arduino.pdf]

Livres

 * Tom Igoe, Making Things Talk, 2eme edition, O’Reilly, http://shop.oreilly.com/product/0636920010920.do
 * Richard S. Hall, Karl Pauls, Stuart McCulloch, and David Savage, OSGi in Action, Creating Modular Applications in Java, Pub. Manning April 2011, ISBN 1933988916, http://www.manning.com/hall/