Difference between revisions of "PM2M/2016/TP"

From air
Jump to navigation Jump to search
Line 83: Line 83:
 
* [[ATT M2X]]
 
* [[ATT M2X]]
 
* [[AMQP]]
 
* [[AMQP]]
  +
* [[EVRYTHNG]]
 
...
 
...
   

Revision as of 14:40, 4 February 2016

Page 2016 des supports de cours et travaux pratiques de l'UE Projets M2PGI Services Machine-to-Machine.

Enseignants 2016 : Didier Donsez, Laurent Lemke

Partie démarrant le 1er Mars 2016 en F112.

Soutenances

A définir : 1 Créneau de 2H du 11 au 13 Avril 2016.

Sujets

27 étudiants: 13 sujets

Instructions

Chaque soutenance dure 20 minutes (10 minutes de présentation, 5 minutes de démo, 5 minutes de questions)

La présentation comportera un transparent pour chacune des rubriques suivantes) :

  • Titre (avec les noms prénoms des binômes)
  • Applications IoT cibles/envisagées
  • Cartes et Composants Matériels Utilisés
  • Composants Logiciels et Protocoles Utilisés
  • Architecture Générale
  • Nombre de Lignes de Code Développés et Langages de Programmation
  • Difficultés Rencontrés
  • Conclusion

La présentation peut-être réalisée avec Reveal.js.

Pensez a répéter vos présentations.

Envoyez le lien vers le dépôt Github (code + présentation) avant la soutenance.

Support de cours

Etapes

Fiche de synthèse

Synthétiser un des sujets suivants en 1 page maximum. La page doit être une entrée du wiki. Chaque synthèse est individuelle.

...

Capteurs et Actionneurs

Genuino 101
  1. STM32 Nucleo + Shield LoRa SX1276 + Shield Météo
  2. STM32 Nucleo + Shield NFC + Shield BLE (avec client Android MQTT)
  3. STM32 Nucleo + Récepteur RDS + ESP8266
  4. Sensors ZWave + Clé ZWave
  5. Sensors RFXCom 433MHz + Clé RFXCom 433MHz
  6. STM32 Nucleo + Shield BLE (capture de beacons iBeacon & AltBeacon) (avec client Android MQTT)
  7. Sensors enOcean (à vérifier auprès de Jérôme Maisonnasse)
  8. Sensors Zigbee (à vérifier auprès de Jérôme Maisonnasse)
  9. Sensors XBee (à vérifier auprès de Jérôme Maisonnasse)
  10. Sensors Wifi ESP8266 (IDE Arduino)
  11. Sensors Wifi ESP8266 (Lua)
  12. Carte de démonstration SigFox
  13. Carte Intel Curie Genuino 101 (avec client Android MQTT)
  14. Carte Intel Curie Genuino 101 (avec client Android MQTT) +Ceinture cardio Geonaute
  15. Carte Xadow GSM+BLE du RePhone (voir ArduinoPhone 2.0)
  16. Carte LoRa

Mini-Projet

Architecture Mini-Projet

Ce mini-projet consiste a mettre en place une infrastructure de collecte de données capteur. L'acquisition des mesures de capteurs distribués se fait sur une carte STM32 Nucleo, sur une carte Intel Galileo ou sur un téléphone Android. Les technologies de comminucation sont : USB Serial, BLE, LoRa, Ethernet, WiFi. Les données sont remontées dans des messages vers un serveur (Node-RED) via un "broker" PubSub (MQTT (Mosquitto ou RabbitMQ), Apache Kafka, PubNub, PubSubHubbub, Socket.io, WebRTC ...). Les formats des messages peuvent être JSON (GeoJSON), BSON, CSV, NMEA 0183, binaire, XML (EEML, KML, AMMP ...) ... Les données peuvent être stockées dans une base de données (SQL ou NoSQL comme MongoDB, Redis.io, InfluxDB, ...) et visualisées en différé ou en direct (Grafana, D3.js, OpenHAB via le connecteur MQTT, Bootleaf pour les données géolocalisées ...)

Contenu Mini-Projet

CoAP Binding for OpenHAB

Extension de Node-RED

Création ou Amélioration de Nodes

Le code devra être recontribué en open-source sur GitHub et catalogué dans http://flows.nodered.org/

Déploiement sur plateforme Cloud

Le serveur Node-RED et le "broker" PubSub MQTT (Mosquitto ou RabbitMQ) peuvent être hébergé sur une plateforme cloud comme Windows Azure ou Amazon EC2, Heroku, IBM Bluemix ou sur votre machine.

Attention, Eduroam bloque le port 1883 du protocole MQTT (entre autre).

PubSub des mesures capteur avec Apache Kafka

GPS > Kafka > Storm on Azure Demo

Le broker MQTT peut être replacé par le broker PubSub Apache Kafka qui peut fonctionner en configuration distribuée et répliquée (plusieurs serveurs sur une plateforme cloud).


Collecte, Stockage et Visualisation des mesures capteur avec Logstash, Elastic Search, Kibana

voir NodeRED ElasticSearch3

Affichage des positions avec Bootleaf

Refactorer et améliorer Bootleaf afin de visualiser en temps réel les données géolocalisées de vos capteurs ou des traces (séries temporelles de positions). Exemple: tester la présence d'un champ latlon, latlonalt, geo, ... dans le JSON des flows Node-RED.

Intégration à un ESB Apache Camel

Compléter le tutoriel avec un déploiement de composants Apache Camel Vous pourrez utiliser les composants suivants

Soutenance

Instructions pour les soutenances des mini-projets

  • chaque soutenance dure 15 minutes comportant une présentation de 7 minutes ainsi qu'une démonstration de 5 minutes et 3 à 5 minutes de questions/réponses.
  • respectez le temps donc repetez la
  • remplissez le doodle pour choisir un creneau de passage
  • la présentation mettra en avant
    • le contexte M2M et le domaine d'application ciblée,
    • le ou les architectures (successivement) implémentées,
    • les composants logiciels et matériels utilisés,
    • les métriques (sloc, performance ...),
    • les problèmes rencontrés et les solutions élaborées,
    • la conclusion
    • des perspectives possibles à votre développement.

Le code, le rapport et le PDF de la presentation doivent être livré dans un dépôt Github la veille de la soutenance. Le rapport qui détaille les éléments de la présentation sera livré dans un README.md ou README.html dans le dépôt GitHub. Prière de me communiquer l'adresse des dépôts GitHub aussi vite que possible.

Projets

Matériel

Visualisation

Stockage

Liens

Autres

Galerie 2016

Galerie 2015

Galerie 2014

PM2M 2014PM2M 2014PM2M 2014PM2M 2014PM2M 2014PM2M 2014PM2M 2014PM2M 2014