VT2016 IoT cloud platforms

= Présentation =


 * Sujet : IoT Cloud Platforms
 * Auteur : Yacine NDIAYE
 * Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU



= Mots clés = IoT, developpement platform, Cloud Computing, Temboo, Carriots, IBM Watson, Microsoft Azure IoT, Aws IoT, Ubidots, Kaa

= Résumé = Avec l’explosion de l’internet des objets, de nombreux projets Iot ont vu le jour et on assiste à l’émergence de nombreux développements et solutions Iot. L’internet des objets constitue un ensemble d’objets connectés qui utilisent le réseau comme support pour échanger des données. Ces objets sont divers et peuvent être des cartes (ex : Arduino), des logiciels ou des capteurs. L’existence de ce vaste réseau nécessite une ou plusieurs plateformes qui servent de support. De plus, avec des cartes microprocesseurs comme Arduino ou Raspberry Pi devenus accessibles et bon marché, nombreux ont voulu dans le développement de projets IoT. C’est dans cette lancée que de nombreuses entreprises ont créé des plateformes IoT pour les développeurs ou tout simplement des amateurs qui sont intéressés par des projets IoT.

= Abstract = With the explosion of the internet of things, many Iot projects have emerged and we are witnessing the developments of many Iot solutions. The Internet of Things is a set of connected devices that use the network as a medium for exchanging data. These objects are diverse and are usually boards (eg Arduino), software or sensors. The existence of this vast network requires one or more platforms as a support. Moreover, with IoT boards like Arduino or Raspberry Pi becoming accessible and cheap, many wanted to venture into building IoT projects. It is in this context that many companies have created IoT platforms for developers or people interested in easily building IoT projects.

= Synthèse =

A quoi sert une plateforme Iot ?
Les plateformes IoT permettent aux développeurs mettre en place des projets IoT facilement et rapidement. En général, elles offrent :


 * des SDKs API : pour faciliter les développements


 * des services de stockage de données : permet le stockage des données envoyées de plusieurs cartes par exemple le stockage des données reçues d’un capteur. Du fait de la très forte volumétrie des données mise à disposition par ces objets connectés, le lien avec les solutions Big Data est évident. Les plateformes pallient des problèmes perceptibles dans le 'data mining' en apportant de nouvelles méthodes pour la collecte, l'analyse et l’utilisation efficace de ces données.


 * la gestion d’événements : permet de dire quelle action faire lorsqu’un événement arrive. Ainsi, le workflow des messages d'évènements et des notifications doit fonctionner de façon fluide dans l’internet des objets, donc les plateformes IoT intègrent un ensemble de règles pour prendre en charge les flux de données.


 * l’intégration de services et plateformes : plusieurs plateformes sont capables d’interagir avec d’autres systèmes ou plateformes.

Il existe d’autres services offerts par les plateformes IoT tels que la visualisation de données, la gestion des utilisateurs…

Il est clair que les plateformes IoT n’offrent donc pas les mêmes services. Très souvent lorsqu’on veut développer un projet IoT, on compare les plateformes entre elles pour choisir celle qui correspond le plus à nos besoins. Ce qui nous ramène à la question de savoir comment choisir la plateforme IoT appropriée ?

Composants d'une Plateforme IoT moderne
Selon IoT Analytics, le marché des plateformes IoT devrait atteindre 1 milliard de dollars d’ici 2019. Ce qui explique pourquoi est témoin de la quantité de plateformes IoT qui voient le jour. Ces plateformes sont en effet la clé pour développer des applications IoT scalables qui connectent les mondes réel et virtuel entre les objets, les hommes et les systèmes. Donc avoir une application IoT de qualité dépendrait fortement de la plateforme utilisée.

Toutes les plateformes qui se disent plateformes IoT ne le sont pas en réalité et qu’il est prudent de distinguer les plateformes IoT (IoT Application Enablement Plateform) des autres types de plateformes(du genre PaaS).

On distingue 8 composants dans une plateforme IoT moderne :




 * 1) Connectivité et normalisation : apporte différents protocoles et différents fromats de données en un seul  “software” interface assurant ainsi la transmission correcte des données et l’interaction avec tous les devices.
 * 2) Gestion du matériel : assure que les objets « connectés » marchent correctement en gérant la mise à jour des logiciels et applications tournant sur le device ou sur les passerelles.
 * 3) Base de données : stockage scalable des données du matériel et prise en compte des exigences pour des base de données basées sur le cloud hybrides (volume de données, diversité, véracité).
 * 4) Gestion des actions et processus : exploitation des données avec des règles, événements et actions permettant ainsi l’exécution d’ actions “smart” actions selon les données des capteurs.
 * 5) Analytics: analyse des données allant du clustering de données au machine learning et analyse prédictive pour sélectionner les valeurs les plus pertinentes du flux de données.
 * 6) Visualisation : permettre à l’homme de voir des patterns et observer des tendances et facilement interpréter les données grâce à des diagrammes et modèles.
 * 7) Outils additionnels : facilite le prototypage et le test pour les développeurs IoT, fournit aussi des IoT use cases pour créer des applications adaptés à la plateforme.
 * 8) Interfaces externes: integration avec des systèmes tiers et d’autres plateformes IoT via des API, SDK et passerelles.

titile
= Démonstration avec IBM Watson-Bluemix =

La démonstration consiste à