SlideShare a Scribd company logo
1 of 120
Download to read offline
INTERNET DES OBJETS (M2M) - BIG DATA - ANALYSES
CHAKER ALLAOUI
SIMULATION ET DEMONSTRATION
GPS Thèrmomètre Philips HUE MQTT
Localisation Température Commandes
Node-Red
Topic - Broker Humidité Données Subscriber
PLATEFORME IoT
Publisher
Fonctionnalités Monitoring
Table de matières
PARTIE II : Simulation
PARTIE III : Démonstration
ARCHITECTURE IoT
PARTIE I : Présentation
Automobile
Trafic
Commandes
AnalysesBig DataM2M
Exemples
PARTIE I : PRESENTATION
5
Internet des objets (IoT) est une architecture à base
d'Internet globale et émergente de l'information facilitant
l'échange de marchandises et des services. IoT a le but de
fournir une infrastructure informatique facilitant l'échange
entre les "objets" d ’une façon sécurisée et fiable, c'est-à-
dire sa fonction doit surmonter l'écart entre des objets dans
le monde physique et leur représentation dans des
systèmes d'information. IoT servira pour augmenter la
transparence et améliorera l'efficacité de réseaux de
chaîne d'approvisionnement au niveau mondial.
Dans l'ingénierie de systèmes, un moniteur de système (SM)
est un processus dans un système distribué pour rassembler
et stocker des données d'état. Ceci est un principe
fondamental supportant la gestion de performance des
applications. L'argument que le système contrôlant est juste
d'avoir une exigence principale pour l'empressement
opérationnel, dissipe rapidement quand une application
critique tombe sans avertissement, traduisant aussi des
données de configuration pour le moniteur...
Plateforme IoT
6
Fonctionnalités
Internet des objets est le réseau d'objets physiques ou "des objets" incorporées avec l'électronique qui
définit la connectivité pour permettre aux objets d'échanger des données avec le fabricant,
l'opérateur et d'autres dispositifs connectés basés sur l'infrastructure de l‘initiative de Normes Globale
d'Union internationale des télécommunications. Internet des objets permet aux objets d'être senti et
contrôlé à distance à travers l'infrastructure de réseau existante, créant des occasions pour
l'intégration plus directe entre les systèmes mondiaux et assistés par ordinateur physiques et
aboutissant à l'efficacité améliorée, l'exactitude et l'avantage économique. Chaque objet est
uniquement identifiable par son système incorporé, mais peut interagir dans l'infrastructure d‘internet
existante.
Les experts évaluent que l'IoT consistera en presque 50 milliards d'objets avant 2020. Le terme "Internet
de objets" a été inventé par l'entrepreneur britannique Kevin Ashton en 1999. Typiquement on
s'attend que « IoT » offre la connectivité promue de dispositifs, des systèmes et les services qui vont au-
delà des communications de machine-à-machine (M2M) et couvrent une variété de protocoles, des
domaines et des applications. On s'attend à l'interconnexion de ces dispositifs incorporés, et conduit
dans l'automatisation dans presque tous les domaines, en aussi permettant des applications
avancées et s'étendant aux zones comme la ville intelligente.
Les objets, dans l'IoT, peuvent se référer à une large variété de dispositifs comme le dans le secteur de
la santé, des transpondeurs de puce à ADN sur des animaux de ferme, des mollusques électriques
dans des eaux côtières, des automobiles avec des capteurs incorporés, ou les dispositifs d'opération
de terrain via des capteurs intelligents… https://en.wikipedia.org/wiki/Internet_of_Things
7
Historique
8
Monitoring (1)
Protocole : Il y a beaucoup d'outils pour rassembler des données de système d'hôtes et des dispositifs
utilisant le SNMP. La plupart des ordinateurs et des dispositifs en réseau auront une certaine forme
d'accès de SNMP. L'interprétation des données SNMP d'un hôte ou d'un dispositif exige l'un ou l'autre
un outil spécialisé ou une base de l'information de Gestion (MIB), une cartographie de références de
données aux éléments de données de divers hôte ou dispositif. L'avantage de SNMP est le contrôle,
ses exigences de bande passante basses et l'utilisation universelle dans les industries. À moins qu'une
application elle-même ne fournisse un MIB et une production via SNMP. D'autres protocoles sont
appropriés pour contrôler des applications, comme CORBA, JMX, ou TCP/IP.
Data access: se réfère à l'interface par laquelle les données de moniteur peuvent être utilisées par
d'autres processus. Par exemple, si le moniteur de système est un serveur CORBA, les clients peuvent
connecter et s'adresse au moniteur pour l'état actuel d'un élément, ou des états historiques pour un
élément pendant un laps temps. Le moniteur de système peut écrire aux données directement dans
une base de données, permettant à d'autres processus d'avoir accès à la base de données à
l'extérieur du contexte du moniteur de système. Ceci est dangereux cependant, comme le design de
table pour la base de données dictera le potentiel pour le partage de données. Idéalement le
moniteur de système est un emballage pour n'importe quel mécanisme de persistance est utilisé,
fournissant une interface d'accès cohérente et sûre pour d'autres pour avoir accès aux données.
Mode : le mode de collecte de données du moniteur de système est critique. Les modes sont les
suivants : monitor poll, agent push, et hybrid mode.
https://en.wikipedia.org/wiki/System_monitoring
9
Monitoring (2)
Monitor poll: Dans ce mode, un ou plusieurs processus dans le système de contrôle sondent en réalité
les éléments de système dans un certain fil. Pendant la boucle, les dispositifs sont sondés via SNMP, les
hôtes peuvent invoqué via Telnet/SSH pour exécuter des scénarios ou des fichiers de décharge ou
exécuter d'autre OS spécifique, les applications peuvent être sondées pour des données d'état, ou
leurs fichiers de sortie d'état peuvent être déposés.
L'avantage de ce mode consiste en ce qu'il y a peu d'impact sur l'hôte/dispositif étant sondé. L'UC de
l'hôte est chargée seulement pendant le sondage. Le reste du temps la fonction contrôlante ne joue
aucune partie dans le chargement d'UC. L'inconvénient principal de ce mode est que le processus
de contrôle peut seulement faire tant dans son temps. Si le vote prend trop longtemps, la période de
sondage destinée est allongée.
Agent push: Dans le mode de poussée d'agent, l'hôte contrôlé pousse simplement des données de lui
au système contrôlant l'application. Ceci peut être fait périodiquement, ou sur demande du moniteur
de système d'une manière asynchrone. L'avantage de ce mode consiste en ce que la charge du
système de contrôle peut être réduite à simplement l'acceptation et le stockage de données.
L'inconvénient de ce mode est que l'on ne centralise pas la logique pour le cycle votant au moniteur
de système, mais distribué à chaque nœud éloigné. Change ainsi à la logique contrôlante doit être
poussé dehors à chaque nœud.
Hybrid mode: le mode médian entre 'monitor-poll' et 'agent-push est une approche hybride, où la
configuration de système détermine où le contrôle arrive, dans le moniteur de système ou l'agent.
10
Node-Red
Internet des objets exige souvent des dispositifs de matériel s'entendant, des API et
des services en ligne de façons nouvelles et intéressantes. Le temps passé écrivant
le boilerplate code pour parler à ces systèmes différents, comme l'accès à un port
série ou compléter un flux d'OAUTH contre Twitter, n'est pas le temps passé en
création de la valeur réelle de la solution. Nous avons besoin des outils qui le
rendent plus facile pour des développeurs à tous les niveaux rassembler les
courants différents d'événements, tant physique que numérique.
Node-Red fournit UI à base de navigateur pour créer les flux d'événements et les
déployer à son temps d'exécution léger. Construit dans nodeJS, il peut être
exécuté localement ou dans le cloud. Le manager de paquet de nodeJS (npm)
peut être utilisé pour facilement étendre la palette de modules disponibles,
permettant des connexions à de nouveaux dispositifs et des services.
Node-Red en sa forme la plus simple est un éditeur visuel open source pour
raccorder internet des objets produit par IBM. Le système contient "les nœuds" qui
sont simplement des icônes sur lesquelles vous glissez-déposez dans le navigateur
dans un plan de travail dédié. Chaque nœud offre une fonctionnalité différente
qui peut s'étendre d'un simple debug du nœud pour pouvoir voir ce qui se passe
dans votre flux, par à un nœud de RaspberryPi qui vous permet de faire des
Input/Output sur un GPIO connecté à votre Pi.
http://nodered.org
11
Exemple 1: Collecte automatique des données du Mail
12
Exemple 2: Collecte automatique des données du Twitter
13
Exemple 2: Node-Red Flow du « Mail » et du « Twitter »
14
Exemple 3: Debug du MQTT broker dans Node-Red
15
Exemple 3: Node-Red Flow du MQTT broker
16
Exemple 3: MQTT broker et statistiques dans HiveMQ
Node-Red fournit un éditeur de flux à base de
navigateur qui facilite le raccordement entre un
ensemble des flux utilisant les nœuds d’une vaste
gamme dans la palette. Les flux peuvent être alors
déployés au temps d'exécution. Les fonctions
Javascript peuvent être créées dans l'éditeur. Une
bibliothèque incorporée vous permet d'économiser
des fonctions utiles, des modèles ou des flux pour la
réutilisation. Le temps d'exécution léger et construit
sur nodeJS, prenant l'avantage complet de son axé
sur les événements non-bloquant. Ceci est idéal pour
fonctionner sur des RaspberryPi ou dans le cloud.
Avec plus de 120,000 modules dans le dépôt de
paquet de nodeJS, il est facile d'étendre la gamme
de nœuds de palette pour ajouter de nouvelles
capacités. Les flux créés dans Node-Red sont stockés
dans du JSON qui peut être facilement importé et
exporté pour partager avec d'autres personnes. Une
bibliothèque de flux en ligne vous permet de
partager vos flux avec tout le monde.
PARTIE II : EMULATION
18
Simulation Philips Hue
Philips hue combine la lampe LED brillante avec la technologie intuitive.
Ensemble, les ampoules, le pont et l'application changeront la façon dont vous
utilisez la lumière. L'expérience avec les nuances du blanc, du bleu/blanc à
jaune/blanc ou avec toutes les couleurs dans le spectre.
La nuance peut vous réveiller. Revivez vos souvenirs préférés. Améliorez votre
humeur. Il vous permet d’être informé du temps.
Les ampoules LED sans fil donnent vie à la nuance. Ils livrent clair et rendent
croustillants la lumière. Ils n'ont pas juste l'air bien. Ils sont pratiques aussi. Ils
s'atténuent. Ils étincellent. Ils font à peu près quoi que ce soit que vous voulez. Et ils
vissent tout droit dans vos installations légères actuelles. Naturellement.
Les ampoules de nuance sont disponibles dans E26, E27, GU10, PAR16 et des
formats de BR30.
Le cœur du système de hue, le pont intervient littéralement entre votre
application et les ampoules. Lié avec le WiFi via votre routeur, il peut connecter
jusqu'à 50 ampoules à la fois. Sans parler d'autres accessoires de nuance, comme
robinet de nuance.
Le pont connecte aussi votre système au monde plus large. Avec cela vous
pouvez contrôler vos lumières à distance ou les lier jusqu'au reste du web, ou
même votre propre boîte de réception. C'est vraiment plutôt intelligent et chic.
http://www2.meethue.com/en-us
19
Simulation Philips Hue - Fonctionnalités
Utilisez l'application pour changer des couleurs, la luminosité, des fonctions et tout le reste au milieu.
Contrôlez vos ampoules un par un ou tous ensemble. Trouvez l'intensité juste et la nuance de blanc
pour la tâche à proximité. La pioche qui perfectionne le ton pour correspondre au moment. Ou la
sélection d’une couleur d'une photo et la recrée dans votre chambre. Vous ne devez pas être à la
maison pour contrôler vos lumières. Le portail de hue est un panneau de configuration en ligne qui
vous joint à la nuance, de n'importe où dans le monde.
Faites-le sembler que quelqu'un abrite quand vous vous détendez sur la plage. Ou éteignez juste vos
lumières si vous serez à la maison plus tard que. Le portail économise aussi vos scènes personnalisées.
Et cela garde même votre logiciel de pont à jour. L'éclairage est de plus que la juste illumination de
l'obscurité. Il ne prend pas d'expert pour remarquer mal la lumière. Et la lumière juste peut transformer
des espaces entiers. Changez même ce que vous ressentez. Avec la nuance, vous obtenez le
contrôle complet de la lumière dans votre vie. Mettez l'humeur. Changez l'ambiance. Sensation
différente. C'est ce que la nuance peut faire. Avec la lumière blanche tonale et une totalité de
couleur, tout au robinet d'une application, vous pouvez mettre le ton parfait. Choisissez une photo de
l'application ou dans votre propre bibliothèque pour utiliser comme palette.
Si maintenant vous pouvez revivre le coucher du soleil glorieux. Ou amenez le calme de l'océan tout
droit dans votre salle de séjour. Comme votre création. Sauvez-le alors comme 'une scène' pour
l’utiliser de nouveau.
Les scènes peuvent être quoi que ce soit de la couleur d'une ampoule simple, à une maison entière
baignée de lumière. Et tout ça conformément à vos choix.
20
Simulation Philips Hue - Simulateur
21
Philips Hue – Réponse à la méthode GET
22
Philips Hue – réglage des couleurs avec la méthode PUT
23
Philips Hue – Réponse de la méthode PUT
24
Philips Hue – Changement des couleurs
25
Simulation de capteur de température et d’humidité
Un nouveau service a juste été lancé qui relève le défi clé d'apporter le monde de
capteurs et des contrôleurs avec celui de données de masse et analytique.
IBM IoT Foundation fournit l'accès simple, mais puissant et évolutif d'application
aux dispositifs et leurs données. Vous pouvez rapidement construire des
applications, des tableaux de bord de visualisation, des applications mobile et les
applications qui peuvent alimenter votre application de données IoT.
IBM IoT Fondation est un service entièrement géré, accueilli dans le cloud qui fait
simple de tirer la valeur d'IoT. Il commence par le dispositif, être cela un capteur,
une passerelle ou quelque chose d'autre. L’utilisation de gestionnaire de
connexion pour faire connecter et commencer à envoyer des données jusqu'au
cloud en utilisant le protocole MQTT, qui est un léger protocole de messagerie ou
via d’une configuration gérée par les dispositifs utilisant votre tableau de bord en
ligne ou les API sécurisées, pour que vos applications puissent avoir accès aux
données vivantes et historiques vite.
Vous êtes maintenant prêts à commencer à créer des applications en utilisant vos
données de dispositif. Vous pourriez ceci faire dans IBM Bluemix, un autre cloud ou
vos propres serveurs. Si vous n'êtes pas convaincus que ces objets envoient des
données via ce service, donc exécutent les deux sur des machines séparées ou
des dispositifs mobiles pour vérifier l’état de changement des données.
http://www-03.ibm.com/software/products/en/internet-of-things-foundation
26
Simulation de capteur de température et d’humidité - Fonctionnalités
Connect: Enregistre et connecte une large variété de dispositifs au service.
Standard de l'industrie MQTT, MQ Telemetry (MQTT) protocole.
Permet de contrôlez à distance la connectivité de dispositifs et objets.
Ce service compris les conseils, tableaux de visualisation de développement populaires et dispositifs
dans le cloud.
* Étendez-vous à de nouveaux dispositifs avec le code de dispositif open source de l'Éclipse Paho.
* Rassemblez et gérez une vue de série de temps de données.
* Voir ce qui se passe sur vos dispositifs avec presque temps réel, avec la visualisation de données.
* Stockez vos événements de dispositif IoT dans une base de données pour l'analyse.
* Construisez des tableaux de bord et obtenez l'accès aux données historiques par des API.
* Contrôle et données sécurisées actuellement prises au piège sur dispositifs instrumentés.
Assemble: assemblez visuellement des événements de l'IoT dans des flux de logique.
* Utilisation Node-Red dans Bluemix pour assemblée de flux par un simple glisser-déplacer facile.
* Analysez des données et l'acte sur des aperçus en temps quasi réel, les appliquant où ils comptent
le plus.
* Optimisez des résultats d'affaires avec près de la prise de décisions en temps réel.
Manage : Payer ce que vous utilisez avec des options d'achat disponibles par la Bluemix-payment par
le marché de cloud IBM, actionné par IBM prouvé MessageSight et IBM Informix, accueilli sur IBM
SoftLayer ou comme un abonnement mentionnel.
27
Simulation de capteur de température et d’humidité – Device IBM : MAC Addresse
28
Simulation de capteur de température et d’humidité – Validation de suivi d’un objet
29
Simulation de capteur de température et d’humidité – Représentation Node-Red en ligne
30
Simulation de capteur de température et d’humidité – Collecte des données par un debug
31
Simulation de capteur de température et d’humidité – Espace virtuel IBM-Bluemix
32
Simulation de capteur de température et d’humidité – Interface des commandes
33
Simulation de capteur de température et d’humidité – Logs pour traitement HDFS
34
Simulation MQTT
MQTT est un protocole publish-subscribe basé " light weight" c’est un protocole de
messagerie utilisant le protocole TCP/IP. Il est conçu pour des connexions avec
des emplacements éloignés où "small code footprint" est exigée et la bande
passante de réseau est limitée. Le Publish-Subscribe modèle exige un « broker ».
Le broker est responsable de distribuer des messages aux clients intéressés basés
sur le sujet d'un message.
Andy Stanford-Clark et Arlen Nipper of Cirrus Link Solutions ont conçu la première
version du protocole en 1999.
La spécification ne spécifie pas la signification "small code foot print" ou la
signification "de la bande passante de réseau limitée". Ainsi, la disponibilité du
protocole à l'utilisation dépend du contexte.
En 2013 IBM a soumis MQTT v3.1 à l'organisme de spécification d'OASIS avec une
charte qui a assuré seulement au mineur change à la spécification pourrait être
accepté.
MQTT-SN est une variation du protocole principal a visé des dispositifs incorporés
sur des réseaux non-TCP/IP, comme ZigBee.
Historiquement, le 'MQ' dans 'MQTT' est venu du message MQ d'IBM mettant en file
d'attente le produit ligne. Cependant, faisant la queue n'est pas en soi exigé pour
être supporté comme une caractéristique standard dans toutes les situations.
https://en.wikipedia.org/wiki/MQTT
35
Simulation MQTT – Définitions
Comme mentionné MQTT signifie « MQ Telemetry Transport ». C'est un protocole extrêmement simple
et léger de messagerie, conçu pour des dispositifs contraints avec une bande passante basse, la
latence haute ou des réseaux incertains. Les principes de conception doivent minimiser la bande
passante de réseau et des exigences de ressource de dispositif en aussi essayant d'assurer la fiabilité
et un certain degré d'assurance de livraison. Ces principes s'avèrent aussi faire l'idéal de protocole
"machine-à-machine" où la bande passante et la puissance de la batterie sont précieux.
Des protocoles alternatifs incluent le « Advanced Message Queuing Protocol, IETF Constrained
Application Protocol et XMPP ».
Il y a plusieurs brokers de MQTT disponibles comme « IBM Message Sight ». Ils varient dans leur
ensemble de caractéristique et certains d'entre eux mettent en œuvre des caractéristiques
supplémentaires en plus du standard MQTT.
Dans le monde réel, il y a un certain nombre de projets travaillant avec MQTT, tels que:
« Facebook Messager », Facebook a utilisé les aspects de MQTT dans les messages Facebook.
Cependant, il est peu clair quelle part de MQTT est utilisé ou pour quelle aspect exactement, de plus il
doit être noté que ceci est une application pour mobile et pas une application des capteurs.
« IECC Scalable Delta Rail » la dernière version de IECC pour la signalisation du système de
commande utilisant MQTT pour des communications dans les parties diverses du système et d'autres
composants du système de signalisation. Il fournit le Framework sous-jacent pour un système qui est
conforme avec les normes et standards CENELEC pour des communications « safety-critical » pour
des communications en mode sécurisé entre les objets et leurs systèmes.
36
Simulation MQTT– Exemple Java Publisher
37
Simulation MQTT– Exemple Java Subscriber
38
Simulation MQTT– Statistiques des brokers avec MQTT-SPY
39
Simulation MQTT – Messages broker
40
Simulation MQTT– Statistiques des messages avec HiveMQ
41
Simulation GPS
La création du logiciel pour Internet des objets semble devenir plus facile chaque
jour, comme des nouveaux outils de développement font le travail de langages
de programmation populaire avec des dispositifs connectés de plus en plus. Un
des derniers compléments est Cylon.JS, un Framework Javascript open source
conçu pour contrôler des robots, des capteurs incorporés et des objets IoT. Le
Javascript est déjà énormément familier aux développeurs web et d'autres
programmeurs parce qu'il fonctionne dans tous les navigateurs et est utilisé pour
rendre des sites web interactifs. Cylon.JS est construit sur le nodeJS, utilisé pour
beaucoup d'applications Web qui fournissent le point commun pour des
applications IoT, comme la capacité de « envoyer, recevoir, traiter »
simultanément beaucoup de messages à partir beaucoup de sources. Nommé
pour les cyborgs de science-fiction de Battlestar Galactica, Cylon.JS supporte une
large variété de drones, des jouets robotisés, wearables, des objets domestiques
intelligents, IoT prototyping et des modules incorporés de calcul et l'analytique à
base du cloud et des plates-formes de messagerie. Il permet aux programmeurs
de créer des interactions puissantes entre des utilisateurs, des objets et des
services avec juste quelques lignes de code. Par exemple, vous pouvez installer un
smartwatch pour agir comme un contrôleur pour "des robots" comme un
thermostat ou une Phillips hue, des capteurs physiques, Arduino, Tessel ou
RaspberryPI... http://postscapes.com/javascript-for-robots-a-iot-cylonjs
42
Simulation GPS – Framework Cylon.JS
Par exemple, le plug-in cylon-api-http offre une interface RESTful HTTP interface, avec les événements
envoyés de serveur qui peuvent être utilisés pour souscrire aux événements d’un dispositif.
Un autre plug-in d'API cylon-api-socketio supporte une interface pour des clients basés sur le module
« socket.io ». Toute l'interface de plug-ins d'API est lié directement avec le MCP pour aller chercher
des robots et des informations sur eux. Ils sont aussi capables d'exécuter des commandes sur des
Robots et des objets.
Un robot Cylon est une collection des objets et des connexions, avec les adaptateurs nécessaires
pour leur permettre de coordonner ensemble. Un Utilisateur instanciera un ou plusieurs robots par le
MCP et les commencera tous simultanément ou individuellement. Les robots peuvent aussi avoir des
commandes personnalisées pour coordonner des objets ou connexions multiples.
Les objets et les connexions sont une couche d'abstraction sur des conducteurs et des adaptateurs,
respectivement et qui constituent une couche indirect entre des conducteurs, les adaptateurs et le
Robot lui-même et assurent que les interfaces peuvent rester cohérentes.
Les conducteurs et les adaptateurs sont pièces angulaire de Cylon et lui permettent de communiquer
avec des objets et des services et assure l’envoie-réception les événements. Ceux-ci sont mis en
œuvre dans le cadre des sous-modules de Cylon comme: cylon-sphero...
Les adaptateurs sont la connexion responsable d'aux plates-formes, peu importe le moyen. Par
exemple, la classe d‘adaptateur cylon-sphero communique sur Bluetooth, tandis que l‘adaptateur
cylon-leapmotion parle à un serveur de WebSocket. Ainsi les classes d‘adaptateur assurent que les
conducteurs peuvent directement communiquer avec la plate-forme connectée.
43
Simulation GPS – Application nodeJS de tests
44
Simulation GPS - Node Red Flow
45
Simulation GPS – Debug en Node-Red des données du Topic
46
Simulation GPS – Processus : nodeJS App, Node-Red, Topic, HiveMQ, Telnet
47
Simulation GPS – Représentation des résultats dans une Map
48
Simulation Trafic automobile
IBM IoT Foundation
Le kit de démarrage de connexion des voitures par IBM Bluemix vous permet de
facilement modeler le trafic en temps réel dans une ville. Le kit existe avec un
simulateur de véhicule écrit en nodeJS, une application web de visualisation
HTML5 et un client de contrôle pour que tous communiquent par le biais d’ IBM IoT
Foundation avec une messagerie en temps réel.
L’application fournit met en relief comment ce kit permet de connecté des
véhicules. Les véhicules simulées sont enregistrées avec IBM Bluemix et IBM IoT
Foundation et des API sont produites pour chaque application dans le kit.
Les keys d’API fournit par l’application tiennent compte de la messagerie entre
des objets, et des services.
Le kit de démarrage peut être installé, configuré, et déployé dans Bluemix via les
étapes suivantes :
* Installation et configuration d’un compte IBM IoT Foundation
* Enregistrement des véhicules simulées et production des API Keys.
* Création d’une application placeholder et des services IoT/Geospatial dans
Bluemix.
* Le téléchargement et la configuration de kit de démarrage pour correspondre à
l’application dans IBM Bluemix et l'environnement IoT.
http://m2m.demos.ibm.com/trafficsimulator.html
49
Simulation Trafic automobile – Configuration du fichier : manifest « YAML »
50
Simulation Trafic automobile – Configuration du fichier: settings « YAML »
51
Simulation Trafic automobile – Application nodeJS
52
Simulation Trafic automobile – Interface de commandes de Cloud-foundry CLI
Internet des objets connecte déjà des milliards de
dispositifs, avec des prévisions prévoyant des taux de
croissance raides dans les années à venir. Beaucoup
de ces objets, comme des smartphones et des
véhicules connectés, sont mobiles. La conscience de
l'emplacement d'en mouvement des dispositifs ouvre
de nouvelles occasions passionnantes d'application.
Le support pour ces nouvelles applications exige les
services fortement évolutifs qui peuvent analyser les
grands volumes de données en temps réel. Avec
l‘analyse géo-spatiale d’IBM Bluemix, vous pouvez
contrôler des objets IoT déplaçant. Le service suit à la
trace des emplacements des objets en temps réel en
ce qui concerne un ou des régions plus
géographiques. L'analyse géo-spatiale peut être
utilisée comme une composante dans les applications
qui supportent plusieurs cas d'utilisation. Par exemple,
un commerce de détail pourrait vouloir contrôler pour
des clients potentiels et leur envoyer des promotions,
détecter des automobilistes connectés, etc…
53
Simulation Trafic automobile – Interface IoT d’IBM
54
Simulation Trafic automobile – Messages Payload
55
Simulation Trafic automobile – Intégration dans Node-Red
56
Simulation Trafic automobile – Debug des données transférées dans Node-Red
57
Simulation Trafic automobile – Statistiques des processus
PARTIE III : DEMONSTRATION
IOT BIG DATA
ANALYTICS
DEVICES PROTOCOLE HARDWARE
ARCHITECTURE « IOT (M2M) - BIG DATA – ANALYSES »
M2M
IoT (M2M) – Big Data – Analyses : Architecture
La contribution initiale d’Eclipse SmartHome est un grand sous-ensemble
du code actuel d'openHAB. En particulier, code source pour toutes les
interfaces et les services du Framework. Le code source de deux ou trois
extensions ( exemple: persistance). La documentation de l'architecture
et des d'extension d’openHab sont assurés par le groupe du projet
d’Eclipse SmartHome.
Pour permettre à d'autres d'utiliser le code d'openHAB dans leurs propres
solutions et produits l’équipe d’openHab a décider de publier le code
source via une licence apache. Les aspects légaux de beaucoup de
projets open source sont souvent assez flous, même s'ils ont une licence
libre. Mais pour des entreprises utilisant un tel projet dans leurs propres
produits, il y a toujours le risque que le copyright du code n'est pas clair
et que le code pourrait être contaminé par des brevets. Pour réduire de
tels risques, il est très avantageux d'avoir une gestion de propriété
intellectuelle rigide et des processus de contribution clairs, ceci est une
des choses fournit par la licence Eclipse. L’équipe d’openHhab a
décidé de contribuer le cadre principal d'openHAB à Eclipse, qui est
devenue la nouvelle Eclipse SmartHome project.
60
Software IoT: Eclipse SmartHome – openHAB – openHAB Designer
http://kaikreuzer.blogspot.com/2014/06/openhab-20-and-eclipse-smarthome.html
61
Eclipse SmartHome - Historique
Eclipse SmartHome project est un projet open source proposé sous la licence Eclipse.
Depuis l'apparition des connexions d‘internet haut débit, des smartphones et des tablettes, le marché
domestique intelligent montre une recrudescence remarquable. Ceci a mené à un marché très
fragmenté, qui le rend difficile pour des clients "bet on the right horse". En fait, il n'y a pas un système,
le protocole ou un standard qui pourrait probablement accomplir toutes les exigences potentielles. Il
y a par conséquent un besoin des plates-formes qui permettent l'intégration de systèmes différents,
des protocoles et des normes, et cela fournit une façon uniforme d'interaction d'utilisateur et des
services de niveau plus hauts.
Les buts d’Eclipse SmartHome peuvent être récapitulés comme suit:
Fourniture d’un Framework flexible pour la maison intelligente et la vie aidée ambiante. Ce
Framework se concentre sur les cas d'utilisation de ce domaine, par exemple sur l'automatisation
facile et des aspects de visualisation.
Spécification des points d'extension pour des possibilités d'intégration et des services de niveau plus
haut.
L'extension et personnalisant ainsi la solution doit être aussi simple que possible et ceci exige des
interfaces concises et consacrées.
Fourniture des mises en œuvre d'extensions pour des systèmes pertinents, des protocoles ou des
normes. Beaucoup d'entre eux peuvent être utiles pour beaucoup de solutions domestiques
intelligentes, donc ce projet fournira un ensemble des extensions qui peuvent être incluses si désiré. Ils
peuvent aussi être en forme d'une bibliothèque Java générale ou un paquet d'OSGI…
62
openHAB Framework - Fonctionnalités
openHAB créez un emballage et fait la démonstration des configurations, bien que les mécanisme
automatisé du foyer soit présent dans le Framework. openHab permet de construire des solutions
domestiques intelligentes qui ont un accent fort d'environnements hétérogènes, c'est-à-dire les
solutions qui traitent l'intégration de protocoles différents ou des standards.
Son but est de fournir un accès uniforme aux dispositifs et des informations et faciliter les sortes
différentes d'interactions avec eux. Ce Framework consiste d'un ensemble en paquets d'OSGI qui
peuvent être déployés sur un module OSGI et qui définit des services OSGI comme des points
d'extension. La pile doit être utilisable sur n'importe quelle sorte de système qui peut exécuter sur un
serveur multi-principal, une passerelle résidentielle ou RaspberryPi.
Des caractéristiques initiales planifiées et les points d'extension de ce Framework incluent :
Type System: un système de type de base mais extensible pour des données domestiques et les
commandes qui fournissent un point commun pour des données préoccupées et un accès de
dispositif.
Data Registry: garde la trace de cas de point de données et leurs valeurs.
Event Mechanism: passe des données et des opérations d'une manière asynchrone d'une façon
couplée entre des composants. L'Infrastructure pour échanger des données et des commandes avec
des systèmes externes et des dispositifs, par exemple par le vote d'habitué ou des fils de fond.
Des mises en œuvre obligatoires utiles comme le HTTP, NTP ou TCP feront partie du projet. Une mise en
œuvre d'un moteur de rôle flexible qui permet de changer des rôles pendant le temps d'exécution,
ou le déclenchement sur des événements ou sur une base temporelle.
63
openHAB Framework – Architecture (1)
Le projet d'openHAB est divisé dans deux parties :
* openhab-runtime: ceci est le paquet, que vous exécuterez en réalité sur votre serveur et qui fait le
vrai travail.
* openhab-designer: ceci est un outil de configuration et de design, fournit avec un éditeur pour
configurer le temps d'exécution, définir l’interface utilisateur et mettre en œuvre les rôles.
openHAB runtime est un ensemble de paquets d'OSGI déployés sur un Framework OSGI (Equinoxe).
C'est donc une solution Java pure et a besoin d'un JVM pour fonctionner. Étant basé sur OSGI, il
fournit une architecture fortement modulaire, qui permet même d'ajouter et enlever la fonctionnalité
pendant le temps d'exécution sans arrêter le service. Voici une vue d'ensemble des paquets
principaux et comment ils dépendent l'un de l'autre :
- Communication:
OpenHAB a deux chaînes de communication interne différentes, un événement asynchrone
transporte en autobus un dépôt « stateful », qui peut être requêté.
- Le bus d‘événement
Le bus d'événement est le service de base d'openHAB, tous les paquets qui n'exigent pas le
comportement « stateful », il devraient l'utiliser pour informer d'autres paquets d'événements et être
mis à jour par d'autres paquets sur des événements externes.
Il y a principalement deux types d'événements :
Les commandes que déclenchent une action ou un changement d'état d'un certain article ou
dispositif.
64
openHAB Framework – Architecture (2)
Les mises à jour de statut qui informent d'un changement d’un statut d'un certain article ou objet est
souvent comme une réponse à une commande.
Toutes les attaches de protocole devraient communiquer via le bus-event. Ceci s'assure qu'il y a un
accouplement très bas entre les paquets, qui facilite la nature dynamique d'openHAB.
Comme une base technique, l'OSGI EventAdmin est utilisé par openHAB. Ceci est une mise en œuvre
sous de pub légère, qui remplit parfaitement les exigences.
Il est important de noter qu'openHAB ne doit pas résider sur les objets ou des matériel réels et qui
devraient être alors à distance pour communiquer avec beaucoup d'autres instance d’openHAB
distribués. Au lieu de cela, openHAB sert d'un centre d'intégration entre de tels dispositifs et comme
un médiateur entre les protocoles différents que l'on parle entre ces dispositifs. Dans une installation
typique il y aura donc d'habitude juste un cas d'openHAB exécutant sur un certain serveur central.
Néanmoins, comme l'OSGI EventAdmin, le service peut aussi être utilisé comme un service à distance,
il est possible de connecter plusieurs instance distribuée d’openHAB via le bus-event.
Pas toutes les fonctionnalités peuvent être couvertes purement par des services ou extensions. Donc
openHAB offre aussi un système de « Item Repository », qui est connecté au bus-event et garde la
trace du statut actuel de tous les articles. « Item Repository » peut être utilisé quand nécessaire pour
avoir accès à l'état actuel d'articles. Par exemple une interface utilisateur doit afficher l'état actuel
d'articles dans le moment de l'accès d'utilisateur. Aussi le moteur d'exécution de logique
d'automatisation doit toujours être informé des états actuels. « Item Repository » exige que chaque
paquet soit mis en cache pour assurer une réutilisation interne en cas de besoin.
65
openHAB Framework – Architecture (3)
Il s'assure aussi que l'état est en parfaite harmonie pour tous ces paquets et il fournit la possibilité de
persister des états dans un système de fichiers ou une base de données, pour qu'ils soient même
gardés partout pendant une reprise de système.
OpenHAB vient avec une configuration textuelle générique pour ses interfaces utilisateur :
Le Plan de site est une arborescence des gadgets, qui définissent les pages différentes d'un UI et leur
contenu. Les gadgets peuvent être associés aux objets, pour lesquels ils devraient montrer les
éléments de contrôle et le statut.
La définition du plan de site est faite selon le design, il est censé être un modèle d'UI approprié pour
les sortes différentes d'interfaces utilisateur, pour que l'utilisateur ne doit pas configurer chacun d'entre
eux dans le cas où il installe des UIs multiples. Si un UI a de nouvelles exigences en plus du plan de site,
il est toujours possible de présenter les options de configuration supplémentaires qui sont alors
spécifiques pour l'UI en question.
L'article des fournisseurs d'UI offrent une façon dynamique de configurer l'UI, pour que tout ne doit
être stocké statiquement dans le plan de site. Un article que le fournisseur d'UI peut par exemple
définir, quel gadget devrait être utilisé pour un objet, si aucun est spécifié et peut dynamiquement
définir des icônes et des étiquettes et qui pourrait dépendre de l'état actuel de l'article.
Un cas d'utilisation important pour cette caractéristique est l'affichage dynamique de groupes
d'article et de tout ce qui est là stocké dans le plan de site est les informations qu'un certain groupe
devrait être montré; la page est alors dynamiquement assemblée au temps d'exécution avec
n'importe quels articles sont disponible à ce moment-là.
66
openHAB Framework – Commandes (1)
67
openHAB Framework – Commandes (2)
68
openHAB Framework – Commandes (3)
69
openHAB Framework – Commandes (4)
70
openHAB Framework – Webservices (1)
71
openHAB Framework – Webservices (2)
72
openHAB Framework – Webservices (3)
73
openHAB Framework – Webservices (4)
OpenHAB est conçu pour fournir un webservice où les composants peuvent être connectés et
conduits via une interface utilisateur, en permettant à un mécanisme général de contrôler tous les
composants. Bien que beaucoup de ces dispositifs puissent avoir leurs propres applications mobile,
contrôlant chacun d'entre. En utilisant OpenHAB comme le centre principal, les dispositifs peuvent
tous être contrôlés avec une seule application mobile ou le site Web et les scénarios peuvent être
installés et configurés pour conduire des composants individuels.
74
openHAB Designer - IDE
75
openHAB Designer – Geent Template UI
openHAB Designer permet de configurer openHAB Runtime. Il fournit avec un éditeur pour des fichiers
ou dossiers, permet la configuration du plan de site. Son avantage sur des éditeurs de texte simples
est le support d'IDE complet, comme la vérification de syntaxe, auto-completion, support et
documentation…
Plutôt que réinventer la roue, Sitewhere dépend de beaucoup de
technologies libre. La plupart des technologies utilisées ont été testées
pendant des années dans des environnements de production et ont été
continuellement mises à jour grâce à beaucoup d'itérations et
d'améliorations.
Les composants open source suivants sont utilisés par Sitewhere :
Apache Tomcat: Le serveur principal dans Sitewhere.
Sitewhere est déployé comme des archives Web (.war) qui fonctionne
quand le serveur démarre.
Spring Framework: livre le cadre de configuration principal de Sitewhere
et cela lui permet d'être configurable et étendu. Plutôt qu'utiliser un
ensemble durement codé de composants, Sitewhere a un ensemble
principal d'interfaces de prestataire de services et les mises en œuvre
par défaut des interfaces. En utilisant les mêmes interfaces dans des
classes personnalisées et les branchant via spring, les tiers peuvent
étendre Sitewhere sans toucher le code principal.
MongoDB : MongoDB est une base de données NoSQL qui est utilisée
pour stocker des données Sitewhere. C'est très rapide et facile d'installer,
avec des grandes performances…
76
Software M2M - Sitewhere
http://docs.sitewhere.org/1.0.4/overview.html#what-is-sitewhere
77
Sitewhere - Software M2M (1)
Sitewhere est libre, c’est une plateforme d’intégration M2M. Il fournit les fonctionnalités suivantes :
- Un serveur basé sur les technologies prouvées qui agissent comme un contrôleur pour le traitement
de données de dispositif. Le serveur peut être installé sur une machine locale ou dans le cloud, et est
construit sur les technologies qui sont conçues pour traiter des milliards d'événements de dispositif par
jour.
- La persistance à long terme de données envoyées par des objets. Des données d'événement de
dispositif temps réel, Sitewhere offre une plate-forme où les données ne sont jamais supprimées, peu
importe le volume d'événements.
- Offre des interfaces de prestataire de services, qui fournit un modèle d'objet principal pour la plate-
forme et permet aux tiers d'étendre et personnaliser le système pour interfacer avec de nouvelles
technologies.
- Livre un système de ravitaillement de dispositif avancé, qui permet le contrôle du cycle de vie
complet de dispositifs se faisant inscrire, envoyant des commandes basées sur le type de matériel,
recevant des réponses de données et les agrégeant. Le système est basé sur un ensemble principal
des interfaces qui permettent des nouveaux protocoles.
- Un modèle pour les types standard de données produites par des dispositifs. Par exemple, les
données d'emplacement sont stockées tel qu'il peut être géo-spatialement indexé et eu accès selon
des questions comme ' quels événements de dispositif sont arrivés près de cet emplacement donné
dans la période de temps donnée '. Les données de mesure de dispositif sont stockées tel qu'il peut
être analysé, à facettes et graphique…
78
Sitewhere - Software M2M (2)
Sitewhere offre les informations via un cadre de gestion d'actifs qui permet aux systèmes externes de
conduire les informations. Par exemple, la liste des gens associée à une assignation peut venir d'un
magasin, LDAP existant. Sitewhere suit à la trace l'attribution de dispositifs au fil du temps et lie des
événements à la mission, si à une date ultérieure vous pouvez trouvez les emplacements d’un objet et
quand il a été assigné à une personne particulière.
Sitewhere s’intègre avec des Framework d'intégration tiers comme Mule ESB, permettant aux données
d'événement de déclencher des interactions complexes comme des données ajoutantes à
Salesforce ou notifiant des conditions alertes utilisant des SMS produits par Twilio.
Sitewhere est une application administrative HTML5 qui permet à toutes les données de système d'être
vue et manipulé dans une façon qui le rend facile à comprendre les données. L'application
d'administration utilise des webservices REST, fournis par la plate-forme principale pour interagir avec
les données. Les applications tierces peuvent utiliser les mêmes webservices REST pour interagir avec
des données Sitewhere sans avoir pour utiliser l'application d'administration.
Sitewhere offre un client Java qui peut interagir avec la majeure partie des webservices REST. Pour
des systèmes externes avec le code Java existant, l’interfaçage avec Sitewhere est aussi simple par
quelques lignes de code.
Il protège les informations en limitant l'accès aux données basées sur un système de gestion
d'utilisateur prouvé.
Le système peut être configuré pour utiliser les sources externes de données d'identité comme des
magasins ou LDAP.
79
Sitewhere - MongoDB DataBase
80
Sitewhere – WebServices (1)
81
Sitewhere – WebServices (2)
Les objets doivent communiquer les uns avec les l'autre (D2D). Les
données de dispositif doivent alors être rassemblées et envoyées à
l'infrastructure de serveur (D2S). Cette infrastructure de serveur doit
partager des données de dispositif (S2S), fournissant un soutient aux
dispositifs, aux programmes d'analyse, ou aux gens, parmis les protocoles
qui peuvent décrire ce système il y a : MQTT · XMPP · DDS · AMQP
Chacun de ces protocoles est largement adopté. Il y a au moins 10
mises en œuvre de chacun. La confusion est compréhensible, parce
que le positionnement de haut niveau est semblable. En fait, toute la
quatre réclamation d'être en temps réel publisher – subscriver. Les
protocoles IoT qui peuvent connecter des milliers de dispositifs. Et c'est
vrai, comment vous définissez "temps réel," "des objets," et "des
dispositifs." Néanmoins, ils sont très différents, en effet internet
d'aujourd'hui supporte des centaines de protocoles. L'IoT supportera des
centaines.
82
Protocoles & Positioning Systems
83
Protocle MQTT
MQTT (MQ Telemetry Transport) est un protocole basé sur un système "light weight“ qui utilize le mode
publish-subscribe pour échanger des messages et TCP/IP comme protocole de communication et
transport. Il est conçu pour établir des connexions avec des emplacements à distance où “small
code footprint” est exigée et la bande passante de réseau est limitée. Le Publish-Subscribe est un
modèle de messagerie exigeant un broker. Le broker est responsable de distribuer des messages aux
clients intéressés basés sur le sujet d'un message. Andy Stanford-Clark et Arlen Nipper of Cirrus Link
Solutions ont conçu la première version du protocole en 1999. La spécification ne spécifie pas la
signification "small code foot print“ ou la signification "de la bande passante de réseau limitée".
Ainsi, la disponibilité du protocole à l'utilisation dépend du contexte. En 2013 IBM a soumis MQTT v3.1
au corps de spécification d'OASIS. MQTT-SN est une variation du protocole principal a visé des
dispositifs incorporés sur des réseaux non TCP/IP, comme ZigBee.
Historiquement, le 'MQ' dans 'MQTT' est venue de chez “IBM's MQ message queuing product line”.
Cependant, la formation d'une queue en soi n'est pas exigée pour être soutenu comme une
caractéristique standard dans toutes les situations.
Des protocoles alternatifs incluent le « Advanced Message Queuing Protocol”, “IETF Constrained
Application Protocol” et “XMPP” sont nés ultérieurement.
MQTT Broker: Il y a plusieurs brokers de MQTT disponibles comme “IBM Message Sight”. Ils varient dans
leur ensemble de caractéristiques et certains d'entre eux mettent en œuvre des fonctions
supplémentaires en plus de la norme MQTT. Dans le monde réel, il y a un certain nombre de projets
basés sur le MQTT comme Facebook Messenger. https://en.wikipedia.org/wiki/MQTT
84
Protocle GSM
GSM (Global System for Mobile Communications), d’oringine conçu par Group Special Mobile, est un
standard développée par European Telecommunications Standards Institute (ETSI) pour décrire des
protocoles pour la deuxième génération (2G) des réseaux cellulaires numériques utilisés par des
téléphones portables, d'abord déployés en Finlande en juillet 1992. À partir de 2014 c'est devenu la le
standard mondiale par défaut pour des communications mobiles, avec une part de marché de plus
de 90 %, fonctionnant dans plus de 219 pays dans le monde.
La 2G est développé comme un remplaçant pour la première génération (1G) des réseaux cellulaires
analogues et le standard GSM ont à l'origine décrit un réseau numérique. Ceci étendu au fil du temps
pour inclure des transmissions de données, d'abord par le transport commuté de circuit, ensuite par
des données de paquet transporte via GPRS (General Packet Radio Services) et EDGE (Enhanced
Data rates for GSM Evolution or EGPRS).
Par la suite, le 3G++ a développé la troisième génération (3G) UMTS suivies par la quatrième
génération (4G) LTE, qui ne font pas partie de l'ETSI GSM.
"GSM" est une marque déposée appartenant à l'Association GSM. Il peut aussi renvoyer au codec de
voix, Full Rate. Basée sur:
GSM Layer 1: FDMA/TDMA est l'interface radio, aussi appelée Um l'interface.
GSM Layer 2 : est la couche de liaison de transmission, qui fait trois fonctions principales suivantes:
- Établir
- Maintenir
- Démolir le lien, le contrôle de flux et la détection d‘erreur. https://en.wikipedia.org/wiki/GSM
85
GPS - Global Positioning System
Le Système de navigation par satellites (GPS) est un système satellite à base d'espace de navigation
qui fournit l'emplacement et des informations de temps dans toutes les conditions météorologiques,
n'importe où sur la terre où il y a une ligne dégagée de vue à quatre ou plus satellites GPS. Le système
fournit plusieurs capacités critiques aux militaires, des utilisateurs civils et commerciaux dans le monde
entier. Le gouvernement des États-Unis a créé le système, il assure son entretient et le rend librement
accessible à quelqu'un avec un récepteur GPS.
Les EU ont commencé le projet GPS en 1973 pour surmonter les limitations de systèmes précédents de
navigation, intégrant des idées de plusieurs prédécesseurs, y compris un certain nombre d'études de
conceptions classifiées et confidentielles d'ingénierie des années 1960. Le Ministère de la Défense
américain (DoD) a développé le système, qui a à l'origine utilisé 24 satellites.
C'est devenu entièrement opérationnel en 1995.
Les avances dans la technologie et de nouvelles demandes sur le système existant ont maintenant
mené aux efforts de moderniser le système GPS et mettent en œuvre la génération suivante de Bloc
GPS III, et le Système de commande opérationnel de nouvelle génération (OCX).
En 2000, le Congrès américain a autorisé l'effort de modernisation, le GPS III.
En plus du GPS, d'autres systèmes sont dans l'utilisation ou dans le développement. Le Système
Satellite Global russe de navigation (GLONASS) a été développé à la même époque avec le GPS,
mais subi de la couverture incomplète du globe jusqu'au milieu des années 2000. Il y a aussi l‘union
européenne planifiée le système de positionnement de Galileo, le système satellite régional indien de
navigation de l'Inde et le chinois BeiDou… https://en.wikipedia.org/wiki/Global_Positioning_System
Raspberry PI – Mobile - SIM CARD –
GPS TRACKER – LG SMART TV –
GOOGLE MAPS – LED LIGHTING –
CARS TRACKER – OPENHAB
FRAMEWORK – OSGI MODULE –
SITEWHERE - THERMOMETER
86
Plateforme IoT
87
Application : matériels
88
YOUTUBE CHANNEL : INNOVAIOT
Application : Movie Demonstration
INNOVA_IOT
INNOVAIOT
INNOVAIOT
Big data analytics est le processus d'examiner des grands ensembles de
données contenant une variété de types de données. Les données de
masse, des corrélations inconnues, commercialisent des tendances, des
préférences clients et d'autres informations utiles d'affaires. Les
découvertes analytiques peuvent mener au marketing plus efficace,
des nouvelles occasions de revenu, le meilleur service client…
Pour analyser un si grand volume de données, big data analytics est
typiquement exécutée utilisant des outils logiciels spécialisés et des
applications pour l'analytique prophétique, l'extraction de données,
l'extraction de texte, la prédiction et l'optimisation de données.
Collectivement ces processus sont les fonctions séparées mais fortement
intégrées d'analytique très performante. L'utilisation de grands outils de
données et le logiciel permet à une organisation de traiter les grands
volumes de données pour déterminer quelles sont les données
pertinentes et peuvent être analysées…
89
Big Data et Analyse
90
Big Data Analytics – Cas d’utilisations
Big Data analytics est plus que l'analytique de comportementale des gens. C'est aussi de la
compréhension des interactions et de la dynamique entre des processus, des machines , des
équipements, des tendances même macro-économiques, qui peuvent rapporter du nouveau
apprentissage dans des risques opérationnels et des occasions. Quand combiné avec des
perspicacité riches du comportement du grand public et des consommateurs, les entreprises
gagnent une image plus nuancée, détaillée et précise d'où les marchés sont été à la tête. Et cela leur
donne un avantage énorme dans la direction aux investissements proactifs pour saisir les meilleures
occasions.
Le plus grand de ces occasions peut-être l'affrontement du marché ou focalisé sur le client, mais des
améliorations de chaîne d'approvisionnement ou d'autres améliorations opérationnelles d'abord
découvertes par l'analytique comportementale peut aussi mener aux gains de performance dignes
d'intérêt. L'analytique comportementale a des applications réelles au-delà du royaume de marketing
et l'intelligence client. Il y a les données de capteur qui peuvent suivre à la trace des modèles de
trafic, par exemple, menant "aux villes plus intelligentes. Il est possible de savoir si les chaînes de
chambre froide ont été cassées ou les médicaments ont été compromises pendant des expéditions.
Ainsi les suivis à la seconde de marchandises traversant des chaînes d'approvisionnement mondiales
sont en fin de compte une autre saveur d'analytique comportementale. Comme avec des données
de masse plus généralement, la question n'est pas si les entreprises ont les données ils doivent faire
l'analytique comportementale. Il est plus qu'ils doivent déterminer les stratégies optimales pour les
rassemblées, gérées et analysées. http://bigdata.teradata.com/US/Big-Ideas/Behavioral-Analytics
Jaspersoft Studio est un logiciel libre commercial concentré sur la veille
économique, y compris la visualisation de données, le rapport et l'analytique.
Jaspersoft fournit la publicité et le logiciel libre, le support, des services et
accordant une licence autour du JasperReports, JasperReports Server, Jaspersoft
Studio, iReport et Jaspersoft products ETL. Le produit principal de Jaspersoft est le
JasperReports Server, une application web Java qui fournit des capacités de
serveur de rapport avancées comme la planification de rapport, des permissions,
ad hoc, des tableaux de bord et la multi-location.
Il est offert dans une édition open source communautaire aussi bien que sous
plusieurs éditions commerciales avec un large support pour des bases de données
diverses et des sources de données, y compris NoSQL et d'autres grandes sources
de données: datasources.
Jaspersoft a été à l'origine appelé Panscopic et a été fondé par Al Campa, Al
Campa, CEO, et Raj Bhargava.
En 2004 Panscopic s'est associé avec Teodor Danciu, a acquis la propriété
intellectuelle de JasperReports et a changé le nom de l'entreprise à Jaspersoft.
Brian Gentile est devenu le PDG en 2007. Teodor Danciu a commencé le travail
sur JasperReports en juin 2001, le projet de sf.net a été enregistré en septembre
2001 et JasperReports 0.1.5 a été sorti le 3 novembre 2001. L'entreprise a sorti la
Version 1.0 JasperReports, le 21 juillet 2005.
91
JasperSoft – Analyse et Reporting
https://en.wikipedia.org/wiki/Jaspersoft
92
JasperSoft – MongoDB Analytics
93
JasperSoft – Data Sources
94
JasperSoft – MongoDB Query Langage
95
Elasticsearch
Elasticsearch est une application de recherche en texte intégral open source
fortement évolutive et un moteur d'analytique. Il vous permet de stocker,
rechercher et analyser des grands volumes de données rapidement et en temps
quasi réel. Il est généralement utilisé comme le sous-jacent de moteur et
technologie que les applications de pouvoirs qui ont des caractéristiques de
recherche complexes et des exigences.
Ainsi Elasticsearch vous permet:
- Dirigez une boutique en ligne où vous permettez à vos clients de chercher des
produits que vous vendez. Dans ce cas, vous pouvez utiliser Elasticsearch pour
stocker votre catalogue de produit entier et inventorier et fournir la recherche et
auto compléter des suggestions pour eux.
- Rassembler le journal des données de transaction et analyser ces données pour
chercher des tendances, la statistique, des résumés, ou des anomalies. Dans ce
cas, vous pouvez utiliser Logstash pour agréger et faire l'analyse syntaxique de vos
données et avoir ensuite Logstash alimentent ces données dans Elasticsearch. Une
fois que les données sont dans Elasticsearch, vous pouvez exécuter des
recherches et des accumulations de n'importe quelles informations qui vous sont
intéressantes. Ainsi Elasticsearch utilise sa recherche et inverse la capacité de
correspondre aux mouvements et des choix technologiques d’analyse syntaxique
ou d’analytique comportementale des clients. https://www.elastic.co
96
Elasticsearch - Fonctionnalités
Real-Time Data: combien de temps vous pouvez attendre des aperçus sur vos données rapides. Avec
Elasticsearch, toutes les données sont immédiatement rendues disponible pour la recherche et
l'analytique.
Real-Time Analytics: l‘union de la vitesse de recherche se joint à la puissance d'analytique change
votre relation avec vos données. En mode interactif la recherche, découvrez et analysez pour gagner
les aperçus qui améliorent vos produits ou rationalisent votre activité.
Distributed: Elasticsearch vous permet de commencer avec une petite architecture et augmenter les
capacités à l'échelle horizontalement. Ajoutez simplement plus de nœuds et laissez le groupe profiter
automatiquement du matériel supplémentaire.
High Availability: Elasticsearch est résistant, il détectera des nouveaux nœuds, réorganisera et
rééquilibra des données automatiquement, assura que vos données sont sûres et accessibles.
Multitenancy: le groupe peut contenir les indices multiples qui peuvent être questionnés
indépendamment ou comme un groupe. Les pseudonymes d'index permettent les vues filtrées d'un
index et peuvent être mis à jour d'une manière transparente à votre application.
Full-Text Search: Elasticsearch construit des capacités distribuées au-dessus d'Apache Lucene pour
fournir le texte intégral le plus puissant des capacités de recherche disponibles dans n'importe quel
produit open source. L'API est puissante, favorable aux développeurs, supporte la recherche
multilingue, la géolocalisation, des suggestions contextuelles, auto-completion…
Document-Oriented: Elasticsearch stock des entités complexes dans des structure JSON des
documents.
97
Elasticsearch – Exemple d’indexation
98
Elasticsearch – MongoDB River Indexation
99
Elasticsearch – MongoDB Replication
100
Elasticsearch – MongoDB Index Status
101
Elasticsearch – MongoDB Collection
102
Elasticsearch – recherche dans une collection MongoDB
103
Elasticsearch – Statistiques des index
104
Elasticsearch – Statistiques des clusters
105
Apache Hadoop
Apache Hadoop est un Framework open source écrit en Java pour le stockage et
traitement distribué de très grands ensembles de données sur des groupes
informatiques. Tous les modules dans Apache Hadoop sont conçus avec une
supposition fondamentale que les échecs de matériel (de machines individuelles,
ou les supports de machines) sont banals et devraient ainsi être automatiquement
traités dans le Framework. Le cœur d'Apache Hadoop consiste en partie de
stockage (Le Système de fichiers Distribué de Hadoop « HDFS ») et une partie de
traitement (MapReduce).
Apache Hadoop divise des fichiers et dossiers dans de grands blocs et les distribue
parmi des nœuds dans le groupe. Pour traiter les données, MapReduce permet le
transfert du code empaqueté pour des nœuds pour un traitement en parallèle,
basé sur les données chaque nœud. Cette approche profite de nœuds de
localité de données manipulant les données qu'ils doivent admettre que les
données à être traitées plus rapidement et plus efficacement que cela soient
dans une architecture super informatique plus conventionnelle qui compte sur un
système de fichiers parallèle où le calcul et des données sont connectés via la
gestion de réseau haut débit(à grande vitesse).
La base d'Apache Hadoop est composée des modules suivant: Hadoop
Commun, système de fichiers distribué qui stocke des données sur des machines
de marchandises, MapReduce… https://en.wikipedia.org/wiki/Apache_Hadoop
106
Apache Hadoop – User Interface
107
Apache Hadoop – Exemple HDFS
Le système de fichiers distribué d’Hadoop (HDFS) est un système de fichiers distribué conçu pour
fonctionner sur du matériel ordinaire. Il a beaucoup de ressemblances avec des systèmes de fichiers
distribués existants ou Raid de Unix. Cependant, les différences d'autres systèmes de fichiers distribués
sont significatives. HDFS est fortement insensible aux défaillances et est conçu pour être déployé sur
du matériel bon marché. HDFS fournit un haut accès de sortie aux données d'application et est
approprié pour les applications qui ont des grands ensembles de données. HDFS implémente
quelques exigences POSIX pour permettre l'accès en continu aux données de système de fichiers.
108
Apache Hadoop – Exemple « Log File » pour requêter
109
Apache Hadoop – exportation de « Log Files » dans un format HDFS
110
Apache Hadoop – Status de « Log Files » dans Hadoop
111
Apache Hadoop – Apache Hive: la combinaison
Apache Hive facilite la gestion de grands ensembles de données résidant dans le stockage distribué.
Ainsi Hive fournit un mécanisme pour projeter la structure sur ces données et questionner les données
utilisant une langue semblable au SQL appelée HiveQL. En même temps cette langue permet aussi
aux programmeurs de mapper leurs données selon une représentation structurées ou semi-structurées
Pour pouvoir les stocker dans des tables intermédiaires spécifiques au HiveQL.
112
Apache Hive – Hive Query Langage
DROP TABLE: supprimez la table de données, si elle existe déjà .
CREATE EXTERNAL TABLE: créez une nouvelle table externe dans Hive. Les tables externes stockent
seulement la définition de table. Les données restent dans leur emplacement d'origine et dans leur
taille d'origine.
ROW FORMAT: indiquez au Hive le mode de formatage des données.
STORED AS TEXTFILE LOCATION: indiquez l'emplacement des données (répertoire des données) et
spécifie qu'ils sont stockés sous la forme de texte. Les données peuvent être en file indienne ou des
reparties sur plusieurs fichiers ou dossiers dans le répertoire.
SELECT: choisissez et comptez toutes les lignes dont la colonne ‘t10’ contient la valeur 'host=chaker'
113
Apache Hive– Résultats des requêtes (1)
114
Apache Hive – Résultats des requêtes (2)
115
Apache Hive – Résultats des requêtes (3)
116
Apache Hadoop, Apache Hive et le Big Data
Apache Hive est un système de centralisation de données construisent au-dessus d’Apahce Hadoop
pour questionner des données de masse. Hive produite par Facebook en août 2008. Le défi que
Facebook a dû aborder est celui confronté par beaucoup d'entreprises depuis lors. Finalement la
croissance de données dans une entreprise défie les capacités de RDBMS déployé ou des systèmes
NoSQL. Les rapports et l'analytique commencent à prendre du valeur, alors des heures et se
chevaucher finalement avec d'autres questions et le système entier s'immobilise. D'autres entreprises
commencent à traiter des données de masse avec Hadoop découvre la valeur de faire les données
accessibles au-delà de l'équipe de développement capable d'écrire des spécifications des données
complexes.
Le terme des données de masse est librement utilisé dans ce contexte. Le point sous-jacent consiste
en ce que les données de masse sont un point de vue et peuvent être généralisées comme le point
où des solutions simples et déployées par la technologie échoue.
Des solutions de centralisation de données à grande échelle commerciales sont très chères. En outre,
certaines des données rassemblées aujourd'hui, par exemple mal structuré ou dé-normalisent
fortement des données, peuvent être peu pratiques pour se débrouiller avec ces systèmes.
L'écosystème Hadoop est régulièrement utilisé pour peser le traitement de données dans une façon
faisable. Hadoop devient en remplacement ou un complément de traitement par lots à
l'infrastructure existante pour l'analyse de données, l'extraction, le chargement, la transformation, le
rapport et l'apprentissage automatique.
Green Internet of Things
The term "Internet of Things" emanated to describe a number of technologies and
research disciplines that enable global connectivity over the world-wide physical
objects. Enabling technologies like RFID, sensor networks, biometrics, and
nanotechnologies are now becoming very common, bringing the Internet of Things
into real implementations addressing varying applications, including smart grid, e-
health, intelligent transportation, etc. They foreshadow an exciting future that closely
interconnects our physical world via green networks. Green networks in IoT will
contribute to reduce emissions and pollutions, exploit environmental conservation and
surveillance, and minimize operational costs and power consumption. The Green
Internet of Things (G-IoT) is predicted to introduce significant changes in our daily life
and would help realizing the vision of “green ambient intelligence”. Within a few years
we will be surrounded by a massive amount of sensors, devices and “things”, which
will be able to communicate via IP, act “intelligently”, and provide green support for
users in managing their tasks. These new smart objects will also be context-aware and
able to perform certain functions autonomously, calling for new forms of green
communication between people and things and between things themselves, where
power consumption is optimized and bandwidth utilization is maximized. This
development would not only be relevant to researchers, but also to corporations and
individuals alike. It is hence the aim of our workshop to focus on both design and
implementation aspects in green networks, or networks that can be utilized in
providing green systems through IoT enabling technologies. At the same time, our
workshop call is open for topics relevant to IoT in general.
http://research.cs.queensu.ca/G-IoT12
Mots clés
IoT – M2M Big Data Analyses
Internet ofThings, Machine 2
Machine, MQTT, Broker, Message
Elasticsearch,Apache Hadoop,
Apache Hive, MongoDB
JasperSoft Studio, MongoDB,
Apache Cassandra, MySQL, JSON
Node-Red, nodeJS,Webservices,
Maps, google maps, GPSTracker,
cars trafic, thermostat connecté,
adresse MAC, Device registration
Elasticsearch index, MongoDB river,
Marvel sense, Elasticsearch HQ
Kibana analytic, Logs analytics
HiveMQ,ApacheTomcat, MQTT
Spy, Cylon.JS, Cloud-foundry Cli
commands, openHAB, openHAB
Designer, GreentTemplate,
Sitewhere
MapReduce,Apache Hive, Hive
Query Langage, MongoDB river,
HDFS, MongoDB Query Langage,
Replication, Collection, elasticsearch
index, cluster
Hadoop UI, Monitoring, Protocol,
Data access, Monitor poll, Hybrid
mode
Node-Red Flow,API Keys,APIToken,
Collect Data, Data source,Twitter,
Mail,Webservices, Maps, google
maps, GPSTracker, cars trafic,
thermostat connecté, adresse MAC,
Device registration, MQTT Publisher,
MQTT Subscriber
Mqtt Broker, Publisher, Subscriber,
GET Request, PUT Request, JSON,
YAML
HiveMQ,ApacheTomcat, MQTT
Spy, Cylon.JS, Cloud-foundry Cli
commands, openHAB, openHAB
Designer, GreentTemplate,
Sitewhere
Liens utiles
 Apache Haddop : https://hadoop.apache.org
 IBM Bluemix : https://console.ng.bluemix.net
 Elasticsearch : https://www.elastic.co
 openHab : http://www.openhab.org
 Sitewhere : http://www.sitewhere.org
 Jaspersoft : http://www.jaspersoft.com
 Node-red : http://nodered.org
 MongoDB : https://www.mongodb.org
 Apache Tomcat : http://tomcat.apache.org
 Apache Hive : https://hive.apache.org
 nodeJS : https://nodejs.org
Visitez mon profil LinkedIn
Visitez mon site web
http://tn.linkedin.com/in/chakerallaoui
http://allaoui-chaker.github.io
Contact
Idea Create Refine

More Related Content

What's hot

Cours éthique et droit liés aux données numériques
Cours éthique et droit liés aux données numériquesCours éthique et droit liés aux données numériques
Cours éthique et droit liés aux données numériquesmarysesalles
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionMohammed Amine Mostefai
 
Rapport de Stage -Finale.pdf
Rapport de Stage -Finale.pdfRapport de Stage -Finale.pdf
Rapport de Stage -Finale.pdfWaelTOUMI2
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesFabrice HAUHOUOT
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels Oussama Werfelli
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesMajdi SAIBI
 
L’intelligence artificielle aujourd’hui (FR)
L’intelligence artificielle aujourd’hui (FR)L’intelligence artificielle aujourd’hui (FR)
L’intelligence artificielle aujourd’hui (FR)thierry tranchina
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREGhizlane ALOZADE
 
Conception et mise en place d'un site web dynamique de gestion de passation ...
Conception et mise en place d'un site web  dynamique de gestion de passation ...Conception et mise en place d'un site web  dynamique de gestion de passation ...
Conception et mise en place d'un site web dynamique de gestion de passation ...Symphorien Niyonzima
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices sarah Benmerzouk
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique MehdiOuqas
 
Rapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomRapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomSiwar GUEMRI
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Ghali Rahma
 
Rapport stage onee-be_2
Rapport stage onee-be_2Rapport stage onee-be_2
Rapport stage onee-be_2Mounir Kaali
 
Intelligence artificielle, Industrie 4.0 et Sciences humaines et sociales
Intelligence artificielle, Industrie 4.0 et Sciences humaines et socialesIntelligence artificielle, Industrie 4.0 et Sciences humaines et sociales
Intelligence artificielle, Industrie 4.0 et Sciences humaines et socialesMokhtar Ben Henda
 

What's hot (20)

Cours éthique et droit liés aux données numériques
Cours éthique et droit liés aux données numériquesCours éthique et droit liés aux données numériques
Cours éthique et droit liés aux données numériques
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - Introduction
 
Rapport de Stage -Finale.pdf
Rapport de Stage -Finale.pdfRapport de Stage -Finale.pdf
Rapport de Stage -Finale.pdf
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'études
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'études
 
L’intelligence artificielle aujourd’hui (FR)
L’intelligence artificielle aujourd’hui (FR)L’intelligence artificielle aujourd’hui (FR)
L’intelligence artificielle aujourd’hui (FR)
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Conception et mise en place d'un site web dynamique de gestion de passation ...
Conception et mise en place d'un site web  dynamique de gestion de passation ...Conception et mise en place d'un site web  dynamique de gestion de passation ...
Conception et mise en place d'un site web dynamique de gestion de passation ...
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Internet des Objets
Internet des ObjetsInternet des Objets
Internet des Objets
 
Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices
 
CV de Fatma CHIHAOUI
CV de Fatma CHIHAOUICV de Fatma CHIHAOUI
CV de Fatma CHIHAOUI
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 
Rapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomRapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécom
 
Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015Pfe master fst_final_decembre2015
Pfe master fst_final_decembre2015
 
Rapport stage onee-be_2
Rapport stage onee-be_2Rapport stage onee-be_2
Rapport stage onee-be_2
 
Intelligence artificielle, Industrie 4.0 et Sciences humaines et sociales
Intelligence artificielle, Industrie 4.0 et Sciences humaines et socialesIntelligence artificielle, Industrie 4.0 et Sciences humaines et sociales
Intelligence artificielle, Industrie 4.0 et Sciences humaines et sociales
 

Viewers also liked

Qualité et accessibilité Web : vers l’amélioration continue - Elie Sloïm - Pa...
Qualité et accessibilité Web : vers l’amélioration continue - Elie Sloïm - Pa...Qualité et accessibilité Web : vers l’amélioration continue - Elie Sloïm - Pa...
Qualité et accessibilité Web : vers l’amélioration continue - Elie Sloïm - Pa...Association Paris-Web
 
Internet des objets et santé aux Mardis de l'Innovation
Internet des objets et santé aux Mardis de l'InnovationInternet des objets et santé aux Mardis de l'Innovation
Internet des objets et santé aux Mardis de l'InnovationPierre Metivier
 
Conférence Internet des objets IoT M2M - CCI Bordeaux - 02 04 2015 - Introduc...
Conférence Internet des objets IoT M2M - CCI Bordeaux - 02 04 2015 - Introduc...Conférence Internet des objets IoT M2M - CCI Bordeaux - 02 04 2015 - Introduc...
Conférence Internet des objets IoT M2M - CCI Bordeaux - 02 04 2015 - Introduc...polenumerique33
 
Les objets parlent aux objets sur Internet
Les objets parlent aux objets sur InternetLes objets parlent aux objets sur Internet
Les objets parlent aux objets sur InternetOrange Business Services
 
Internet des objets
Internet des objetsInternet des objets
Internet des objetsFree Lance
 
Internet des objets (IoT)
Internet des objets (IoT)Internet des objets (IoT)
Internet des objets (IoT)bruno-dambrun
 
Industrie 4.0: l'usine du futur
Industrie 4.0: l'usine du futurIndustrie 4.0: l'usine du futur
Industrie 4.0: l'usine du futurMarc ENGEL
 

Viewers also liked (7)

Qualité et accessibilité Web : vers l’amélioration continue - Elie Sloïm - Pa...
Qualité et accessibilité Web : vers l’amélioration continue - Elie Sloïm - Pa...Qualité et accessibilité Web : vers l’amélioration continue - Elie Sloïm - Pa...
Qualité et accessibilité Web : vers l’amélioration continue - Elie Sloïm - Pa...
 
Internet des objets et santé aux Mardis de l'Innovation
Internet des objets et santé aux Mardis de l'InnovationInternet des objets et santé aux Mardis de l'Innovation
Internet des objets et santé aux Mardis de l'Innovation
 
Conférence Internet des objets IoT M2M - CCI Bordeaux - 02 04 2015 - Introduc...
Conférence Internet des objets IoT M2M - CCI Bordeaux - 02 04 2015 - Introduc...Conférence Internet des objets IoT M2M - CCI Bordeaux - 02 04 2015 - Introduc...
Conférence Internet des objets IoT M2M - CCI Bordeaux - 02 04 2015 - Introduc...
 
Les objets parlent aux objets sur Internet
Les objets parlent aux objets sur InternetLes objets parlent aux objets sur Internet
Les objets parlent aux objets sur Internet
 
Internet des objets
Internet des objetsInternet des objets
Internet des objets
 
Internet des objets (IoT)
Internet des objets (IoT)Internet des objets (IoT)
Internet des objets (IoT)
 
Industrie 4.0: l'usine du futur
Industrie 4.0: l'usine du futurIndustrie 4.0: l'usine du futur
Industrie 4.0: l'usine du futur
 

Similar to IoT (M2M) - Big Data - Analyses : Simulation et Démonstration

TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeGhassen Chaieb
 
CoAP master presentaion
CoAP master presentaionCoAP master presentaion
CoAP master presentaionTarik Sefiri
 
Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...ECAM Brussels Engineering School
 
composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT omri med
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
Informatique Mobile et synchronisation
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisationSébastien Letélié
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil Ghassen Chaieb
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017SinGuy
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chatTbatou sanae
 
Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement AndroidSteve Tremblay
 
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanIoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanCorneliu Gaina
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTFactoVia
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Smile I.T is open
 
Cwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCapgemini
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!Alexandre Touret
 

Similar to IoT (M2M) - Big Data - Analyses : Simulation et Démonstration (20)

IOT-1.pdf
IOT-1.pdfIOT-1.pdf
IOT-1.pdf
 
TelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhiculeTelCar : Solution de lecture des informations de bord de véhicule
TelCar : Solution de lecture des informations de bord de véhicule
 
CoAP master presentaion
CoAP master presentaionCoAP master presentaion
CoAP master presentaion
 
Iot & cloud
Iot & cloudIot & cloud
Iot & cloud
 
8-socket.pdf
8-socket.pdf8-socket.pdf
8-socket.pdf
 
Architectures bigdata
Architectures bigdataArchitectures bigdata
Architectures bigdata
 
Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...
 
composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT composing continuos services in CoAP-based IOT
composing continuos services in CoAP-based IOT
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Informatique Mobile et synchronisation
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisation
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
Introduction au développement Android
Introduction au développement AndroidIntroduction au développement Android
Introduction au développement Android
 
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWanIoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
IoT (l'Internet des Objets) et le protocole de telecommunication LoRaWan
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
 
Cwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCwin16 - Paris - blockchain
Cwin16 - Paris - blockchain
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 

IoT (M2M) - Big Data - Analyses : Simulation et Démonstration

  • 1. INTERNET DES OBJETS (M2M) - BIG DATA - ANALYSES CHAKER ALLAOUI SIMULATION ET DEMONSTRATION
  • 2. GPS Thèrmomètre Philips HUE MQTT Localisation Température Commandes Node-Red Topic - Broker Humidité Données Subscriber PLATEFORME IoT Publisher Fonctionnalités Monitoring Table de matières PARTIE II : Simulation PARTIE III : Démonstration ARCHITECTURE IoT PARTIE I : Présentation Automobile Trafic Commandes AnalysesBig DataM2M Exemples
  • 3.
  • 4. PARTIE I : PRESENTATION
  • 5. 5 Internet des objets (IoT) est une architecture à base d'Internet globale et émergente de l'information facilitant l'échange de marchandises et des services. IoT a le but de fournir une infrastructure informatique facilitant l'échange entre les "objets" d ’une façon sécurisée et fiable, c'est-à- dire sa fonction doit surmonter l'écart entre des objets dans le monde physique et leur représentation dans des systèmes d'information. IoT servira pour augmenter la transparence et améliorera l'efficacité de réseaux de chaîne d'approvisionnement au niveau mondial. Dans l'ingénierie de systèmes, un moniteur de système (SM) est un processus dans un système distribué pour rassembler et stocker des données d'état. Ceci est un principe fondamental supportant la gestion de performance des applications. L'argument que le système contrôlant est juste d'avoir une exigence principale pour l'empressement opérationnel, dissipe rapidement quand une application critique tombe sans avertissement, traduisant aussi des données de configuration pour le moniteur... Plateforme IoT
  • 6. 6 Fonctionnalités Internet des objets est le réseau d'objets physiques ou "des objets" incorporées avec l'électronique qui définit la connectivité pour permettre aux objets d'échanger des données avec le fabricant, l'opérateur et d'autres dispositifs connectés basés sur l'infrastructure de l‘initiative de Normes Globale d'Union internationale des télécommunications. Internet des objets permet aux objets d'être senti et contrôlé à distance à travers l'infrastructure de réseau existante, créant des occasions pour l'intégration plus directe entre les systèmes mondiaux et assistés par ordinateur physiques et aboutissant à l'efficacité améliorée, l'exactitude et l'avantage économique. Chaque objet est uniquement identifiable par son système incorporé, mais peut interagir dans l'infrastructure d‘internet existante. Les experts évaluent que l'IoT consistera en presque 50 milliards d'objets avant 2020. Le terme "Internet de objets" a été inventé par l'entrepreneur britannique Kevin Ashton en 1999. Typiquement on s'attend que « IoT » offre la connectivité promue de dispositifs, des systèmes et les services qui vont au- delà des communications de machine-à-machine (M2M) et couvrent une variété de protocoles, des domaines et des applications. On s'attend à l'interconnexion de ces dispositifs incorporés, et conduit dans l'automatisation dans presque tous les domaines, en aussi permettant des applications avancées et s'étendant aux zones comme la ville intelligente. Les objets, dans l'IoT, peuvent se référer à une large variété de dispositifs comme le dans le secteur de la santé, des transpondeurs de puce à ADN sur des animaux de ferme, des mollusques électriques dans des eaux côtières, des automobiles avec des capteurs incorporés, ou les dispositifs d'opération de terrain via des capteurs intelligents… https://en.wikipedia.org/wiki/Internet_of_Things
  • 8. 8 Monitoring (1) Protocole : Il y a beaucoup d'outils pour rassembler des données de système d'hôtes et des dispositifs utilisant le SNMP. La plupart des ordinateurs et des dispositifs en réseau auront une certaine forme d'accès de SNMP. L'interprétation des données SNMP d'un hôte ou d'un dispositif exige l'un ou l'autre un outil spécialisé ou une base de l'information de Gestion (MIB), une cartographie de références de données aux éléments de données de divers hôte ou dispositif. L'avantage de SNMP est le contrôle, ses exigences de bande passante basses et l'utilisation universelle dans les industries. À moins qu'une application elle-même ne fournisse un MIB et une production via SNMP. D'autres protocoles sont appropriés pour contrôler des applications, comme CORBA, JMX, ou TCP/IP. Data access: se réfère à l'interface par laquelle les données de moniteur peuvent être utilisées par d'autres processus. Par exemple, si le moniteur de système est un serveur CORBA, les clients peuvent connecter et s'adresse au moniteur pour l'état actuel d'un élément, ou des états historiques pour un élément pendant un laps temps. Le moniteur de système peut écrire aux données directement dans une base de données, permettant à d'autres processus d'avoir accès à la base de données à l'extérieur du contexte du moniteur de système. Ceci est dangereux cependant, comme le design de table pour la base de données dictera le potentiel pour le partage de données. Idéalement le moniteur de système est un emballage pour n'importe quel mécanisme de persistance est utilisé, fournissant une interface d'accès cohérente et sûre pour d'autres pour avoir accès aux données. Mode : le mode de collecte de données du moniteur de système est critique. Les modes sont les suivants : monitor poll, agent push, et hybrid mode. https://en.wikipedia.org/wiki/System_monitoring
  • 9. 9 Monitoring (2) Monitor poll: Dans ce mode, un ou plusieurs processus dans le système de contrôle sondent en réalité les éléments de système dans un certain fil. Pendant la boucle, les dispositifs sont sondés via SNMP, les hôtes peuvent invoqué via Telnet/SSH pour exécuter des scénarios ou des fichiers de décharge ou exécuter d'autre OS spécifique, les applications peuvent être sondées pour des données d'état, ou leurs fichiers de sortie d'état peuvent être déposés. L'avantage de ce mode consiste en ce qu'il y a peu d'impact sur l'hôte/dispositif étant sondé. L'UC de l'hôte est chargée seulement pendant le sondage. Le reste du temps la fonction contrôlante ne joue aucune partie dans le chargement d'UC. L'inconvénient principal de ce mode est que le processus de contrôle peut seulement faire tant dans son temps. Si le vote prend trop longtemps, la période de sondage destinée est allongée. Agent push: Dans le mode de poussée d'agent, l'hôte contrôlé pousse simplement des données de lui au système contrôlant l'application. Ceci peut être fait périodiquement, ou sur demande du moniteur de système d'une manière asynchrone. L'avantage de ce mode consiste en ce que la charge du système de contrôle peut être réduite à simplement l'acceptation et le stockage de données. L'inconvénient de ce mode est que l'on ne centralise pas la logique pour le cycle votant au moniteur de système, mais distribué à chaque nœud éloigné. Change ainsi à la logique contrôlante doit être poussé dehors à chaque nœud. Hybrid mode: le mode médian entre 'monitor-poll' et 'agent-push est une approche hybride, où la configuration de système détermine où le contrôle arrive, dans le moniteur de système ou l'agent.
  • 10. 10 Node-Red Internet des objets exige souvent des dispositifs de matériel s'entendant, des API et des services en ligne de façons nouvelles et intéressantes. Le temps passé écrivant le boilerplate code pour parler à ces systèmes différents, comme l'accès à un port série ou compléter un flux d'OAUTH contre Twitter, n'est pas le temps passé en création de la valeur réelle de la solution. Nous avons besoin des outils qui le rendent plus facile pour des développeurs à tous les niveaux rassembler les courants différents d'événements, tant physique que numérique. Node-Red fournit UI à base de navigateur pour créer les flux d'événements et les déployer à son temps d'exécution léger. Construit dans nodeJS, il peut être exécuté localement ou dans le cloud. Le manager de paquet de nodeJS (npm) peut être utilisé pour facilement étendre la palette de modules disponibles, permettant des connexions à de nouveaux dispositifs et des services. Node-Red en sa forme la plus simple est un éditeur visuel open source pour raccorder internet des objets produit par IBM. Le système contient "les nœuds" qui sont simplement des icônes sur lesquelles vous glissez-déposez dans le navigateur dans un plan de travail dédié. Chaque nœud offre une fonctionnalité différente qui peut s'étendre d'un simple debug du nœud pour pouvoir voir ce qui se passe dans votre flux, par à un nœud de RaspberryPi qui vous permet de faire des Input/Output sur un GPIO connecté à votre Pi. http://nodered.org
  • 11. 11 Exemple 1: Collecte automatique des données du Mail
  • 12. 12 Exemple 2: Collecte automatique des données du Twitter
  • 13. 13 Exemple 2: Node-Red Flow du « Mail » et du « Twitter »
  • 14. 14 Exemple 3: Debug du MQTT broker dans Node-Red
  • 15. 15 Exemple 3: Node-Red Flow du MQTT broker
  • 16. 16 Exemple 3: MQTT broker et statistiques dans HiveMQ Node-Red fournit un éditeur de flux à base de navigateur qui facilite le raccordement entre un ensemble des flux utilisant les nœuds d’une vaste gamme dans la palette. Les flux peuvent être alors déployés au temps d'exécution. Les fonctions Javascript peuvent être créées dans l'éditeur. Une bibliothèque incorporée vous permet d'économiser des fonctions utiles, des modèles ou des flux pour la réutilisation. Le temps d'exécution léger et construit sur nodeJS, prenant l'avantage complet de son axé sur les événements non-bloquant. Ceci est idéal pour fonctionner sur des RaspberryPi ou dans le cloud. Avec plus de 120,000 modules dans le dépôt de paquet de nodeJS, il est facile d'étendre la gamme de nœuds de palette pour ajouter de nouvelles capacités. Les flux créés dans Node-Red sont stockés dans du JSON qui peut être facilement importé et exporté pour partager avec d'autres personnes. Une bibliothèque de flux en ligne vous permet de partager vos flux avec tout le monde.
  • 17. PARTIE II : EMULATION
  • 18. 18 Simulation Philips Hue Philips hue combine la lampe LED brillante avec la technologie intuitive. Ensemble, les ampoules, le pont et l'application changeront la façon dont vous utilisez la lumière. L'expérience avec les nuances du blanc, du bleu/blanc à jaune/blanc ou avec toutes les couleurs dans le spectre. La nuance peut vous réveiller. Revivez vos souvenirs préférés. Améliorez votre humeur. Il vous permet d’être informé du temps. Les ampoules LED sans fil donnent vie à la nuance. Ils livrent clair et rendent croustillants la lumière. Ils n'ont pas juste l'air bien. Ils sont pratiques aussi. Ils s'atténuent. Ils étincellent. Ils font à peu près quoi que ce soit que vous voulez. Et ils vissent tout droit dans vos installations légères actuelles. Naturellement. Les ampoules de nuance sont disponibles dans E26, E27, GU10, PAR16 et des formats de BR30. Le cœur du système de hue, le pont intervient littéralement entre votre application et les ampoules. Lié avec le WiFi via votre routeur, il peut connecter jusqu'à 50 ampoules à la fois. Sans parler d'autres accessoires de nuance, comme robinet de nuance. Le pont connecte aussi votre système au monde plus large. Avec cela vous pouvez contrôler vos lumières à distance ou les lier jusqu'au reste du web, ou même votre propre boîte de réception. C'est vraiment plutôt intelligent et chic. http://www2.meethue.com/en-us
  • 19. 19 Simulation Philips Hue - Fonctionnalités Utilisez l'application pour changer des couleurs, la luminosité, des fonctions et tout le reste au milieu. Contrôlez vos ampoules un par un ou tous ensemble. Trouvez l'intensité juste et la nuance de blanc pour la tâche à proximité. La pioche qui perfectionne le ton pour correspondre au moment. Ou la sélection d’une couleur d'une photo et la recrée dans votre chambre. Vous ne devez pas être à la maison pour contrôler vos lumières. Le portail de hue est un panneau de configuration en ligne qui vous joint à la nuance, de n'importe où dans le monde. Faites-le sembler que quelqu'un abrite quand vous vous détendez sur la plage. Ou éteignez juste vos lumières si vous serez à la maison plus tard que. Le portail économise aussi vos scènes personnalisées. Et cela garde même votre logiciel de pont à jour. L'éclairage est de plus que la juste illumination de l'obscurité. Il ne prend pas d'expert pour remarquer mal la lumière. Et la lumière juste peut transformer des espaces entiers. Changez même ce que vous ressentez. Avec la nuance, vous obtenez le contrôle complet de la lumière dans votre vie. Mettez l'humeur. Changez l'ambiance. Sensation différente. C'est ce que la nuance peut faire. Avec la lumière blanche tonale et une totalité de couleur, tout au robinet d'une application, vous pouvez mettre le ton parfait. Choisissez une photo de l'application ou dans votre propre bibliothèque pour utiliser comme palette. Si maintenant vous pouvez revivre le coucher du soleil glorieux. Ou amenez le calme de l'océan tout droit dans votre salle de séjour. Comme votre création. Sauvez-le alors comme 'une scène' pour l’utiliser de nouveau. Les scènes peuvent être quoi que ce soit de la couleur d'une ampoule simple, à une maison entière baignée de lumière. Et tout ça conformément à vos choix.
  • 21. 21 Philips Hue – Réponse à la méthode GET
  • 22. 22 Philips Hue – réglage des couleurs avec la méthode PUT
  • 23. 23 Philips Hue – Réponse de la méthode PUT
  • 24. 24 Philips Hue – Changement des couleurs
  • 25. 25 Simulation de capteur de température et d’humidité Un nouveau service a juste été lancé qui relève le défi clé d'apporter le monde de capteurs et des contrôleurs avec celui de données de masse et analytique. IBM IoT Foundation fournit l'accès simple, mais puissant et évolutif d'application aux dispositifs et leurs données. Vous pouvez rapidement construire des applications, des tableaux de bord de visualisation, des applications mobile et les applications qui peuvent alimenter votre application de données IoT. IBM IoT Fondation est un service entièrement géré, accueilli dans le cloud qui fait simple de tirer la valeur d'IoT. Il commence par le dispositif, être cela un capteur, une passerelle ou quelque chose d'autre. L’utilisation de gestionnaire de connexion pour faire connecter et commencer à envoyer des données jusqu'au cloud en utilisant le protocole MQTT, qui est un léger protocole de messagerie ou via d’une configuration gérée par les dispositifs utilisant votre tableau de bord en ligne ou les API sécurisées, pour que vos applications puissent avoir accès aux données vivantes et historiques vite. Vous êtes maintenant prêts à commencer à créer des applications en utilisant vos données de dispositif. Vous pourriez ceci faire dans IBM Bluemix, un autre cloud ou vos propres serveurs. Si vous n'êtes pas convaincus que ces objets envoient des données via ce service, donc exécutent les deux sur des machines séparées ou des dispositifs mobiles pour vérifier l’état de changement des données. http://www-03.ibm.com/software/products/en/internet-of-things-foundation
  • 26. 26 Simulation de capteur de température et d’humidité - Fonctionnalités Connect: Enregistre et connecte une large variété de dispositifs au service. Standard de l'industrie MQTT, MQ Telemetry (MQTT) protocole. Permet de contrôlez à distance la connectivité de dispositifs et objets. Ce service compris les conseils, tableaux de visualisation de développement populaires et dispositifs dans le cloud. * Étendez-vous à de nouveaux dispositifs avec le code de dispositif open source de l'Éclipse Paho. * Rassemblez et gérez une vue de série de temps de données. * Voir ce qui se passe sur vos dispositifs avec presque temps réel, avec la visualisation de données. * Stockez vos événements de dispositif IoT dans une base de données pour l'analyse. * Construisez des tableaux de bord et obtenez l'accès aux données historiques par des API. * Contrôle et données sécurisées actuellement prises au piège sur dispositifs instrumentés. Assemble: assemblez visuellement des événements de l'IoT dans des flux de logique. * Utilisation Node-Red dans Bluemix pour assemblée de flux par un simple glisser-déplacer facile. * Analysez des données et l'acte sur des aperçus en temps quasi réel, les appliquant où ils comptent le plus. * Optimisez des résultats d'affaires avec près de la prise de décisions en temps réel. Manage : Payer ce que vous utilisez avec des options d'achat disponibles par la Bluemix-payment par le marché de cloud IBM, actionné par IBM prouvé MessageSight et IBM Informix, accueilli sur IBM SoftLayer ou comme un abonnement mentionnel.
  • 27. 27 Simulation de capteur de température et d’humidité – Device IBM : MAC Addresse
  • 28. 28 Simulation de capteur de température et d’humidité – Validation de suivi d’un objet
  • 29. 29 Simulation de capteur de température et d’humidité – Représentation Node-Red en ligne
  • 30. 30 Simulation de capteur de température et d’humidité – Collecte des données par un debug
  • 31. 31 Simulation de capteur de température et d’humidité – Espace virtuel IBM-Bluemix
  • 32. 32 Simulation de capteur de température et d’humidité – Interface des commandes
  • 33. 33 Simulation de capteur de température et d’humidité – Logs pour traitement HDFS
  • 34. 34 Simulation MQTT MQTT est un protocole publish-subscribe basé " light weight" c’est un protocole de messagerie utilisant le protocole TCP/IP. Il est conçu pour des connexions avec des emplacements éloignés où "small code footprint" est exigée et la bande passante de réseau est limitée. Le Publish-Subscribe modèle exige un « broker ». Le broker est responsable de distribuer des messages aux clients intéressés basés sur le sujet d'un message. Andy Stanford-Clark et Arlen Nipper of Cirrus Link Solutions ont conçu la première version du protocole en 1999. La spécification ne spécifie pas la signification "small code foot print" ou la signification "de la bande passante de réseau limitée". Ainsi, la disponibilité du protocole à l'utilisation dépend du contexte. En 2013 IBM a soumis MQTT v3.1 à l'organisme de spécification d'OASIS avec une charte qui a assuré seulement au mineur change à la spécification pourrait être accepté. MQTT-SN est une variation du protocole principal a visé des dispositifs incorporés sur des réseaux non-TCP/IP, comme ZigBee. Historiquement, le 'MQ' dans 'MQTT' est venu du message MQ d'IBM mettant en file d'attente le produit ligne. Cependant, faisant la queue n'est pas en soi exigé pour être supporté comme une caractéristique standard dans toutes les situations. https://en.wikipedia.org/wiki/MQTT
  • 35. 35 Simulation MQTT – Définitions Comme mentionné MQTT signifie « MQ Telemetry Transport ». C'est un protocole extrêmement simple et léger de messagerie, conçu pour des dispositifs contraints avec une bande passante basse, la latence haute ou des réseaux incertains. Les principes de conception doivent minimiser la bande passante de réseau et des exigences de ressource de dispositif en aussi essayant d'assurer la fiabilité et un certain degré d'assurance de livraison. Ces principes s'avèrent aussi faire l'idéal de protocole "machine-à-machine" où la bande passante et la puissance de la batterie sont précieux. Des protocoles alternatifs incluent le « Advanced Message Queuing Protocol, IETF Constrained Application Protocol et XMPP ». Il y a plusieurs brokers de MQTT disponibles comme « IBM Message Sight ». Ils varient dans leur ensemble de caractéristique et certains d'entre eux mettent en œuvre des caractéristiques supplémentaires en plus du standard MQTT. Dans le monde réel, il y a un certain nombre de projets travaillant avec MQTT, tels que: « Facebook Messager », Facebook a utilisé les aspects de MQTT dans les messages Facebook. Cependant, il est peu clair quelle part de MQTT est utilisé ou pour quelle aspect exactement, de plus il doit être noté que ceci est une application pour mobile et pas une application des capteurs. « IECC Scalable Delta Rail » la dernière version de IECC pour la signalisation du système de commande utilisant MQTT pour des communications dans les parties diverses du système et d'autres composants du système de signalisation. Il fournit le Framework sous-jacent pour un système qui est conforme avec les normes et standards CENELEC pour des communications « safety-critical » pour des communications en mode sécurisé entre les objets et leurs systèmes.
  • 37. 37 Simulation MQTT– Exemple Java Subscriber
  • 38. 38 Simulation MQTT– Statistiques des brokers avec MQTT-SPY
  • 39. 39 Simulation MQTT – Messages broker
  • 40. 40 Simulation MQTT– Statistiques des messages avec HiveMQ
  • 41. 41 Simulation GPS La création du logiciel pour Internet des objets semble devenir plus facile chaque jour, comme des nouveaux outils de développement font le travail de langages de programmation populaire avec des dispositifs connectés de plus en plus. Un des derniers compléments est Cylon.JS, un Framework Javascript open source conçu pour contrôler des robots, des capteurs incorporés et des objets IoT. Le Javascript est déjà énormément familier aux développeurs web et d'autres programmeurs parce qu'il fonctionne dans tous les navigateurs et est utilisé pour rendre des sites web interactifs. Cylon.JS est construit sur le nodeJS, utilisé pour beaucoup d'applications Web qui fournissent le point commun pour des applications IoT, comme la capacité de « envoyer, recevoir, traiter » simultanément beaucoup de messages à partir beaucoup de sources. Nommé pour les cyborgs de science-fiction de Battlestar Galactica, Cylon.JS supporte une large variété de drones, des jouets robotisés, wearables, des objets domestiques intelligents, IoT prototyping et des modules incorporés de calcul et l'analytique à base du cloud et des plates-formes de messagerie. Il permet aux programmeurs de créer des interactions puissantes entre des utilisateurs, des objets et des services avec juste quelques lignes de code. Par exemple, vous pouvez installer un smartwatch pour agir comme un contrôleur pour "des robots" comme un thermostat ou une Phillips hue, des capteurs physiques, Arduino, Tessel ou RaspberryPI... http://postscapes.com/javascript-for-robots-a-iot-cylonjs
  • 42. 42 Simulation GPS – Framework Cylon.JS Par exemple, le plug-in cylon-api-http offre une interface RESTful HTTP interface, avec les événements envoyés de serveur qui peuvent être utilisés pour souscrire aux événements d’un dispositif. Un autre plug-in d'API cylon-api-socketio supporte une interface pour des clients basés sur le module « socket.io ». Toute l'interface de plug-ins d'API est lié directement avec le MCP pour aller chercher des robots et des informations sur eux. Ils sont aussi capables d'exécuter des commandes sur des Robots et des objets. Un robot Cylon est une collection des objets et des connexions, avec les adaptateurs nécessaires pour leur permettre de coordonner ensemble. Un Utilisateur instanciera un ou plusieurs robots par le MCP et les commencera tous simultanément ou individuellement. Les robots peuvent aussi avoir des commandes personnalisées pour coordonner des objets ou connexions multiples. Les objets et les connexions sont une couche d'abstraction sur des conducteurs et des adaptateurs, respectivement et qui constituent une couche indirect entre des conducteurs, les adaptateurs et le Robot lui-même et assurent que les interfaces peuvent rester cohérentes. Les conducteurs et les adaptateurs sont pièces angulaire de Cylon et lui permettent de communiquer avec des objets et des services et assure l’envoie-réception les événements. Ceux-ci sont mis en œuvre dans le cadre des sous-modules de Cylon comme: cylon-sphero... Les adaptateurs sont la connexion responsable d'aux plates-formes, peu importe le moyen. Par exemple, la classe d‘adaptateur cylon-sphero communique sur Bluetooth, tandis que l‘adaptateur cylon-leapmotion parle à un serveur de WebSocket. Ainsi les classes d‘adaptateur assurent que les conducteurs peuvent directement communiquer avec la plate-forme connectée.
  • 43. 43 Simulation GPS – Application nodeJS de tests
  • 44. 44 Simulation GPS - Node Red Flow
  • 45. 45 Simulation GPS – Debug en Node-Red des données du Topic
  • 46. 46 Simulation GPS – Processus : nodeJS App, Node-Red, Topic, HiveMQ, Telnet
  • 47. 47 Simulation GPS – Représentation des résultats dans une Map
  • 48. 48 Simulation Trafic automobile IBM IoT Foundation Le kit de démarrage de connexion des voitures par IBM Bluemix vous permet de facilement modeler le trafic en temps réel dans une ville. Le kit existe avec un simulateur de véhicule écrit en nodeJS, une application web de visualisation HTML5 et un client de contrôle pour que tous communiquent par le biais d’ IBM IoT Foundation avec une messagerie en temps réel. L’application fournit met en relief comment ce kit permet de connecté des véhicules. Les véhicules simulées sont enregistrées avec IBM Bluemix et IBM IoT Foundation et des API sont produites pour chaque application dans le kit. Les keys d’API fournit par l’application tiennent compte de la messagerie entre des objets, et des services. Le kit de démarrage peut être installé, configuré, et déployé dans Bluemix via les étapes suivantes : * Installation et configuration d’un compte IBM IoT Foundation * Enregistrement des véhicules simulées et production des API Keys. * Création d’une application placeholder et des services IoT/Geospatial dans Bluemix. * Le téléchargement et la configuration de kit de démarrage pour correspondre à l’application dans IBM Bluemix et l'environnement IoT. http://m2m.demos.ibm.com/trafficsimulator.html
  • 49. 49 Simulation Trafic automobile – Configuration du fichier : manifest « YAML »
  • 50. 50 Simulation Trafic automobile – Configuration du fichier: settings « YAML »
  • 51. 51 Simulation Trafic automobile – Application nodeJS
  • 52. 52 Simulation Trafic automobile – Interface de commandes de Cloud-foundry CLI Internet des objets connecte déjà des milliards de dispositifs, avec des prévisions prévoyant des taux de croissance raides dans les années à venir. Beaucoup de ces objets, comme des smartphones et des véhicules connectés, sont mobiles. La conscience de l'emplacement d'en mouvement des dispositifs ouvre de nouvelles occasions passionnantes d'application. Le support pour ces nouvelles applications exige les services fortement évolutifs qui peuvent analyser les grands volumes de données en temps réel. Avec l‘analyse géo-spatiale d’IBM Bluemix, vous pouvez contrôler des objets IoT déplaçant. Le service suit à la trace des emplacements des objets en temps réel en ce qui concerne un ou des régions plus géographiques. L'analyse géo-spatiale peut être utilisée comme une composante dans les applications qui supportent plusieurs cas d'utilisation. Par exemple, un commerce de détail pourrait vouloir contrôler pour des clients potentiels et leur envoyer des promotions, détecter des automobilistes connectés, etc…
  • 53. 53 Simulation Trafic automobile – Interface IoT d’IBM
  • 54. 54 Simulation Trafic automobile – Messages Payload
  • 55. 55 Simulation Trafic automobile – Intégration dans Node-Red
  • 56. 56 Simulation Trafic automobile – Debug des données transférées dans Node-Red
  • 57. 57 Simulation Trafic automobile – Statistiques des processus
  • 58. PARTIE III : DEMONSTRATION
  • 59. IOT BIG DATA ANALYTICS DEVICES PROTOCOLE HARDWARE ARCHITECTURE « IOT (M2M) - BIG DATA – ANALYSES » M2M IoT (M2M) – Big Data – Analyses : Architecture
  • 60. La contribution initiale d’Eclipse SmartHome est un grand sous-ensemble du code actuel d'openHAB. En particulier, code source pour toutes les interfaces et les services du Framework. Le code source de deux ou trois extensions ( exemple: persistance). La documentation de l'architecture et des d'extension d’openHab sont assurés par le groupe du projet d’Eclipse SmartHome. Pour permettre à d'autres d'utiliser le code d'openHAB dans leurs propres solutions et produits l’équipe d’openHab a décider de publier le code source via une licence apache. Les aspects légaux de beaucoup de projets open source sont souvent assez flous, même s'ils ont une licence libre. Mais pour des entreprises utilisant un tel projet dans leurs propres produits, il y a toujours le risque que le copyright du code n'est pas clair et que le code pourrait être contaminé par des brevets. Pour réduire de tels risques, il est très avantageux d'avoir une gestion de propriété intellectuelle rigide et des processus de contribution clairs, ceci est une des choses fournit par la licence Eclipse. L’équipe d’openHhab a décidé de contribuer le cadre principal d'openHAB à Eclipse, qui est devenue la nouvelle Eclipse SmartHome project. 60 Software IoT: Eclipse SmartHome – openHAB – openHAB Designer http://kaikreuzer.blogspot.com/2014/06/openhab-20-and-eclipse-smarthome.html
  • 61. 61 Eclipse SmartHome - Historique Eclipse SmartHome project est un projet open source proposé sous la licence Eclipse. Depuis l'apparition des connexions d‘internet haut débit, des smartphones et des tablettes, le marché domestique intelligent montre une recrudescence remarquable. Ceci a mené à un marché très fragmenté, qui le rend difficile pour des clients "bet on the right horse". En fait, il n'y a pas un système, le protocole ou un standard qui pourrait probablement accomplir toutes les exigences potentielles. Il y a par conséquent un besoin des plates-formes qui permettent l'intégration de systèmes différents, des protocoles et des normes, et cela fournit une façon uniforme d'interaction d'utilisateur et des services de niveau plus hauts. Les buts d’Eclipse SmartHome peuvent être récapitulés comme suit: Fourniture d’un Framework flexible pour la maison intelligente et la vie aidée ambiante. Ce Framework se concentre sur les cas d'utilisation de ce domaine, par exemple sur l'automatisation facile et des aspects de visualisation. Spécification des points d'extension pour des possibilités d'intégration et des services de niveau plus haut. L'extension et personnalisant ainsi la solution doit être aussi simple que possible et ceci exige des interfaces concises et consacrées. Fourniture des mises en œuvre d'extensions pour des systèmes pertinents, des protocoles ou des normes. Beaucoup d'entre eux peuvent être utiles pour beaucoup de solutions domestiques intelligentes, donc ce projet fournira un ensemble des extensions qui peuvent être incluses si désiré. Ils peuvent aussi être en forme d'une bibliothèque Java générale ou un paquet d'OSGI…
  • 62. 62 openHAB Framework - Fonctionnalités openHAB créez un emballage et fait la démonstration des configurations, bien que les mécanisme automatisé du foyer soit présent dans le Framework. openHab permet de construire des solutions domestiques intelligentes qui ont un accent fort d'environnements hétérogènes, c'est-à-dire les solutions qui traitent l'intégration de protocoles différents ou des standards. Son but est de fournir un accès uniforme aux dispositifs et des informations et faciliter les sortes différentes d'interactions avec eux. Ce Framework consiste d'un ensemble en paquets d'OSGI qui peuvent être déployés sur un module OSGI et qui définit des services OSGI comme des points d'extension. La pile doit être utilisable sur n'importe quelle sorte de système qui peut exécuter sur un serveur multi-principal, une passerelle résidentielle ou RaspberryPi. Des caractéristiques initiales planifiées et les points d'extension de ce Framework incluent : Type System: un système de type de base mais extensible pour des données domestiques et les commandes qui fournissent un point commun pour des données préoccupées et un accès de dispositif. Data Registry: garde la trace de cas de point de données et leurs valeurs. Event Mechanism: passe des données et des opérations d'une manière asynchrone d'une façon couplée entre des composants. L'Infrastructure pour échanger des données et des commandes avec des systèmes externes et des dispositifs, par exemple par le vote d'habitué ou des fils de fond. Des mises en œuvre obligatoires utiles comme le HTTP, NTP ou TCP feront partie du projet. Une mise en œuvre d'un moteur de rôle flexible qui permet de changer des rôles pendant le temps d'exécution, ou le déclenchement sur des événements ou sur une base temporelle.
  • 63. 63 openHAB Framework – Architecture (1) Le projet d'openHAB est divisé dans deux parties : * openhab-runtime: ceci est le paquet, que vous exécuterez en réalité sur votre serveur et qui fait le vrai travail. * openhab-designer: ceci est un outil de configuration et de design, fournit avec un éditeur pour configurer le temps d'exécution, définir l’interface utilisateur et mettre en œuvre les rôles. openHAB runtime est un ensemble de paquets d'OSGI déployés sur un Framework OSGI (Equinoxe). C'est donc une solution Java pure et a besoin d'un JVM pour fonctionner. Étant basé sur OSGI, il fournit une architecture fortement modulaire, qui permet même d'ajouter et enlever la fonctionnalité pendant le temps d'exécution sans arrêter le service. Voici une vue d'ensemble des paquets principaux et comment ils dépendent l'un de l'autre : - Communication: OpenHAB a deux chaînes de communication interne différentes, un événement asynchrone transporte en autobus un dépôt « stateful », qui peut être requêté. - Le bus d‘événement Le bus d'événement est le service de base d'openHAB, tous les paquets qui n'exigent pas le comportement « stateful », il devraient l'utiliser pour informer d'autres paquets d'événements et être mis à jour par d'autres paquets sur des événements externes. Il y a principalement deux types d'événements : Les commandes que déclenchent une action ou un changement d'état d'un certain article ou dispositif.
  • 64. 64 openHAB Framework – Architecture (2) Les mises à jour de statut qui informent d'un changement d’un statut d'un certain article ou objet est souvent comme une réponse à une commande. Toutes les attaches de protocole devraient communiquer via le bus-event. Ceci s'assure qu'il y a un accouplement très bas entre les paquets, qui facilite la nature dynamique d'openHAB. Comme une base technique, l'OSGI EventAdmin est utilisé par openHAB. Ceci est une mise en œuvre sous de pub légère, qui remplit parfaitement les exigences. Il est important de noter qu'openHAB ne doit pas résider sur les objets ou des matériel réels et qui devraient être alors à distance pour communiquer avec beaucoup d'autres instance d’openHAB distribués. Au lieu de cela, openHAB sert d'un centre d'intégration entre de tels dispositifs et comme un médiateur entre les protocoles différents que l'on parle entre ces dispositifs. Dans une installation typique il y aura donc d'habitude juste un cas d'openHAB exécutant sur un certain serveur central. Néanmoins, comme l'OSGI EventAdmin, le service peut aussi être utilisé comme un service à distance, il est possible de connecter plusieurs instance distribuée d’openHAB via le bus-event. Pas toutes les fonctionnalités peuvent être couvertes purement par des services ou extensions. Donc openHAB offre aussi un système de « Item Repository », qui est connecté au bus-event et garde la trace du statut actuel de tous les articles. « Item Repository » peut être utilisé quand nécessaire pour avoir accès à l'état actuel d'articles. Par exemple une interface utilisateur doit afficher l'état actuel d'articles dans le moment de l'accès d'utilisateur. Aussi le moteur d'exécution de logique d'automatisation doit toujours être informé des états actuels. « Item Repository » exige que chaque paquet soit mis en cache pour assurer une réutilisation interne en cas de besoin.
  • 65. 65 openHAB Framework – Architecture (3) Il s'assure aussi que l'état est en parfaite harmonie pour tous ces paquets et il fournit la possibilité de persister des états dans un système de fichiers ou une base de données, pour qu'ils soient même gardés partout pendant une reprise de système. OpenHAB vient avec une configuration textuelle générique pour ses interfaces utilisateur : Le Plan de site est une arborescence des gadgets, qui définissent les pages différentes d'un UI et leur contenu. Les gadgets peuvent être associés aux objets, pour lesquels ils devraient montrer les éléments de contrôle et le statut. La définition du plan de site est faite selon le design, il est censé être un modèle d'UI approprié pour les sortes différentes d'interfaces utilisateur, pour que l'utilisateur ne doit pas configurer chacun d'entre eux dans le cas où il installe des UIs multiples. Si un UI a de nouvelles exigences en plus du plan de site, il est toujours possible de présenter les options de configuration supplémentaires qui sont alors spécifiques pour l'UI en question. L'article des fournisseurs d'UI offrent une façon dynamique de configurer l'UI, pour que tout ne doit être stocké statiquement dans le plan de site. Un article que le fournisseur d'UI peut par exemple définir, quel gadget devrait être utilisé pour un objet, si aucun est spécifié et peut dynamiquement définir des icônes et des étiquettes et qui pourrait dépendre de l'état actuel de l'article. Un cas d'utilisation important pour cette caractéristique est l'affichage dynamique de groupes d'article et de tout ce qui est là stocké dans le plan de site est les informations qu'un certain groupe devrait être montré; la page est alors dynamiquement assemblée au temps d'exécution avec n'importe quels articles sont disponible à ce moment-là.
  • 66. 66 openHAB Framework – Commandes (1)
  • 67. 67 openHAB Framework – Commandes (2)
  • 68. 68 openHAB Framework – Commandes (3)
  • 69. 69 openHAB Framework – Commandes (4)
  • 70. 70 openHAB Framework – Webservices (1)
  • 71. 71 openHAB Framework – Webservices (2)
  • 72. 72 openHAB Framework – Webservices (3)
  • 73. 73 openHAB Framework – Webservices (4) OpenHAB est conçu pour fournir un webservice où les composants peuvent être connectés et conduits via une interface utilisateur, en permettant à un mécanisme général de contrôler tous les composants. Bien que beaucoup de ces dispositifs puissent avoir leurs propres applications mobile, contrôlant chacun d'entre. En utilisant OpenHAB comme le centre principal, les dispositifs peuvent tous être contrôlés avec une seule application mobile ou le site Web et les scénarios peuvent être installés et configurés pour conduire des composants individuels.
  • 75. 75 openHAB Designer – Geent Template UI openHAB Designer permet de configurer openHAB Runtime. Il fournit avec un éditeur pour des fichiers ou dossiers, permet la configuration du plan de site. Son avantage sur des éditeurs de texte simples est le support d'IDE complet, comme la vérification de syntaxe, auto-completion, support et documentation…
  • 76. Plutôt que réinventer la roue, Sitewhere dépend de beaucoup de technologies libre. La plupart des technologies utilisées ont été testées pendant des années dans des environnements de production et ont été continuellement mises à jour grâce à beaucoup d'itérations et d'améliorations. Les composants open source suivants sont utilisés par Sitewhere : Apache Tomcat: Le serveur principal dans Sitewhere. Sitewhere est déployé comme des archives Web (.war) qui fonctionne quand le serveur démarre. Spring Framework: livre le cadre de configuration principal de Sitewhere et cela lui permet d'être configurable et étendu. Plutôt qu'utiliser un ensemble durement codé de composants, Sitewhere a un ensemble principal d'interfaces de prestataire de services et les mises en œuvre par défaut des interfaces. En utilisant les mêmes interfaces dans des classes personnalisées et les branchant via spring, les tiers peuvent étendre Sitewhere sans toucher le code principal. MongoDB : MongoDB est une base de données NoSQL qui est utilisée pour stocker des données Sitewhere. C'est très rapide et facile d'installer, avec des grandes performances… 76 Software M2M - Sitewhere http://docs.sitewhere.org/1.0.4/overview.html#what-is-sitewhere
  • 77. 77 Sitewhere - Software M2M (1) Sitewhere est libre, c’est une plateforme d’intégration M2M. Il fournit les fonctionnalités suivantes : - Un serveur basé sur les technologies prouvées qui agissent comme un contrôleur pour le traitement de données de dispositif. Le serveur peut être installé sur une machine locale ou dans le cloud, et est construit sur les technologies qui sont conçues pour traiter des milliards d'événements de dispositif par jour. - La persistance à long terme de données envoyées par des objets. Des données d'événement de dispositif temps réel, Sitewhere offre une plate-forme où les données ne sont jamais supprimées, peu importe le volume d'événements. - Offre des interfaces de prestataire de services, qui fournit un modèle d'objet principal pour la plate- forme et permet aux tiers d'étendre et personnaliser le système pour interfacer avec de nouvelles technologies. - Livre un système de ravitaillement de dispositif avancé, qui permet le contrôle du cycle de vie complet de dispositifs se faisant inscrire, envoyant des commandes basées sur le type de matériel, recevant des réponses de données et les agrégeant. Le système est basé sur un ensemble principal des interfaces qui permettent des nouveaux protocoles. - Un modèle pour les types standard de données produites par des dispositifs. Par exemple, les données d'emplacement sont stockées tel qu'il peut être géo-spatialement indexé et eu accès selon des questions comme ' quels événements de dispositif sont arrivés près de cet emplacement donné dans la période de temps donnée '. Les données de mesure de dispositif sont stockées tel qu'il peut être analysé, à facettes et graphique…
  • 78. 78 Sitewhere - Software M2M (2) Sitewhere offre les informations via un cadre de gestion d'actifs qui permet aux systèmes externes de conduire les informations. Par exemple, la liste des gens associée à une assignation peut venir d'un magasin, LDAP existant. Sitewhere suit à la trace l'attribution de dispositifs au fil du temps et lie des événements à la mission, si à une date ultérieure vous pouvez trouvez les emplacements d’un objet et quand il a été assigné à une personne particulière. Sitewhere s’intègre avec des Framework d'intégration tiers comme Mule ESB, permettant aux données d'événement de déclencher des interactions complexes comme des données ajoutantes à Salesforce ou notifiant des conditions alertes utilisant des SMS produits par Twilio. Sitewhere est une application administrative HTML5 qui permet à toutes les données de système d'être vue et manipulé dans une façon qui le rend facile à comprendre les données. L'application d'administration utilise des webservices REST, fournis par la plate-forme principale pour interagir avec les données. Les applications tierces peuvent utiliser les mêmes webservices REST pour interagir avec des données Sitewhere sans avoir pour utiliser l'application d'administration. Sitewhere offre un client Java qui peut interagir avec la majeure partie des webservices REST. Pour des systèmes externes avec le code Java existant, l’interfaçage avec Sitewhere est aussi simple par quelques lignes de code. Il protège les informations en limitant l'accès aux données basées sur un système de gestion d'utilisateur prouvé. Le système peut être configuré pour utiliser les sources externes de données d'identité comme des magasins ou LDAP.
  • 82. Les objets doivent communiquer les uns avec les l'autre (D2D). Les données de dispositif doivent alors être rassemblées et envoyées à l'infrastructure de serveur (D2S). Cette infrastructure de serveur doit partager des données de dispositif (S2S), fournissant un soutient aux dispositifs, aux programmes d'analyse, ou aux gens, parmis les protocoles qui peuvent décrire ce système il y a : MQTT · XMPP · DDS · AMQP Chacun de ces protocoles est largement adopté. Il y a au moins 10 mises en œuvre de chacun. La confusion est compréhensible, parce que le positionnement de haut niveau est semblable. En fait, toute la quatre réclamation d'être en temps réel publisher – subscriver. Les protocoles IoT qui peuvent connecter des milliers de dispositifs. Et c'est vrai, comment vous définissez "temps réel," "des objets," et "des dispositifs." Néanmoins, ils sont très différents, en effet internet d'aujourd'hui supporte des centaines de protocoles. L'IoT supportera des centaines. 82 Protocoles & Positioning Systems
  • 83. 83 Protocle MQTT MQTT (MQ Telemetry Transport) est un protocole basé sur un système "light weight“ qui utilize le mode publish-subscribe pour échanger des messages et TCP/IP comme protocole de communication et transport. Il est conçu pour établir des connexions avec des emplacements à distance où “small code footprint” est exigée et la bande passante de réseau est limitée. Le Publish-Subscribe est un modèle de messagerie exigeant un broker. Le broker est responsable de distribuer des messages aux clients intéressés basés sur le sujet d'un message. Andy Stanford-Clark et Arlen Nipper of Cirrus Link Solutions ont conçu la première version du protocole en 1999. La spécification ne spécifie pas la signification "small code foot print“ ou la signification "de la bande passante de réseau limitée". Ainsi, la disponibilité du protocole à l'utilisation dépend du contexte. En 2013 IBM a soumis MQTT v3.1 au corps de spécification d'OASIS. MQTT-SN est une variation du protocole principal a visé des dispositifs incorporés sur des réseaux non TCP/IP, comme ZigBee. Historiquement, le 'MQ' dans 'MQTT' est venue de chez “IBM's MQ message queuing product line”. Cependant, la formation d'une queue en soi n'est pas exigée pour être soutenu comme une caractéristique standard dans toutes les situations. Des protocoles alternatifs incluent le « Advanced Message Queuing Protocol”, “IETF Constrained Application Protocol” et “XMPP” sont nés ultérieurement. MQTT Broker: Il y a plusieurs brokers de MQTT disponibles comme “IBM Message Sight”. Ils varient dans leur ensemble de caractéristiques et certains d'entre eux mettent en œuvre des fonctions supplémentaires en plus de la norme MQTT. Dans le monde réel, il y a un certain nombre de projets basés sur le MQTT comme Facebook Messenger. https://en.wikipedia.org/wiki/MQTT
  • 84. 84 Protocle GSM GSM (Global System for Mobile Communications), d’oringine conçu par Group Special Mobile, est un standard développée par European Telecommunications Standards Institute (ETSI) pour décrire des protocoles pour la deuxième génération (2G) des réseaux cellulaires numériques utilisés par des téléphones portables, d'abord déployés en Finlande en juillet 1992. À partir de 2014 c'est devenu la le standard mondiale par défaut pour des communications mobiles, avec une part de marché de plus de 90 %, fonctionnant dans plus de 219 pays dans le monde. La 2G est développé comme un remplaçant pour la première génération (1G) des réseaux cellulaires analogues et le standard GSM ont à l'origine décrit un réseau numérique. Ceci étendu au fil du temps pour inclure des transmissions de données, d'abord par le transport commuté de circuit, ensuite par des données de paquet transporte via GPRS (General Packet Radio Services) et EDGE (Enhanced Data rates for GSM Evolution or EGPRS). Par la suite, le 3G++ a développé la troisième génération (3G) UMTS suivies par la quatrième génération (4G) LTE, qui ne font pas partie de l'ETSI GSM. "GSM" est une marque déposée appartenant à l'Association GSM. Il peut aussi renvoyer au codec de voix, Full Rate. Basée sur: GSM Layer 1: FDMA/TDMA est l'interface radio, aussi appelée Um l'interface. GSM Layer 2 : est la couche de liaison de transmission, qui fait trois fonctions principales suivantes: - Établir - Maintenir - Démolir le lien, le contrôle de flux et la détection d‘erreur. https://en.wikipedia.org/wiki/GSM
  • 85. 85 GPS - Global Positioning System Le Système de navigation par satellites (GPS) est un système satellite à base d'espace de navigation qui fournit l'emplacement et des informations de temps dans toutes les conditions météorologiques, n'importe où sur la terre où il y a une ligne dégagée de vue à quatre ou plus satellites GPS. Le système fournit plusieurs capacités critiques aux militaires, des utilisateurs civils et commerciaux dans le monde entier. Le gouvernement des États-Unis a créé le système, il assure son entretient et le rend librement accessible à quelqu'un avec un récepteur GPS. Les EU ont commencé le projet GPS en 1973 pour surmonter les limitations de systèmes précédents de navigation, intégrant des idées de plusieurs prédécesseurs, y compris un certain nombre d'études de conceptions classifiées et confidentielles d'ingénierie des années 1960. Le Ministère de la Défense américain (DoD) a développé le système, qui a à l'origine utilisé 24 satellites. C'est devenu entièrement opérationnel en 1995. Les avances dans la technologie et de nouvelles demandes sur le système existant ont maintenant mené aux efforts de moderniser le système GPS et mettent en œuvre la génération suivante de Bloc GPS III, et le Système de commande opérationnel de nouvelle génération (OCX). En 2000, le Congrès américain a autorisé l'effort de modernisation, le GPS III. En plus du GPS, d'autres systèmes sont dans l'utilisation ou dans le développement. Le Système Satellite Global russe de navigation (GLONASS) a été développé à la même époque avec le GPS, mais subi de la couverture incomplète du globe jusqu'au milieu des années 2000. Il y a aussi l‘union européenne planifiée le système de positionnement de Galileo, le système satellite régional indien de navigation de l'Inde et le chinois BeiDou… https://en.wikipedia.org/wiki/Global_Positioning_System
  • 86. Raspberry PI – Mobile - SIM CARD – GPS TRACKER – LG SMART TV – GOOGLE MAPS – LED LIGHTING – CARS TRACKER – OPENHAB FRAMEWORK – OSGI MODULE – SITEWHERE - THERMOMETER 86 Plateforme IoT
  • 88. 88 YOUTUBE CHANNEL : INNOVAIOT Application : Movie Demonstration INNOVA_IOT INNOVAIOT INNOVAIOT
  • 89. Big data analytics est le processus d'examiner des grands ensembles de données contenant une variété de types de données. Les données de masse, des corrélations inconnues, commercialisent des tendances, des préférences clients et d'autres informations utiles d'affaires. Les découvertes analytiques peuvent mener au marketing plus efficace, des nouvelles occasions de revenu, le meilleur service client… Pour analyser un si grand volume de données, big data analytics est typiquement exécutée utilisant des outils logiciels spécialisés et des applications pour l'analytique prophétique, l'extraction de données, l'extraction de texte, la prédiction et l'optimisation de données. Collectivement ces processus sont les fonctions séparées mais fortement intégrées d'analytique très performante. L'utilisation de grands outils de données et le logiciel permet à une organisation de traiter les grands volumes de données pour déterminer quelles sont les données pertinentes et peuvent être analysées… 89 Big Data et Analyse
  • 90. 90 Big Data Analytics – Cas d’utilisations Big Data analytics est plus que l'analytique de comportementale des gens. C'est aussi de la compréhension des interactions et de la dynamique entre des processus, des machines , des équipements, des tendances même macro-économiques, qui peuvent rapporter du nouveau apprentissage dans des risques opérationnels et des occasions. Quand combiné avec des perspicacité riches du comportement du grand public et des consommateurs, les entreprises gagnent une image plus nuancée, détaillée et précise d'où les marchés sont été à la tête. Et cela leur donne un avantage énorme dans la direction aux investissements proactifs pour saisir les meilleures occasions. Le plus grand de ces occasions peut-être l'affrontement du marché ou focalisé sur le client, mais des améliorations de chaîne d'approvisionnement ou d'autres améliorations opérationnelles d'abord découvertes par l'analytique comportementale peut aussi mener aux gains de performance dignes d'intérêt. L'analytique comportementale a des applications réelles au-delà du royaume de marketing et l'intelligence client. Il y a les données de capteur qui peuvent suivre à la trace des modèles de trafic, par exemple, menant "aux villes plus intelligentes. Il est possible de savoir si les chaînes de chambre froide ont été cassées ou les médicaments ont été compromises pendant des expéditions. Ainsi les suivis à la seconde de marchandises traversant des chaînes d'approvisionnement mondiales sont en fin de compte une autre saveur d'analytique comportementale. Comme avec des données de masse plus généralement, la question n'est pas si les entreprises ont les données ils doivent faire l'analytique comportementale. Il est plus qu'ils doivent déterminer les stratégies optimales pour les rassemblées, gérées et analysées. http://bigdata.teradata.com/US/Big-Ideas/Behavioral-Analytics
  • 91. Jaspersoft Studio est un logiciel libre commercial concentré sur la veille économique, y compris la visualisation de données, le rapport et l'analytique. Jaspersoft fournit la publicité et le logiciel libre, le support, des services et accordant une licence autour du JasperReports, JasperReports Server, Jaspersoft Studio, iReport et Jaspersoft products ETL. Le produit principal de Jaspersoft est le JasperReports Server, une application web Java qui fournit des capacités de serveur de rapport avancées comme la planification de rapport, des permissions, ad hoc, des tableaux de bord et la multi-location. Il est offert dans une édition open source communautaire aussi bien que sous plusieurs éditions commerciales avec un large support pour des bases de données diverses et des sources de données, y compris NoSQL et d'autres grandes sources de données: datasources. Jaspersoft a été à l'origine appelé Panscopic et a été fondé par Al Campa, Al Campa, CEO, et Raj Bhargava. En 2004 Panscopic s'est associé avec Teodor Danciu, a acquis la propriété intellectuelle de JasperReports et a changé le nom de l'entreprise à Jaspersoft. Brian Gentile est devenu le PDG en 2007. Teodor Danciu a commencé le travail sur JasperReports en juin 2001, le projet de sf.net a été enregistré en septembre 2001 et JasperReports 0.1.5 a été sorti le 3 novembre 2001. L'entreprise a sorti la Version 1.0 JasperReports, le 21 juillet 2005. 91 JasperSoft – Analyse et Reporting https://en.wikipedia.org/wiki/Jaspersoft
  • 94. 94 JasperSoft – MongoDB Query Langage
  • 95. 95 Elasticsearch Elasticsearch est une application de recherche en texte intégral open source fortement évolutive et un moteur d'analytique. Il vous permet de stocker, rechercher et analyser des grands volumes de données rapidement et en temps quasi réel. Il est généralement utilisé comme le sous-jacent de moteur et technologie que les applications de pouvoirs qui ont des caractéristiques de recherche complexes et des exigences. Ainsi Elasticsearch vous permet: - Dirigez une boutique en ligne où vous permettez à vos clients de chercher des produits que vous vendez. Dans ce cas, vous pouvez utiliser Elasticsearch pour stocker votre catalogue de produit entier et inventorier et fournir la recherche et auto compléter des suggestions pour eux. - Rassembler le journal des données de transaction et analyser ces données pour chercher des tendances, la statistique, des résumés, ou des anomalies. Dans ce cas, vous pouvez utiliser Logstash pour agréger et faire l'analyse syntaxique de vos données et avoir ensuite Logstash alimentent ces données dans Elasticsearch. Une fois que les données sont dans Elasticsearch, vous pouvez exécuter des recherches et des accumulations de n'importe quelles informations qui vous sont intéressantes. Ainsi Elasticsearch utilise sa recherche et inverse la capacité de correspondre aux mouvements et des choix technologiques d’analyse syntaxique ou d’analytique comportementale des clients. https://www.elastic.co
  • 96. 96 Elasticsearch - Fonctionnalités Real-Time Data: combien de temps vous pouvez attendre des aperçus sur vos données rapides. Avec Elasticsearch, toutes les données sont immédiatement rendues disponible pour la recherche et l'analytique. Real-Time Analytics: l‘union de la vitesse de recherche se joint à la puissance d'analytique change votre relation avec vos données. En mode interactif la recherche, découvrez et analysez pour gagner les aperçus qui améliorent vos produits ou rationalisent votre activité. Distributed: Elasticsearch vous permet de commencer avec une petite architecture et augmenter les capacités à l'échelle horizontalement. Ajoutez simplement plus de nœuds et laissez le groupe profiter automatiquement du matériel supplémentaire. High Availability: Elasticsearch est résistant, il détectera des nouveaux nœuds, réorganisera et rééquilibra des données automatiquement, assura que vos données sont sûres et accessibles. Multitenancy: le groupe peut contenir les indices multiples qui peuvent être questionnés indépendamment ou comme un groupe. Les pseudonymes d'index permettent les vues filtrées d'un index et peuvent être mis à jour d'une manière transparente à votre application. Full-Text Search: Elasticsearch construit des capacités distribuées au-dessus d'Apache Lucene pour fournir le texte intégral le plus puissant des capacités de recherche disponibles dans n'importe quel produit open source. L'API est puissante, favorable aux développeurs, supporte la recherche multilingue, la géolocalisation, des suggestions contextuelles, auto-completion… Document-Oriented: Elasticsearch stock des entités complexes dans des structure JSON des documents.
  • 98. 98 Elasticsearch – MongoDB River Indexation
  • 102. 102 Elasticsearch – recherche dans une collection MongoDB
  • 105. 105 Apache Hadoop Apache Hadoop est un Framework open source écrit en Java pour le stockage et traitement distribué de très grands ensembles de données sur des groupes informatiques. Tous les modules dans Apache Hadoop sont conçus avec une supposition fondamentale que les échecs de matériel (de machines individuelles, ou les supports de machines) sont banals et devraient ainsi être automatiquement traités dans le Framework. Le cœur d'Apache Hadoop consiste en partie de stockage (Le Système de fichiers Distribué de Hadoop « HDFS ») et une partie de traitement (MapReduce). Apache Hadoop divise des fichiers et dossiers dans de grands blocs et les distribue parmi des nœuds dans le groupe. Pour traiter les données, MapReduce permet le transfert du code empaqueté pour des nœuds pour un traitement en parallèle, basé sur les données chaque nœud. Cette approche profite de nœuds de localité de données manipulant les données qu'ils doivent admettre que les données à être traitées plus rapidement et plus efficacement que cela soient dans une architecture super informatique plus conventionnelle qui compte sur un système de fichiers parallèle où le calcul et des données sont connectés via la gestion de réseau haut débit(à grande vitesse). La base d'Apache Hadoop est composée des modules suivant: Hadoop Commun, système de fichiers distribué qui stocke des données sur des machines de marchandises, MapReduce… https://en.wikipedia.org/wiki/Apache_Hadoop
  • 106. 106 Apache Hadoop – User Interface
  • 107. 107 Apache Hadoop – Exemple HDFS Le système de fichiers distribué d’Hadoop (HDFS) est un système de fichiers distribué conçu pour fonctionner sur du matériel ordinaire. Il a beaucoup de ressemblances avec des systèmes de fichiers distribués existants ou Raid de Unix. Cependant, les différences d'autres systèmes de fichiers distribués sont significatives. HDFS est fortement insensible aux défaillances et est conçu pour être déployé sur du matériel bon marché. HDFS fournit un haut accès de sortie aux données d'application et est approprié pour les applications qui ont des grands ensembles de données. HDFS implémente quelques exigences POSIX pour permettre l'accès en continu aux données de système de fichiers.
  • 108. 108 Apache Hadoop – Exemple « Log File » pour requêter
  • 109. 109 Apache Hadoop – exportation de « Log Files » dans un format HDFS
  • 110. 110 Apache Hadoop – Status de « Log Files » dans Hadoop
  • 111. 111 Apache Hadoop – Apache Hive: la combinaison Apache Hive facilite la gestion de grands ensembles de données résidant dans le stockage distribué. Ainsi Hive fournit un mécanisme pour projeter la structure sur ces données et questionner les données utilisant une langue semblable au SQL appelée HiveQL. En même temps cette langue permet aussi aux programmeurs de mapper leurs données selon une représentation structurées ou semi-structurées Pour pouvoir les stocker dans des tables intermédiaires spécifiques au HiveQL.
  • 112. 112 Apache Hive – Hive Query Langage DROP TABLE: supprimez la table de données, si elle existe déjà . CREATE EXTERNAL TABLE: créez une nouvelle table externe dans Hive. Les tables externes stockent seulement la définition de table. Les données restent dans leur emplacement d'origine et dans leur taille d'origine. ROW FORMAT: indiquez au Hive le mode de formatage des données. STORED AS TEXTFILE LOCATION: indiquez l'emplacement des données (répertoire des données) et spécifie qu'ils sont stockés sous la forme de texte. Les données peuvent être en file indienne ou des reparties sur plusieurs fichiers ou dossiers dans le répertoire. SELECT: choisissez et comptez toutes les lignes dont la colonne ‘t10’ contient la valeur 'host=chaker'
  • 113. 113 Apache Hive– Résultats des requêtes (1)
  • 114. 114 Apache Hive – Résultats des requêtes (2)
  • 115. 115 Apache Hive – Résultats des requêtes (3)
  • 116. 116 Apache Hadoop, Apache Hive et le Big Data Apache Hive est un système de centralisation de données construisent au-dessus d’Apahce Hadoop pour questionner des données de masse. Hive produite par Facebook en août 2008. Le défi que Facebook a dû aborder est celui confronté par beaucoup d'entreprises depuis lors. Finalement la croissance de données dans une entreprise défie les capacités de RDBMS déployé ou des systèmes NoSQL. Les rapports et l'analytique commencent à prendre du valeur, alors des heures et se chevaucher finalement avec d'autres questions et le système entier s'immobilise. D'autres entreprises commencent à traiter des données de masse avec Hadoop découvre la valeur de faire les données accessibles au-delà de l'équipe de développement capable d'écrire des spécifications des données complexes. Le terme des données de masse est librement utilisé dans ce contexte. Le point sous-jacent consiste en ce que les données de masse sont un point de vue et peuvent être généralisées comme le point où des solutions simples et déployées par la technologie échoue. Des solutions de centralisation de données à grande échelle commerciales sont très chères. En outre, certaines des données rassemblées aujourd'hui, par exemple mal structuré ou dé-normalisent fortement des données, peuvent être peu pratiques pour se débrouiller avec ces systèmes. L'écosystème Hadoop est régulièrement utilisé pour peser le traitement de données dans une façon faisable. Hadoop devient en remplacement ou un complément de traitement par lots à l'infrastructure existante pour l'analyse de données, l'extraction, le chargement, la transformation, le rapport et l'apprentissage automatique.
  • 117. Green Internet of Things The term "Internet of Things" emanated to describe a number of technologies and research disciplines that enable global connectivity over the world-wide physical objects. Enabling technologies like RFID, sensor networks, biometrics, and nanotechnologies are now becoming very common, bringing the Internet of Things into real implementations addressing varying applications, including smart grid, e- health, intelligent transportation, etc. They foreshadow an exciting future that closely interconnects our physical world via green networks. Green networks in IoT will contribute to reduce emissions and pollutions, exploit environmental conservation and surveillance, and minimize operational costs and power consumption. The Green Internet of Things (G-IoT) is predicted to introduce significant changes in our daily life and would help realizing the vision of “green ambient intelligence”. Within a few years we will be surrounded by a massive amount of sensors, devices and “things”, which will be able to communicate via IP, act “intelligently”, and provide green support for users in managing their tasks. These new smart objects will also be context-aware and able to perform certain functions autonomously, calling for new forms of green communication between people and things and between things themselves, where power consumption is optimized and bandwidth utilization is maximized. This development would not only be relevant to researchers, but also to corporations and individuals alike. It is hence the aim of our workshop to focus on both design and implementation aspects in green networks, or networks that can be utilized in providing green systems through IoT enabling technologies. At the same time, our workshop call is open for topics relevant to IoT in general. http://research.cs.queensu.ca/G-IoT12
  • 118. Mots clés IoT – M2M Big Data Analyses Internet ofThings, Machine 2 Machine, MQTT, Broker, Message Elasticsearch,Apache Hadoop, Apache Hive, MongoDB JasperSoft Studio, MongoDB, Apache Cassandra, MySQL, JSON Node-Red, nodeJS,Webservices, Maps, google maps, GPSTracker, cars trafic, thermostat connecté, adresse MAC, Device registration Elasticsearch index, MongoDB river, Marvel sense, Elasticsearch HQ Kibana analytic, Logs analytics HiveMQ,ApacheTomcat, MQTT Spy, Cylon.JS, Cloud-foundry Cli commands, openHAB, openHAB Designer, GreentTemplate, Sitewhere MapReduce,Apache Hive, Hive Query Langage, MongoDB river, HDFS, MongoDB Query Langage, Replication, Collection, elasticsearch index, cluster Hadoop UI, Monitoring, Protocol, Data access, Monitor poll, Hybrid mode Node-Red Flow,API Keys,APIToken, Collect Data, Data source,Twitter, Mail,Webservices, Maps, google maps, GPSTracker, cars trafic, thermostat connecté, adresse MAC, Device registration, MQTT Publisher, MQTT Subscriber Mqtt Broker, Publisher, Subscriber, GET Request, PUT Request, JSON, YAML HiveMQ,ApacheTomcat, MQTT Spy, Cylon.JS, Cloud-foundry Cli commands, openHAB, openHAB Designer, GreentTemplate, Sitewhere
  • 119. Liens utiles  Apache Haddop : https://hadoop.apache.org  IBM Bluemix : https://console.ng.bluemix.net  Elasticsearch : https://www.elastic.co  openHab : http://www.openhab.org  Sitewhere : http://www.sitewhere.org  Jaspersoft : http://www.jaspersoft.com  Node-red : http://nodered.org  MongoDB : https://www.mongodb.org  Apache Tomcat : http://tomcat.apache.org  Apache Hive : https://hive.apache.org  nodeJS : https://nodejs.org
  • 120. Visitez mon profil LinkedIn Visitez mon site web http://tn.linkedin.com/in/chakerallaoui http://allaoui-chaker.github.io Contact Idea Create Refine