<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SAHUC.Alexandre</id>
	<title>air - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SAHUC.Alexandre"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/SAHUC.Alexandre"/>
	<updated>2026-06-01T16:31:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=PM2M-2016-LoRaMote/Suivi&amp;diff=29878</id>
		<title>PM2M-2016-LoRaMote/Suivi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PM2M-2016-LoRaMote/Suivi&amp;diff=29878"/>
		<updated>2016-04-12T16:38:21Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: /* Photos et Vidéo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LoRaMote Wyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etudiants [[PM2M/2016/TP|M2PGI PM2M]]: Erwan CROZE - Alexandre SAHUC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dépôt Git : [https://github.com/PM2M2016-MOTES/PM2M2016-MOTES &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Documents : [[Media:PM2M-2016-LoRaMote.pdf|Rapport]] - [[Media:PM2M-2016-LoRaMote-slides.pdf|Transparents]] - [[Media:PM2M-2016-LoRaMote-flyer.pdf|Flyer]] - Video&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
Ce projet est réalisé dans le cadre de l&#039;UE M2M du Master 2 P GI.&lt;br /&gt;
&lt;br /&gt;
=Objectif du projet=&lt;br /&gt;
Le but (initial) du projet est de faire comminquer deux motes Wyres entres elles&lt;br /&gt;
&lt;br /&gt;
=Matériel utilisé=&lt;br /&gt;
* Motes Wyres&lt;br /&gt;
* Gateway(carte SX1301 IMST iC880A)&lt;br /&gt;
* AWS EC2&lt;br /&gt;
&lt;br /&gt;
=Technologies utilisées (initialement) =&lt;br /&gt;
* [[AWS EC2]]&lt;br /&gt;
* [[TheThingNetwork]]&lt;br /&gt;
** utilise [[RabbitMQ]]&lt;br /&gt;
** utilise [[MongoDB]]&lt;br /&gt;
** utilise [[Node-RED]]&lt;br /&gt;
&lt;br /&gt;
=Technologies utilisées =&lt;br /&gt;
* LoRa&lt;br /&gt;
* TheThingNetwork : un serveur clé en main pour la gestion des paquets LoRa envoyés via UDP.&lt;br /&gt;
** utilise RabbitMQ&lt;br /&gt;
** utilise MongoDB&lt;br /&gt;
** Les modules permettant la réception des paquets LoRa (croft) et leur stockage en base (jolie) sont écrits en Go.&lt;br /&gt;
* La partie visualisation des data est écrit en Javascript, avec un back-end utilisant NodeJS.&lt;br /&gt;
* Les programmes client permettant de récupérer des données des PC et de les envoyer sur la gateway sont écrits en C.&lt;br /&gt;
&lt;br /&gt;
=Plan de développement=&lt;br /&gt;
==Mise en place de la gateway==&lt;br /&gt;
* Installation du packet_forwarder pour la carte [[IMST iC880A]] sur le RPI&lt;br /&gt;
&lt;br /&gt;
==Mise en place de l&#039;infrastructure==&lt;br /&gt;
* Création d&#039;un compte sur [[AWS EC2]]&lt;br /&gt;
* Déployer [[TheThingNetwork]] sur une instance t2.micro gratuite&lt;br /&gt;
* Visualiser les métriques radio avec [[Grafana]]&lt;br /&gt;
&lt;br /&gt;
==Traitement des données==&lt;br /&gt;
* Décoder le payload des messages envoyés par les motes Wyres avec un flow [[Node-RED]]&lt;br /&gt;
* Visualiser les données des motes Wyres avec [[Grafana]]&lt;br /&gt;
* Décoder le payload des messages envoyés par les LoRaMotes Semtech avec un flow [[Node-RED]]&lt;br /&gt;
* Visualiser les données des LoRaMotes Semtech avec [[Grafana]] et les positions avec [[Kibana]]&lt;br /&gt;
&lt;br /&gt;
=Expérimentations et Résultats=&lt;br /&gt;
* 8/03 : Nous recevons les Motes et une documentation fournie par M. Donsez. Notre première tâche sera donc de communiquer via le port USB/série afin de pouvoir envoyer des commandes aux Motes.&lt;br /&gt;
&lt;br /&gt;
* 15/03 : La machine Amazon a été démarrée dans la semaine et nous avons installé dessus NodeJS, InfluxDB et Grafana, la base (a priori) nécessaire pour le traitement des paquets LoRa coté serveur. Du coté des Motes, nous essayons tant bien que mal de communiquer avec le port série et le développement d&#039;un logiciel nous simplifiant la tâche est en cours. Nous décidons aussi que le but du projet sera de remonter les données des capteurs internes des Motes au serveur Amazon. Le schéma sera le suivant : L&#039;une des Motes envoie ses données à l&#039;autre en pair à pair. Cette dernière, reliée à internet (au moyen d&#039;un partage de connexion si nécessaire) enverra ces données sur le serveur Amazon où l&#039;utilisateur pourra les visualiser.&lt;br /&gt;
&lt;br /&gt;
* 22/03 : Après un petit échange avec M. Boulet dans la semaine, nous apprenons que les motes ne peuvent pas communiquer en pair à pair. Il nous faudra donc une gateway afin d&#039;établir un réseau LoRa. Nous en informons M. Donsez qui nous donne la gateway en fin de séance. Du côté Motes, le programme (serialcom) permettant d&#039;envoyer des commandes au motes est terminé.&lt;br /&gt;
&lt;br /&gt;
* 29/03 : Durant la semaine, nous avons intallé le packet forwarder sur la raspberry. Sur la machine Amazon, nous installons TheThingsNetwork. Nous décidons de modifier légèrement le projet pour pouvoir utiliser une version locale de croft et jolie que l&#039;on pourra donc modifier. Par ailleurs, un coup de fil de M. Boulet nous apprend qu&#039;il n&#039;est pas possible de remonter les données des capteurs internes des Motes. Qu&#039;à cela ne tienne, nous décidons donc d&#039;utiliser les motes pour remonter des données de nos propres ordinateurs. Un nouveau problème se présente : TheThingsNetwork utilise MongoDB et non InfluxDB. Or, MongoDB n&#039;est pas supporté par Grafana, initialement prévu pour visualiser les données en base. Il nous faudra donc trouver un autre outil pour visualiser ces données.&lt;br /&gt;
&lt;br /&gt;
En fin de séance, les Motes communiquent avec la gateway ! Cette dernière envoie même les paquets sur la machine Amazon mais elles sont chiffrées. Nous allons donc devoir résoudre 3 problèmes : &lt;br /&gt;
* Il n&#039;existe pas de véritable outil pour visualiser des données stockées dans MongoDB.&lt;br /&gt;
* Trouver un moyen pour récupérer les données de nos ordinateurs et les envoyés sur la gateway via les Motes.&lt;br /&gt;
* Déchiffrer les données des paquets.&lt;br /&gt;
&lt;br /&gt;
* 5/04 : &lt;br /&gt;
La partie visualisation du serveur est terminée. Nous nous sommes basés sur un projet (node-dc-mongo) utilisant NodeJS pour récupérer les données de MongoDB et dc.js, d3.js pour générer des graphes en Javascript. Le programme (sensor) aussi et peut être utilisé pour envoyer la température du PC sur la gateway. Problème : ces données sont chiffrées et nous n&#039;avons toujours pas réussi à les déchiffrer même en utilisant la clé utilisée sur la mote.&lt;br /&gt;
&lt;br /&gt;
=Photos et Vidéo=&lt;br /&gt;
[[File:Motes.png]]&lt;br /&gt;
[[File:Motes_bas.png]]&lt;br /&gt;
[[File:Gateway.jpeg|1380px]]&lt;br /&gt;
[[File:Motes_Wyres.jpeg|1380px]]&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PM2M-2016-LoRaMote/Suivi&amp;diff=29865</id>
		<title>PM2M-2016-LoRaMote/Suivi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PM2M-2016-LoRaMote/Suivi&amp;diff=29865"/>
		<updated>2016-04-12T14:07:47Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: /* Photos et Vidéo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LoRaMote Wyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etudiants [[PM2M/2016/TP|M2PGI PM2M]]: Erwan CROZE - Alexandre SAHUC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dépôt Git : [https://github.com/PM2M2016-MOTES/PM2M2016-MOTES &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Documents : [[Media:PM2M-2016-LoRaMote.pdf|Rapport]] - [[Media:PM2M-2016-LoRaMote-slides.pdf|Transparents]] - [[Media:PM2M-2016-LoRaMote-flyer.pdf|Flyer]] - Video&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
Ce projet est réalisé dans le cadre de l&#039;UE M2M du Master 2 P GI.&lt;br /&gt;
&lt;br /&gt;
=Objectif du projet=&lt;br /&gt;
Le but (initial) du projet est de faire comminquer deux motes Wyres entres elles&lt;br /&gt;
&lt;br /&gt;
=Matériel utilisé=&lt;br /&gt;
* Motes Wyres&lt;br /&gt;
* Gateway(carte SX1301 IMST iC880A)&lt;br /&gt;
* AWS EC2&lt;br /&gt;
&lt;br /&gt;
=Technologies utilisées (initialement) =&lt;br /&gt;
* [[AWS EC2]]&lt;br /&gt;
* [[TheThingNetwork]]&lt;br /&gt;
** utilise [[RabbitMQ]]&lt;br /&gt;
** utilise [[MongoDB]]&lt;br /&gt;
** utilise [[Node-RED]]&lt;br /&gt;
&lt;br /&gt;
=Technologies utilisées =&lt;br /&gt;
* LoRa&lt;br /&gt;
* TheThingNetwork : un serveur clé en main pour la gestion des paquets LoRa envoyés via UDP.&lt;br /&gt;
** utilise RabbitMQ&lt;br /&gt;
** utilise MongoDB&lt;br /&gt;
** Les modules permettant la réception des paquets LoRa (croft) et leur stockage en base (jolie) sont écrits en Go.&lt;br /&gt;
* La partie visualisation des data est écrit en Javascript, avec un back-end utilisant NodeJS.&lt;br /&gt;
* Les programmes client permettant de récupérer des données des PC et de les envoyer sur la gateway sont écrits en C.&lt;br /&gt;
&lt;br /&gt;
=Plan de développement=&lt;br /&gt;
==Mise en place de la gateway==&lt;br /&gt;
* Installation du packet_forwarder pour la carte [[IMST iC880A]] sur le RPI&lt;br /&gt;
&lt;br /&gt;
==Mise en place de l&#039;infrastructure==&lt;br /&gt;
* Création d&#039;un compte sur [[AWS EC2]]&lt;br /&gt;
* Déployer [[TheThingNetwork]] sur une instance t2.micro gratuite&lt;br /&gt;
* Visualiser les métriques radio avec [[Grafana]]&lt;br /&gt;
&lt;br /&gt;
==Traitement des données==&lt;br /&gt;
* Décoder le payload des messages envoyés par les motes Wyres avec un flow [[Node-RED]]&lt;br /&gt;
* Visualiser les données des motes Wyres avec [[Grafana]]&lt;br /&gt;
* Décoder le payload des messages envoyés par les LoRaMotes Semtech avec un flow [[Node-RED]]&lt;br /&gt;
* Visualiser les données des LoRaMotes Semtech avec [[Grafana]] et les positions avec [[Kibana]]&lt;br /&gt;
&lt;br /&gt;
=Expérimentations et Résultats=&lt;br /&gt;
* 8/03 : Nous recevons les Motes et une documentation fournie par M. Donsez. Notre première tâche sera donc de communiquer via le port USB/série afin de pouvoir envoyer des commandes aux Motes.&lt;br /&gt;
&lt;br /&gt;
* 15/03 : La machine Amazon a été démarrée dans la semaine et nous avons installé dessus NodeJS, InfluxDB et Grafana, la base (a priori) nécessaire pour le traitement des paquets LoRa coté serveur. Du coté des Motes, nous essayons tant bien que mal de communiquer avec le port série et le développement d&#039;un logiciel nous simplifiant la tâche est en cours. Nous décidons aussi que le but du projet sera de remonter les données des capteurs internes des Motes au serveur Amazon. Le schéma sera le suivant : L&#039;une des Motes envoie ses données à l&#039;autre en pair à pair. Cette dernière, reliée à internet (au moyen d&#039;un partage de connexion si nécessaire) enverra ces données sur le serveur Amazon où l&#039;utilisateur pourra les visualiser.&lt;br /&gt;
&lt;br /&gt;
* 22/03 : Après un petit échange avec M. Boulet dans la semaine, nous apprenons que les motes ne peuvent pas communiquer en pair à pair. Il nous faudra donc une gateway afin d&#039;établir un réseau LoRa. Nous en informons M. Donsez qui nous donne la gateway en fin de séance. Du côté Motes, le programme (serialcom) permettant d&#039;envoyer des commandes au motes est terminé.&lt;br /&gt;
&lt;br /&gt;
* 29/03 : Durant la semaine, nous avons intallé le packet forwarder sur la raspberry. Sur la machine Amazon, nous installons TheThingsNetwork. Nous décidons de modifier légèrement le projet pour pouvoir utiliser une version locale de croft et jolie que l&#039;on pourra donc modifier. Par ailleurs, un coup de fil de M. Boulet nous apprend qu&#039;il n&#039;est pas possible de remonter les données des capteurs internes des Motes. Qu&#039;à cela ne tienne, nous décidons donc d&#039;utiliser les motes pour remonter des données de nos propres ordinateurs. Un nouveau problème se présente : TheThingsNetwork utilise MongoDB et non InfluxDB. Or, MongoDB n&#039;est pas supporté par Grafana, initialement prévu pour visualiser les données en base. Il nous faudra donc trouver un autre outil pour visualiser ces données.&lt;br /&gt;
&lt;br /&gt;
En fin de séance, les Motes communiquent avec la gateway ! Cette dernière envoie même les paquets sur la machine Amazon mais elles sont chiffrées. Nous allons donc devoir résoudre 3 problèmes : &lt;br /&gt;
* Il n&#039;existe pas de véritable outil pour visualiser des données stockées dans MongoDB.&lt;br /&gt;
* Trouver un moyen pour récupérer les données de nos ordinateurs et les envoyés sur la gateway via les Motes.&lt;br /&gt;
* Déchiffrer les données des paquets.&lt;br /&gt;
&lt;br /&gt;
* 5/04 : &lt;br /&gt;
La partie visualisation du serveur est terminée. Nous nous sommes basés sur un projet (node-dc-mongo) utilisant NodeJS pour récupérer les données de MongoDB et dc.js, d3.js pour générer des graphes en Javascript. Le programme (sensor) aussi et peut être utilisé pour envoyer la température du PC sur la gateway. Problème : ces données sont chiffrées et nous n&#039;avons toujours pas réussi à les déchiffrer même en utilisant la clé utilisée sur la mote.&lt;br /&gt;
&lt;br /&gt;
=Photos et Vidéo=&lt;br /&gt;
[[File:Motes.png]]&lt;br /&gt;
[[File:Motes_bas.png]]&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Motes_bas.png&amp;diff=29863</id>
		<title>File:Motes bas.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Motes_bas.png&amp;diff=29863"/>
		<updated>2016-04-12T14:04:29Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: Motes deuxième partie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Motes deuxième partie&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Motes.png&amp;diff=29862</id>
		<title>File:Motes.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Motes.png&amp;diff=29862"/>
		<updated>2016-04-12T14:03:49Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: Motes première partie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Motes première partie&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PM2M/2016/TP&amp;diff=29842</id>
		<title>PM2M/2016/TP</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PM2M/2016/TP&amp;diff=29842"/>
		<updated>2016-04-12T12:38:42Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: /* Sujets des mini-projets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Page 2016 des supports de cours et travaux pratiques de l&#039;UE [[Projets M2PGI Services Machine-to-Machine]].&lt;br /&gt;
&lt;br /&gt;
Enseignants 2016 : Didier Donsez, Laurent Lemke&lt;br /&gt;
&lt;br /&gt;
Partie démarrant le 1er Mars 2016 en F112.&lt;br /&gt;
&lt;br /&gt;
Soutenance : 12 Avril 2016 de 13H30 à 17H30.&lt;br /&gt;
&lt;br /&gt;
Rendu fiche de synthèse : 12 Avril 2016 de 13H00&lt;br /&gt;
&lt;br /&gt;
Le mini-projet réalisé en séance a pour objectif la mise en place rapide et agile d&#039;une infrastructure (matérielle et logicielle) de collecte de données capteur. Les mesures de capteurs distribués sont acquises par des dispositifs embarqués et sont remontés vers des serveurs de données hébergés dans un cluster sur un cloud public pour y être analysées (Big Data Analytics) et visualisées (dataviz).&lt;br /&gt;
&lt;br /&gt;
==Support de cours==&lt;br /&gt;
* [http://membres-liglab.imag.fr/donsez/pub/publi/intergiciels-iot.pdf Intergiciels pour l&#039;IoT]&lt;br /&gt;
* [http://membres-liglab.imag.fr/donsez/cours/openhab.pdf La plateforme OpenHAB]&lt;br /&gt;
* [http://membres-liglab.imag.fr/donsez/cours/osgi.pdf La plateforme de services OSGi]&lt;br /&gt;
&lt;br /&gt;
==Etapes==&lt;br /&gt;
* Tutoriel [[OSGi]]&lt;br /&gt;
* [[UE_PEIP_L1|Tutoriel Arduino]]&lt;br /&gt;
* Installation d&#039;[[OpenHAB]]&lt;br /&gt;
** [https://www.dropbox.com/s/9qdsnvtfo3tiaj7/openhab%2Barduino.zip OpenHAB+Arduino]&lt;br /&gt;
* Installation de [[Mosquitto]]&lt;br /&gt;
** Tutoriel [[MQTT]] : https://docs.google.com/presentation/d/1N9OiMxiVWPbsVrAcPfT-J0k1o7a-neIp7TVFGa6AkWM/edit?pli=1#slide=id.g1d409a344_09&lt;br /&gt;
* Installation de [[Node-RED]]&lt;br /&gt;
** et ses extensions [http://flows.nodered.org/node/node-red-contrib-rfxcom Rfxcom], [http://flows.nodered.org/node/node-red-contrib-influxdb Influxdb], [http://flows.nodered.org/node/node-red-contrib-eddystone Eddystone], [http://flows.nodered.org/node/node-red-node-sensortag Sensortag], [http://flows.nodered.org/node/node-red-contrib-openzwave ZWave], [http://flows.nodered.org/node/node-red-contrib-bleacon iBeacon], PubNub, IFTTT, * [http://flows.nodered.org/node/node-red-contrib-amqp AMQP]  ... et [http://flows.nodered.org/ autres]  (en fonction de votre projet).&lt;br /&gt;
* Installation de dashboard de visualisation [[InfluxDB]], [[Grafana]], [[Chronograf]], [[Telegraf]], [[Kapacitor]]&lt;br /&gt;
* Installation de la suite [[Logstash]], [[Elastic Search]] et [[Kibana]]&lt;br /&gt;
* Création de comptes sur [[Amazon EC2]], [[PubNub]], [[IFTTT]] Maker, [[Streamdata.io]], [https://data.sparkfun.com/streams/make Sparkfun Data] ...&lt;br /&gt;
* Installation de [[Spark]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque : pour gagner du temps, utilisez [[Docker]] pour le déploiement des (micro-)services et [[Puppet]] pour la configuration de ceux si c&#039;est nécessaire&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque TRES TRES importante: ne sauvegardez pas les crédentials des services cloud que vous utilisez (AWS, Twitter, ...) dans des dépôts git publiques : placez les dans des documents credentials.json, credentials.properties, credentials.sh, ... et ajoutez les ces documents à .gitignore&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Fiche de synthèse==&lt;br /&gt;
Synthétiser un des sujets suivants en 1 page maximum. La page doit être une entrée du wiki. Chaque synthèse est individuelle.&lt;br /&gt;
* [[SARAH]] (BUCHS Thibaud)&lt;br /&gt;
* [[WirelessHART]] (= BAYLE Stéphane)&lt;br /&gt;
* [[Weightless]] (= AIT-MOULOUD Amine)&lt;br /&gt;
* [[OpenRF]] (= Jean-Yves Bottraud)&lt;br /&gt;
* [[WMBus]]&lt;br /&gt;
* [[Thread]] (Google) (= GUERIN Cedric )&lt;br /&gt;
* [[LoRaWAN]] (= BERGER Stéphane)&lt;br /&gt;
* [[NB-IoT]]&lt;br /&gt;
* [[NB-LTE]]&lt;br /&gt;
* [[HaLow]] (=SUN Huanan) &lt;br /&gt;
* [[Iridium]] (=  DONIAS Pierre)&lt;br /&gt;
* [[Apple Homekit]]&lt;br /&gt;
* [[AllJoyn]](= MAKHLOUF Mehdi)&lt;br /&gt;
* [[OneM2M]]&lt;br /&gt;
* [[OPC-UA]]&lt;br /&gt;
* [[DTN|Delay Tolerant Networks]] (= RUKUNDO Fiston)&lt;br /&gt;
* [[Radio Data System]] (= ABHAMON Ronan)&lt;br /&gt;
* [[Tetra Radio]]&lt;br /&gt;
* [[IPSO]] (= CROZE Erwan)&lt;br /&gt;
* [[GeoJSON]] (= AZOUZI Marwen)&lt;br /&gt;
* [[Avro]] (= FAURE Adrien)&lt;br /&gt;
* [[Thrift]] (= FAURE Maximilien)&lt;br /&gt;
* [[Protobuf]] (= ZAKARI TOURE Ismael)&lt;br /&gt;
* [[Apache Flume]] (= MARQUE Bastien)&lt;br /&gt;
* [[Apache Zeppelin]] (= BIGARD Florian)&lt;br /&gt;
* [[Kaa]]&lt;br /&gt;
* [[Hypercat]] (= CHARTIER Aurélien)&lt;br /&gt;
* [[Jupyter]] (= SAHUC Alexandre)&lt;br /&gt;
* [[AWS IoT]] (= DIAGNE El Hadji Malick)&lt;br /&gt;
* [[Brillo]] (= MENGOLI Jean-Luc)&lt;br /&gt;
* [[EVRYTHNG]] (= OLVERA BADILLO Angélica)&lt;br /&gt;
* [[OGC SensorThings]] &lt;br /&gt;
* [[Zephyr Project]]&lt;br /&gt;
* [[OpenEnergyMonitor]] (= Loïc FAGNO)&lt;br /&gt;
* [[PlatformIO]](= BANWARTH Pierre)&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Capteurs et Actionneurs==&lt;br /&gt;
[[Image:Genuino101.jpg|200px|thumb|right|Genuino 101]]&lt;br /&gt;
# STM32 Nucleo + Shield LoRa SX1276 + Shield Météo&lt;br /&gt;
# STM32 Nucleo + Shield NFC + Shield BLE (avec [http://www.eclipse.org/paho/clients/android/sample/ client Android MQTT])&lt;br /&gt;
# STM32 Nucleo + [[SparkFun FM Tuner Evaluation Board - Si4703|Récepteur RDS]] + [[ESP8266]]&lt;br /&gt;
# Sensors ZWave + Clé ZWave&lt;br /&gt;
# Sensors RFXCom 433MHz + Clé RFXCom 433MHz&lt;br /&gt;
# STM32 Nucleo + Shield BLE (capture de beacons [[iBeacon]] &amp;amp; [[AltBeacon]]) (avec [http://www.eclipse.org/paho/clients/android/sample/ client Android MQTT])&lt;br /&gt;
# Sensors [[enOcean]] (à vérifier auprès de Jérôme Maisonnasse)&lt;br /&gt;
# Sensors [[Zigbee]] (à vérifier auprès de Jérôme Maisonnasse)&lt;br /&gt;
# Sensors [[XBee]] (à vérifier auprès de Jérôme Maisonnasse)&lt;br /&gt;
# Carte Wifi [[ESP8266]] (IDE Arduino) + Shield [[OpenEnergyMonitor]]&lt;br /&gt;
# Carte Wifi [[ESP8266]] ([[Lua]]) + Shield [[OpenEnergyMonitor]]&lt;br /&gt;
# Carte de démonstration [[SigFox]]&lt;br /&gt;
# Carte [[Intel Curie]] [[Genuino 101]] (avec [http://www.eclipse.org/paho/clients/android/sample/ client Android MQTT])&lt;br /&gt;
# Carte [[Intel Curie]] [[Genuino 101]] (avec [http://www.eclipse.org/paho/clients/android/sample/ client Android MQTT]) +Ceinture cardio [http://www.decathlon.fr/cardio-bluetooth-smart-40-id_8288269.html Geonaute]&lt;br /&gt;
# Carte Xadow GSM+BLE du [[RePhone]] (voir [http://www.instructables.com/id/ArduinoPhone-20-an-Open-Source-Mobile-Phone-Based-/ ArduinoPhone 2.0])&lt;br /&gt;
# Carte LoRa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mini-Projet==&lt;br /&gt;
[[Image:M2MArchi2015-001.jpg|200px|right|thumb|Architecture Mini-Projet]]&lt;br /&gt;
&lt;br /&gt;
Ce mini-projet consiste a mettre en place une infrastructure de collecte de données capteur. L&#039;acquisition des mesures de capteurs distribués se fait sur une carte [[STM32 Nucleo]], sur une carte [[Intel Galileo]] ou sur un téléphone Android. Les technologies de comminucation sont : USB Serial, BLE, [[LoRa]], Ethernet, WiFi. Les données sont remontées dans des messages vers un serveur ([[Node-RED]]) via un &amp;quot;broker&amp;quot; [[PubSub]] ([[MQTT]] ([[Mosquitto]] ou [[RabbitMQ]]), [[Apache Kafka]], [[PubNub]], [[PubSubHubbub]], [[Socket.io]], [[WebRTC]] ...). Les formats des messages peuvent être [[JSON]] ([[GeoJSON]]), [[BSON]], [[CSV]], [[NMEA 0183]], binaire, [[XML]] ([[EEML]], [[KML]], [[Adaptive Machine Messaging Protocol (AMMP)|AMMP]] ...) ... Les données peuvent être stockées dans une base de données (SQL ou [[NoSQL]] comme [[MongoDB]], [[Redis.io]], [[InfluxDB]], ...) et visualisées en différé ou en direct ([[Grafana]], [[D3.js]], [[OpenHAB]] via le connecteur [[MQTT]], [[Bootleaf]] pour les données géolocalisées ...) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sujets des mini-projets===&lt;br /&gt;
&lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets PM2M 2015-2016&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Étudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Dépôt git&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Matériel&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | Géolocalisation Outdoor sans GPS&lt;br /&gt;
 | AVRIL	Sébastien, BOTTRAUD	Jean-Yves, FAGNO 	Loïc, BERGER	Stéphane&lt;br /&gt;
 | [[PM2M-2016-GeolocOutdoor/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M-2016-GeolocOutdoor/pm2m &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-GeolocOutdoor.pdf|Rapport]] - [[Media:PM2M-2016-GeolocOutdoor-slides.pdf|Transparents]] - [[Media:PM2M-2016-GeolocOutdoor-flyer.pdf|Flyer]]&lt;br /&gt;
 | Cartes [[STM32 Nucleo]] (x4), Shield MBed [[LoRa]] SX1276 (x4), Semtech LoRaMote (x2) &lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | Monitoring de consommation électrique avec [[OpenEnergyMonitor]]&lt;br /&gt;
 | AZOUZI	MARWEN, FAURE	ADRIEN&lt;br /&gt;
&lt;br /&gt;
 | [[PM2M-2016-Presence/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M-2016-Presence/pm2m &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-Presence.pdf|Rapport]] - [[Media:PM2M-2016-Presence-slides.pdf|Transparents]] - [[Media:PM2M-2016-Presence-flyer.pdf|Flyer]]&lt;br /&gt;
 | ESP8266 + Current Sensor + FTDI + Breadboard&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | Feuille de présence apprenti NFC &lt;br /&gt;
 | FAURE	MAXIMILIEN, MARQUE	BASTIEN&lt;br /&gt;
&lt;br /&gt;
 | [[PM2M-2016-NFCApprenti/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M-2016-NFCApprenti/pm2m &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-NFCApprenti.pdf|Rapport]] - [[Media:PM2M-2016-NFCApprenti-slides.pdf|Transparents]] - [[Media:PM2M-2016-NFCApprenti-flyer.pdf|Flyer]]&lt;br /&gt;
 | BBB + Lecteur NFC ACR 211 + Tags NFC&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | LoRaMote Wyres&lt;br /&gt;
 | SAHUC	Alexandre, CROZE	Erwan&lt;br /&gt;
&lt;br /&gt;
 | [[PM2M-2016-LoRaMote/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M2016-MOTES/PM2M2016-MOTES &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-LoRaMote.pdf|Rapport]] - [https://github.com/PM2M2016-MOTES/PM2M2016-MOTES/blob/master/expo/expoM2M.pdf &#039;&#039;&#039;Transparents&#039;&#039;&#039;] - [[Media:PM2M-2016-LoRaMote-flyer.pdf|Flyer]]&lt;br /&gt;
 | 2 Motes Wyres + RPI1 + 1 LoRaMote Semtech + 1 carte SX1301 [[IMST iC880A]] (FTDI)&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | Méteo 433 MHz&lt;br /&gt;
 | CHARTIER	Aurelien, MENGOLI	JEAN-LUC&lt;br /&gt;
 | [[PM2M-2016-Meteo433/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M2016-CHARTIER-MENGOLI/M2M_Projet &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-Meteo433.pdf|Rapport]] - [[Media:M2M-Chartier-Mengoli_Presentation.pptx|Transparents]] - [[Media:PM2M-2016-Meteo433-flyer.pdf|Flyer]]&lt;br /&gt;
 | BBB + RFXCom + 2 Sondes (UV, Thermo) + Modules TxRx 433&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | Lecteur NFC Sigfox (Application : Gestion des rondes de surveillance)&lt;br /&gt;
 | AIT-MOULOUD	Amine, GUERIN	CEDRIC&lt;br /&gt;
 | [[PM2M-2016-NFCSigfox/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M-2016-NFCSigfox/pm2m &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-NFCSigfox.pdf|Rapport]] - [[Media:PM2M-2016-NFCSigfox-slides.pdf|Transparents]] &lt;br /&gt;
 | Platine  Snooplab Areku [[SigFox]] + Shield [[NFC]] + Tag NFC&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Collecte et analyse de messages RDS par radio FM&lt;br /&gt;
 | ABHAMON	Ronan, BIGARD	FLORIAN&lt;br /&gt;
 | [[PM2M-2016-RDSMining/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M2016-A-B/ &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [https://github.com/PM2M2016-A-B/FM-tuner/blob/master/README.md &#039;&#039;&#039;Rapport&#039;&#039;&#039;] - [[Media:Pres.pdf|Transparents]]&lt;br /&gt;
 | [[BeagleBone Black]] + [[SparkFun FM Tuner Evaluation Board - Si4703|Sparkfun FM Tuner]] + Ecran [[Graphic LCD 84x48 - Nokia 5110]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | Serrure intelligente - voir [[Touchkey]] &amp;amp; [[SmartSelfService/FicheSuivi2014|SmartSelfService]]&lt;br /&gt;
 | BAYLE	STEPHANE, BUCHS 	THIBAUD, MAKHLOUF	MEHDI&lt;br /&gt;
 | [[PM2M-2016-NfcCoffrefortStm32Nucleo/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M2016-STM32NUCLEO/M2M &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-NfcCoffrefort-slides.pdf|Transparents]]&lt;br /&gt;
 | [[STM32 Nucleo]] + Shield Nucleo [[NFC]] + [[Raspberry Pi]] + Coffre-fort de [[FabMSTIC]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | Compteur de passage de véhicules avec [[OpenCV]] (A CONFIRMER)&lt;br /&gt;
 | OLVERA BADILLO	ANGELICA, RUKUNDO	Fiston, SUN	HUANAN&lt;br /&gt;
 | [[PM2M-2016-CompteurVehicules/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/AngieMoomin/PM2M2016-Galileo &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-XXXXX.pdf|Rapport]] - [[Media:PM2M-2016-XXXXX-slides.pdf|Transparents]] - [[Media:PM2M-2016-XXXXX-flyer.pdf|Flyer]]&lt;br /&gt;
 | [[Intel Galileo]] + Alim 5V + Module Wifi [[ESP8266]] + WebCam USB&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | Culture Hydroponique&lt;br /&gt;
 | BANWARTH	PIERRE, DONIAS	PIERRE&lt;br /&gt;
 | [[PM2M-2016-CultureHydroponique/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PierreBanwarth/M2M_E-Grow &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-CultureHydroponique.pdf|Rapport]] - [[Media:PM2M-2016-CultureHydroponique-slides.pdf|Transparents]] - [[Media:PM2M-2016-CultureHydroponique-flyer.pdf|Flyer]]&lt;br /&gt;
 | Arduino Uno, Pompe Peristalique, LEDs, Enceintes, Capteur Ultrason, 2 raspberry pi 2, [[AgriSensor_:_Arduino-Based_Sensor_for_Agriculture|AgriSensor]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | Capteurs XBee&lt;br /&gt;
 | DIAGNE EI	HADJI MALICK, ZAKARI TOURE	ISMAEL&lt;br /&gt;
 | [[PM2M-2016-XBee/Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
 | [https://github.com/PM2M-2016-XBee/pm2m &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
 | [[Media:PM2M-2016-XBee.pdf|Rapport]] - [[Media:PM2M-2016-XBee-slides.pdf|Transparents]] - [[Media:PM2M-2016-XBee-flyer.pdf|Flyer]]&lt;br /&gt;
 | [[Arduino FIO]] + FTDI + 2 [[XBee S1]] + Xbee Explorer &lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Contenu général des mini-projets==&lt;br /&gt;
Les équipes ne font qu&#039;une partie des manipulations en fonction du sujet du mini-projet affecté.&lt;br /&gt;
&lt;br /&gt;
====[[CoAP]] Binding for [[OpenHAB]]====&lt;br /&gt;
* avec [[Californium]]&lt;br /&gt;
* avec https://github.com/eclipse/californium/pull/25&lt;br /&gt;
&lt;br /&gt;
====Extension de [[Node-RED]]====&lt;br /&gt;
Création ou Amélioration de Nodes&lt;br /&gt;
* Node Crypto (avec https://nodejs.org/api/crypto.html)&lt;br /&gt;
* Node [[Apache Kafka]]&lt;br /&gt;
* Node [[Apache Flume]]&lt;br /&gt;
* Node [[CoAP]]&lt;br /&gt;
* Node [[UPnP]]&lt;br /&gt;
* Node [[DTLS]] en étendant le node UDP&lt;br /&gt;
* Node [[Radio Data System]] pour [[SparkFun FM Tuner Evaluation Board - Si4703]]&lt;br /&gt;
* Node [[SigFox]] (uplink et downlink)&lt;br /&gt;
* Node Sérialisation/Déserialisation [[Avro]]&lt;br /&gt;
* Node Sérialisation/Déserialisation [[Thrift]]&lt;br /&gt;
* Node Sérialisation/Déserialisation [[Protobuf]]&lt;br /&gt;
* Node [[Phant.io]] pour [https://data.sparkfun.com/streams/make Sparkfun Data]&lt;br /&gt;
* Node [[Streamdata.io]]&lt;br /&gt;
* Node [[SensorTag2015]] (sur la base du noeud [http://flows.nodered.org/node/node-red-node-sensortag SensorTag])&lt;br /&gt;
* Node Provider SMS Twilio&lt;br /&gt;
* Node [[Provider SMS Free Mobile]]&lt;br /&gt;
* Node Provider SMS Orange Mobile&lt;br /&gt;
&lt;br /&gt;
Le code devra être recontribué en open-source sur GitHub et catalogué dans http://flows.nodered.org/&lt;br /&gt;
&lt;br /&gt;
====Déploiement sur plateforme Cloud====&lt;br /&gt;
Le serveur [[Node-RED]] et le &amp;quot;broker&amp;quot; [[PubSub]] [[MQTT]] ([[Mosquitto]] ou [[RabbitMQ]]) peuvent être hébergé sur une plateforme cloud comme [[Windows Azure]] ou [[Amazon EC2]], [[Heroku]], [[IBM Bluemix]] ou sur votre machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention, Eduroam bloque le port 1883 du protocole [[MQTT]] (entre autre).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====[[PubSub]] des mesures capteur avec [[Apache Kafka]]====&lt;br /&gt;
[[Image:GPSKafkaStormAzureDemo.png|200px|right|thumb|GPS &amp;gt; Kafka &amp;gt; Storm on Azure Demo]]&lt;br /&gt;
Remplacer le broker [[MQTT]] par le broker [[PubSub]] [[Apache Kafka]] qui peut fonctionner en configuration distribuée et répliquée (plusieurs serveurs sur une plateforme cloud).&lt;br /&gt;
&lt;br /&gt;
====[[PubSub]] des mesures capteur avec [[Apache Flume]]====&lt;br /&gt;
Remplacer le broker [[MQTT]] par le broker [[PubSub]] [[Apache Flume]] qui peut fonctionner en configuration distribuée et répliquée (plusieurs serveurs sur une plateforme cloud).&lt;br /&gt;
&lt;br /&gt;
====Collecte, Stockage et Visualisation des mesures capteur avec [[Logstash]], [[Elastic Search]], [[Kibana]]====&lt;br /&gt;
&lt;br /&gt;
voir [http://flows.nodered.org/node/node-red-contrib-elasticsearch3 NodeRED ElasticSearch3]&lt;br /&gt;
&lt;br /&gt;
====Affichage des positions avec [[Bootleaf]]====&lt;br /&gt;
Refactorer et améliorer [[Bootleaf]] afin de visualiser en temps réel les données géolocalisées de vos capteurs ou des traces (séries temporelles de positions). Exemple: tester la présence d&#039;un champ latlon, latlonalt, geo, ...  dans le JSON des flows [[Node-RED]].&lt;br /&gt;
&lt;br /&gt;
====Analyse des mesures capteurs en temps réel avec [[Spark|Apache Spark Streaming]]====&lt;br /&gt;
Installer [[Spark]] sur un petit cluster EC2 (1 master et 2 slaves en Ubuntu 14.04 t2.micro).&lt;br /&gt;
&lt;br /&gt;
S&#039;inspirer du script Scala MQTTCount pour calculer des valeurs agrégées (avg, min, max) des groupes de capteurs sur des fenêtres de 5 minutes.&lt;br /&gt;
&lt;br /&gt;
Faire de même avec les brokers [[Apache Kafka]] et [[Apache Flume]]&lt;br /&gt;
&lt;br /&gt;
====Intégration à un ESB [[Apache Camel]]====&lt;br /&gt;
Compléter le tutoriel avec un déploiement de composants [[Apache Camel]]&lt;br /&gt;
Vous pourrez utiliser les composants suivants&lt;br /&gt;
* https://camel.apache.org/weather.html&lt;br /&gt;
* https://camel.apache.org/mqtt.html&lt;br /&gt;
** http://tingenek.wordpress.com/category/mqtt/&lt;br /&gt;
* https://camel.apache.org/rss.html&lt;br /&gt;
* https://camel.apache.org/esper.html&lt;br /&gt;
* https://camel.apache.org/mongodb.html&lt;br /&gt;
** https://code.google.com/a/apache-extras.org/p/camel-extra/wiki/EsperDemo&lt;br /&gt;
* [[InfluxDB]]&lt;br /&gt;
&lt;br /&gt;
====Monitoring de votre infrastructure avec [[Telegraf]], [[InfluxDB]], [[Grafana]] et [[Kapacitor]]====&lt;br /&gt;
&lt;br /&gt;
====Monitoring de votre infrastructure avec [[AWS Cloudwatch]] et [[Grafana]]====&lt;br /&gt;
&lt;br /&gt;
Pour monitorer les machines qui hébergent les serveurs ([[Mosquitto]], ...) sur AWS EC2:&lt;br /&gt;
* Activer [[AWS Cloudwatch]]&lt;br /&gt;
* Configurer [[Grafana]] pour AWS Cloudwatch ([http://docs.grafana.org/v2.6/datasources/cloudwatch/ lien]).&lt;br /&gt;
&lt;br /&gt;
==Soutenances==&lt;br /&gt;
&lt;br /&gt;
====Planning des soutenances====&lt;br /&gt;
COMING SOON&lt;br /&gt;
&lt;br /&gt;
====Instructions pour les soutenances des mini-projets====&lt;br /&gt;
&lt;br /&gt;
* chaque soutenance dure 15 minutes comportant une présentation de 7 minutes ainsi qu&#039;une démonstration de 5 minutes et 3 à 5 minutes de questions/réponses.&lt;br /&gt;
* respectez le temps donc repetez la &lt;br /&gt;
* remplissez le doodle pour choisir un creneau de passage&lt;br /&gt;
* la présentation mettra en avant&lt;br /&gt;
** le titre (avec les noms prénoms des binômes)&lt;br /&gt;
** les applications IoT cibles/envisagées&lt;br /&gt;
** le ou les architectures (successivement) implémentées,&lt;br /&gt;
** les composants logiciels et matériels utilisés,&lt;br /&gt;
** les métriques (langages de programmation, sloc, performance ...),&lt;br /&gt;
** les problèmes rencontrés et les solutions élaborées,&lt;br /&gt;
** la conclusion&lt;br /&gt;
** des perspectives possibles à votre développement.&lt;br /&gt;
&lt;br /&gt;
Le code, le rapport et le PDF de la presentation doivent être livré dans un dépôt Github la veille de la soutenance.&lt;br /&gt;
Le rapport qui détaille les éléments de la présentation sera livré dans un README.md ou README.html dans le dépôt GitHub.&lt;br /&gt;
&lt;br /&gt;
Envoyez le lien vers le dépôt Github (code + présentation) avant la soutenance.&lt;br /&gt;
&lt;br /&gt;
La présentation peut-être réalisée avec [[Reveal.js]].&lt;br /&gt;
&lt;br /&gt;
Pensez a répéter vos présentations.&lt;br /&gt;
&lt;br /&gt;
==Projets==&lt;br /&gt;
&lt;br /&gt;
==Matériel à disposition==&lt;br /&gt;
* [[Intel Galileo]]&lt;br /&gt;
* http://intel-software-academic-program.com/courses/#iot&lt;br /&gt;
** http://intel-software-academic-program.com/courses/diy/Intel_Academic_-_DIY_-_InternetOfThings/IntelAcademic_IoT_09_Arduino_Motor_Shield.pdf&lt;br /&gt;
* [[Gas Sensors]]&lt;br /&gt;
* [[DHT11/DHT21/DHT22 etc. Temperature &amp;amp; Humidity sensors]]&lt;br /&gt;
* [[SCL3711]] NFC Reader --&amp;gt; voir [[NFCpy]]&lt;br /&gt;
* [[Capteur de pression BMP085]]&lt;br /&gt;
* [[High Sensitivity Alarm Vibration Sensor Module]]&lt;br /&gt;
* [[PIR Motion Sensor]]&lt;br /&gt;
* [[BMP085 Pressure Sensor]]&lt;br /&gt;
* [[CC2541 SensorTag Development Kit]]&lt;br /&gt;
* [[Socket.io]]&lt;br /&gt;
* [[STM32 Nucleo]]&lt;br /&gt;
** Shield BlueNRG&lt;br /&gt;
* 2 Shields [[LoRa]] pour Arduino ([http://www.labfab.fr/portfolio/lora-fabian/ LoRaFabian]) à brancher sur Galileo et STM32 Nucleo.&lt;br /&gt;
** Il faut porter les sketchs Arduino https://github.com/Wi6labs/lorafabian/tree/master/ARDUINO_SKETCH via MBed et Galileo.&lt;br /&gt;
&lt;br /&gt;
==Visualisation==&lt;br /&gt;
* [https://github.com/PaulLabat/mqtt-panel MQTT Panel]&lt;br /&gt;
* MQTT over Websocket&lt;br /&gt;
** https://www.npmjs.org/package/mqtt-ws&lt;br /&gt;
** http://mqtt.org/wiki/doku.php/mqtt_over_websockets&lt;br /&gt;
* [[Leaflet.js]]  modern open-source JavaScript library for mobile-friendly interactive maps&lt;br /&gt;
* [[Morris.js]] Charts in Javascript&lt;br /&gt;
* [[Grafana]]&lt;br /&gt;
* [[Graphite]]&lt;br /&gt;
* [[Ganglia]]&lt;br /&gt;
&lt;br /&gt;
==Stockage==&lt;br /&gt;
* [[InfluxDB]]&lt;br /&gt;
* [[MongoDB]]&lt;br /&gt;
&lt;br /&gt;
==Liens==&lt;br /&gt;
* [[Intel Galileo]]&lt;br /&gt;
* http://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2014&lt;br /&gt;
* https://github.com/SmartDollHouse&lt;br /&gt;
* https://twitter.com/FablabAIR&lt;br /&gt;
&lt;br /&gt;
==Autres==&lt;br /&gt;
* [[IoTSyS]]&lt;br /&gt;
* [https://github.com/denschu/home.pi  Home.pi]&lt;br /&gt;
* [[OM2M]]&lt;br /&gt;
* [[Gladys]]&lt;br /&gt;
* DEPRECATED :  [[MQTT Panel]] avec [http://code.shutterstock.com/rickshaw/examples/ rickshaw]&lt;br /&gt;
* [https://github.com/SmartDollHouse Dépôt GitHub]&lt;br /&gt;
* [http://www.oezratty.net/wordpress/2016/rapport-ces-2016/ Rapport 2016 sur le CES de Olivier Ezratty]&lt;br /&gt;
* [[Flot Charts]]&lt;br /&gt;
&lt;br /&gt;
==Galerie 2016==&lt;br /&gt;
&lt;br /&gt;
==Galerie 2015==&lt;br /&gt;
&lt;br /&gt;
==Galerie 2014==&lt;br /&gt;
[[Image:PM2M214-001.jpg|200px|PM2M 2014]][[Image:PM2M214-002.jpg|200px|PM2M 2014]][[Image:PM2M214-003.jpg|200px|PM2M 2014]][[Image:PM2M214-004.jpg|200px|PM2M 2014]][[Image:PM2M214-005.jpg|200px|PM2M 2014]][[Image:PM2M214-006.jpg|200px|PM2M 2014]][[Image:PM2M214-007.jpg|200px|PM2M 2014]][[Image:PM2M214-008.jpg|200px|PM2M 2014]]&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:ExpoM2M.pdf&amp;diff=29832</id>
		<title>File:ExpoM2M.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:ExpoM2M.pdf&amp;diff=29832"/>
		<updated>2016-04-12T12:10:44Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: Présentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Présentation&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PM2M-2016-LoRaMote/Suivi&amp;diff=29674</id>
		<title>PM2M-2016-LoRaMote/Suivi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PM2M-2016-LoRaMote/Suivi&amp;diff=29674"/>
		<updated>2016-04-11T18:28:40Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LoRaMote Wyres&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etudiants [[PM2M/2016/TP|M2PGI PM2M]]: Erwan CROZE - Alexandre SAHUC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dépôt Git : [https://github.com/PM2M2016-MOTES/PM2M2016-MOTES &#039;&#039;&#039;github&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Documents : [[Media:PM2M-2016-LoRaMote.pdf|Rapport]] - [[Media:PM2M-2016-LoRaMote-slides.pdf|Transparents]] - [[Media:PM2M-2016-LoRaMote-flyer.pdf|Flyer]] - Video&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
Ce projet est réalisé dans le cadre de l&#039;UE M2M du Master 2 P GI.&lt;br /&gt;
&lt;br /&gt;
=Objectif du projet=&lt;br /&gt;
Le but (initial) du projet est de faire comminquer deux motes Wyres entres elles&lt;br /&gt;
&lt;br /&gt;
=Matériel utilisé=&lt;br /&gt;
* Motes Wyres&lt;br /&gt;
* Gateway&lt;br /&gt;
* AWS EC2&lt;br /&gt;
&lt;br /&gt;
=Technologies utilisées (initialement) =&lt;br /&gt;
* [[AWS EC2]]&lt;br /&gt;
* [[TheThingNetwork]]&lt;br /&gt;
** utilise [[RabbitMQ]]&lt;br /&gt;
** utilise [[MongoDB]]&lt;br /&gt;
** utilise [[Node-RED]]&lt;br /&gt;
&lt;br /&gt;
=Technologies utilisées =&lt;br /&gt;
* LoRa&lt;br /&gt;
* TheThingNetwork : un serveur clé en main pour la gestion des paquets LoRa envoyés via UDP.&lt;br /&gt;
** utilise RabbitMQ&lt;br /&gt;
** utilise MongoDB&lt;br /&gt;
** Les modules permettant la réception des paquets LoRa (croft) et leur stockage en base (jolie) sont écrits en Go.&lt;br /&gt;
* La partie visualisation des data est écrit en Javascript, avec un back-end utilisant NodeJS.&lt;br /&gt;
* Les programmes client permettant de récupérer des données des PC et de les envoyer sur la gateway sont écrits en C.&lt;br /&gt;
&lt;br /&gt;
=Plan de développement=&lt;br /&gt;
==Mise en place de la gateway==&lt;br /&gt;
* Installation du packet_forwarder pour la carte [[IMST iC880A]] sur le RPI&lt;br /&gt;
&lt;br /&gt;
==Mise en place de l&#039;infrastructure==&lt;br /&gt;
* Création d&#039;un compte sur [[AWS EC2]]&lt;br /&gt;
* Déployer [[TheThingNetwork]] sur une instance t2.micro gratuite&lt;br /&gt;
* Visualiser les métriques radio avec [[Grafana]]&lt;br /&gt;
&lt;br /&gt;
==Traitement des données==&lt;br /&gt;
* Décoder le payload des messages envoyés par les motes Wyres avec un flow [[Node-RED]]&lt;br /&gt;
* Visualiser les données des motes Wyres avec [[Grafana]]&lt;br /&gt;
* Décoder le payload des messages envoyés par les LoRaMotes Semtech avec un flow [[Node-RED]]&lt;br /&gt;
* Visualiser les données des LoRaMotes Semtech avec [[Grafana]] et les positions avec [[Kibana]]&lt;br /&gt;
&lt;br /&gt;
=Expérimentations et Résultats=&lt;br /&gt;
* 8/03 : Nous recevons les Motes et une documentation fournie par M. Donsez. Notre première tâche sera donc de communiquer via le port USB/série afin de pouvoir envoyer des commandes aux Motes.&lt;br /&gt;
&lt;br /&gt;
* 15/03 : La machine Amazon a été démarrée dans la semaine et nous avons installé dessus NodeJS, InfluxDB et Grafana, la base (a priori) nécessaire pour le traitement des paquets LoRa coté serveur. Du coté des Motes, nous essayons tant bien que mal de communiquer avec le port série et le développement d&#039;un logiciel nous simplifiant la tâche est en cours. Nous décidons aussi que le but du projet sera de remonter les données des capteurs internes des Motes au serveur Amazon. Le schéma sera le suivant : L&#039;une des Motes envoie ses données à l&#039;autre en pair à pair. Cette dernière, reliée à internet (au moyen d&#039;un partage de connexion si nécessaire) enverra ces données sur le serveur Amazon où l&#039;utilisateur pourra les visualiser.&lt;br /&gt;
&lt;br /&gt;
* 22/03 : Après un petit échange avec M. Boulet dans la semaine, nous apprenons que les motes ne peuvent pas communiquer en pair à pair. Il nous faudra donc une gateway afin d&#039;établir un réseau LoRa. Nous en informons M. Donsez qui nous donne la gateway en fin de séance. Du côté Motes, le programme (serialcom) permettant d&#039;envoyer des commandes au motes est terminé.&lt;br /&gt;
&lt;br /&gt;
* 29/03 : Durant la semaine, nous avons intallé le packet forwarder sur la raspberry. Sur la machine Amazon, nous installons TheThingsNetwork. Nous décidons de modifier légèrement le projet pour pouvoir utiliser une version locale de croft et jolie que l&#039;on pourra donc modifier. Par ailleurs, un coup de fil de M. Boulet nous apprend qu&#039;il n&#039;est pas possible de remonter les données des capteurs internes des Motes. Qu&#039;à cela ne tienne, nous décidons donc d&#039;utiliser les motes pour remonter des données de nos propres ordinateurs. Un nouveau problème se présente : TheThingsNetwork utilise MongoDB et non InfluxDB. Or, MongoDB n&#039;est pas supporté par Grafana, initialement prévu pour visualiser les données en base. Il nous faudra donc trouver un autre outil pour visualiser ces données.&lt;br /&gt;
&lt;br /&gt;
En fin de séance, les Motes communiquent avec la gateway ! Cette dernière envoie même les paquets sur la machine Amazon mais elles sont chiffrées. Nous allons donc devoir résoudre 3 problèmes : &lt;br /&gt;
* Il n&#039;existe pas de véritable outil pour visualiser des données stockées dans MongoDB.&lt;br /&gt;
* Trouver un moyen pour récupérer les données de nos ordinateurs et les envoyés sur la gateway via les Motes.&lt;br /&gt;
* Déchiffrer les données des paquets.&lt;br /&gt;
&lt;br /&gt;
* 5/04 : &lt;br /&gt;
La partie visualisation du serveur est terminée. Nous nous sommes basés sur un projet (node-dc-mongo) utilisant NodeJS pour récupérer les données de MongoDB et dc.js, d3.js pour générer des graphes en Javascript. Le programme (sensor) aussi et peut être utilisé pour envoyer la température du PC sur la gateway. Problème : ces données sont chiffrées et nous n&#039;avons toujours pas réussi à les déchiffrer même en utilisant la clé utilisée sur la mote.&lt;br /&gt;
&lt;br /&gt;
=Photos et Vidéo=&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Jupyter&amp;diff=28400</id>
		<title>Jupyter</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Jupyter&amp;diff=28400"/>
		<updated>2016-03-29T20:31:03Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://jupyter.org/&lt;br /&gt;
&lt;br /&gt;
Jupyter est un projet permettant de créer et partager des documents interactifs au travers d&#039;une application web.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fonctionalités ==&lt;br /&gt;
&lt;br /&gt;
Cette application permet notamment de créer des documents contenant du texte, des équations; mais aussi la possibilité d&#039;exécuter du code directement au sein des documents.&lt;br /&gt;
&lt;br /&gt;
Les documents sont composés de cellules. Une cellule peut contenir un code source, du texte brut ou du texte utilisant la syntaxe du markdown git (et qui sera interprété lors du rendu). Il est possible d&#039;exécuter le code d&#039;une cellule dans l&#039;éditeur afin de vérifier son résultat.&lt;br /&gt;
Le noyau (exécutant le code) est un processsus lié au document et non à une cellule. De ce fait, il est possible de définir une variable dans une cellule puis de l&#039;utiliser dans une autre. Ceci permet donc de rendre la document plus lisible puisqu&#039;il est possible de diviser le code en plusieurs cellules (et par exemple de pouvoir insérer des cellules expliquant le but du code que l&#039;on vient d&#039;écrire). Dans le cas où le code écrit sur le sortie standard, la cellule qui le contient est automatiquement modifée afin de faire apparaitre la sortie du script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jupyter offre la possibilité d&#039;éditer un document via un éditeur web. Cet éditeur intégre un mini-gestionnaire de version pusqu&#039;il est possible de sauvegarder l&#039;état d&#039;un document en définissant un checkpoint et par la suite de revenir au dernier checkpoint afin d&#039;annuler les dernières modifications. Il es possible d&#039;exporter les document au format Jupyter (pour ensuite pouvoir les visionner dans Jupyter Notebook Viewer, une application faisant partie du projet Jupyter et permettant de visualiser et partager les documents Jupyter), Python, HTML, Markdown, reST et PDF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il est possible de partager simplement un document Jupyter par mail, Dropbox, GitHub ou en utilisant Jupyter Notebook Viewer.&lt;br /&gt;
Il est possible d&#039;inclure des images, des vidéos ou des widgets permettant de manipuler et visualiser les données en temps réel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Le projet Jupyter ==&lt;br /&gt;
Jupyter Notebook n&#039;est qu&#039;une partie du projet Jupyter. Ce dernier est composé de 4 grands sous-projets.&lt;br /&gt;
&lt;br /&gt;
Jupyter Notebook, donc, pour l&#039;édition de document en ligne.&lt;br /&gt;
&lt;br /&gt;
Jupyter Nbviewer pour partager simplement des docuements édités avec Jupyter Notebook.&lt;br /&gt;
&lt;br /&gt;
IPython, le noyau de référence du projet de Jupyter, permettant d&#039;interpréter des scripts Python. D&#039;autres noyaux sont disponibles (environ une soixantaine) mais sont développés par des tierces parties et ne sont donc pas considérés comme faisant partie intégrante du projet Jupyter.&lt;br /&gt;
&lt;br /&gt;
Jupyterhub une version multi-utilisateur de Jupyter Notebook, conçu pour un usage professionnel au sein d&#039;une entreprise ou des universités. Elle permet notamment  une authentification des utilisateurs et une mise à l&#039;échelle de l&#039;application en déployant des conteneurs Docker préparés à l&#039;avance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Le moyen le plus simple d&#039;insatller Jupyter est d&#039;utiliser Anaconda. Ananconda est un [installateur]. Il est possible de le récupérer sur leur site officiel ou au moyen de la commande :&lt;br /&gt;
 &lt;br /&gt;
wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda-2.3.0-Linux-x86_64.sh&lt;br /&gt;
&lt;br /&gt;
(version 64 bits)&lt;br /&gt;
&lt;br /&gt;
Par la suite, il suffira d&#039;exécuter le script Anaconda-2.3.0-Linux-x86_64.sh pour installer anaconda.&lt;br /&gt;
Une fois Anaconda installé, il suffit d&#039;exécuter la commande &lt;br /&gt;
&lt;br /&gt;
conda install jupyter&lt;br /&gt;
&lt;br /&gt;
pour installer Jupyter et ses dépendances.&lt;br /&gt;
Anaconda n&#039;installe que le noyau IPython (pour les scripts Python). Pour installer d&#039;autres noyaux au sein de Jupyter, référez-vous à la documentation ([https://ipython.readthedocs.org/en/latest/install/kernel_install.html https://ipython.readthedocs.org/en/latest/install/kernel_install.html])&lt;br /&gt;
&lt;br /&gt;
Pour lancer Jupyter, un simple &lt;br /&gt;
&lt;br /&gt;
jupyter notebook&lt;br /&gt;
&lt;br /&gt;
suffit. Vous pouvez maintenant accéder à l&#039;éditeur sur localhost:8888/tree.&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Jupyter&amp;diff=28384</id>
		<title>Jupyter</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Jupyter&amp;diff=28384"/>
		<updated>2016-03-28T20:48:48Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://jupyter.org/&lt;br /&gt;
&lt;br /&gt;
Jupyter est un projet permettant de créer et partager des documents interactifs au travers d&#039;une application web.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fonctionalités ==&lt;br /&gt;
&lt;br /&gt;
Cette application permet notamment de créer des documents contenant du texte, des équations; mais aussi la possibilité d&#039;exécuter du code directement au sein des documents.&lt;br /&gt;
&lt;br /&gt;
Les documents sont composés de cellules. Une cellule peut contenir un code source, du texte brut ou du texte utilisant la syntaxe du markdown git (et qui sera interprété lors du rendu). Il est possible d&#039;exécuter le code d&#039;une cellule dans l&#039;éditeur afin de vérifier son résultat.&lt;br /&gt;
Le noyau (exécutant le code) est un processsus lié au document et non à une cellule. De ce fait, il est possible de définir une variable dans une cellule puis de l&#039;utiliser dans une autre. Ceci permet donc de rendre la document plus lisible puisqu&#039;il est possible de diviser le code en plusieurs cellules (et par exemple de pouvoir insérer des cellules expliquant le but du code que l&#039;on vient d&#039;écrire). Dans le cas où le code écrit sur le sortie standard, la cellule qui le contient est automatiquement modifée afin de faire apparaitre la sortie du script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jupyter offre la possibilité d&#039;éditer un document via un éditeur web. Cet éditeur intégre un mini-gestionnaire de version pusqu&#039;il est possible de sauvegarder l&#039;état d&#039;un document en définissant un checkpoint et par la suite de revenir au dernier checkpoint afin d&#039;annuler les dernières modifications. Il es possible d&#039;exporter les document au format Jupyter (pour ensuite pouvoir les visionner dans Jupyter Notebook Viewer, une application faisant partie du projet Jupyter et permettant de visualiser et partager les documents Jupyter), Python, HTML, Markdown, reST et PDF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il est possible de partager simplement un document Jupyter par mail, Dropbox, GitHub ou en utilisant Jupyter Notebook Viewer.&lt;br /&gt;
Il est possible d&#039;inclure des images, des vidéos ou des widgets permettant de manipuler et visualiser les données en temps réel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
Les documents Jupyter sont enregistrés dans un format ouvert basé sur JSON.&lt;br /&gt;
&lt;br /&gt;
Il dialoguent avec le noyau via l&#039;Interactive Computing Protocol, un protocole ouvert basé sur des données JSON échangées via ZMQ ou par WebSockets.&lt;br /&gt;
&lt;br /&gt;
Le noyau est un processus chargé d&#039;interprété le code saisi dans les documents et de renvoyer la sortie. Le noyau supporte plus de 40 langages dont Python, R, Julia et Scala.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Le moyen le plus simple d&#039;insatller Jupyter est d&#039;utiliser Anaconda. Ananconda est un [installateur]. Il est possible de le récupérer sur leur site officiel ou au moyen de la commande :&lt;br /&gt;
 &lt;br /&gt;
wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda-2.3.0-Linux-x86_64.sh&lt;br /&gt;
&lt;br /&gt;
(version 64 bits)&lt;br /&gt;
&lt;br /&gt;
Par la suite, il suffira d&#039;exécuter le script Anaconda-2.3.0-Linux-x86_64.sh pour installer anaconda.&lt;br /&gt;
Une fois Anaconda installé, il suffit d&#039;exécuter la commande &lt;br /&gt;
&lt;br /&gt;
conda install jupyter&lt;br /&gt;
&lt;br /&gt;
pour installer Jupyter et ses dépendances.&lt;br /&gt;
Anaconda n&#039;installe que le noyau IPython (pour les scripts Python). Pour installer d&#039;autres noyaux au sein de Jupyter, référez-vous à la documentation ([https://ipython.readthedocs.org/en/latest/install/kernel_install.html https://ipython.readthedocs.org/en/latest/install/kernel_install.html])&lt;br /&gt;
&lt;br /&gt;
Pour lancer Jupyter, un simple &lt;br /&gt;
&lt;br /&gt;
jupyter notebook&lt;br /&gt;
&lt;br /&gt;
suffit. Vous pouvez maintenant accéder à l&#039;éditeur sur localhost:8888/tree.&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Jupyter&amp;diff=28383</id>
		<title>Jupyter</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Jupyter&amp;diff=28383"/>
		<updated>2016-03-28T20:47:23Z</updated>

		<summary type="html">&lt;p&gt;SAHUC.Alexandre: Spawn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://jupyter.org/&lt;br /&gt;
&lt;br /&gt;
Jupyter est un projet permettant de créer et partager des documents interactifs au travers d&#039;une application web.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fonctionalités ==&lt;br /&gt;
&lt;br /&gt;
Cette application permet notamment de créer des documents contenant du texte, des équations; mais aussi la possibilité d&#039;exécuter du code directement au sein des documents.&lt;br /&gt;
&lt;br /&gt;
Les documents sont composés de cellules. Une cellule peut contenir un code source, du texte brut ou du texte utilisant la syntaxe du markdown git (et qui sera interprété lors du rendu). Il est possible d&#039;exécuter le code d&#039;une cellule dans l&#039;éditeur afin de vérifier son résultat.&lt;br /&gt;
Le noyau (exécutant le code) est un processsus lié au document et non à une cellule. De ce fait, il est possible de définir une variable dans une cellule puis de l&#039;utiliser dans une autre. Ceci permet donc de rendre la document plus lisible puisqu&#039;il est possible de diviser le code en plusieurs cellules (et par exemple de pouvoir insérer des cellules expliquant le but du code que l&#039;on vient d&#039;écrire). Dans le cas où le code écrit sur le sortie standard, la cellule qui le contient est automatiquement modifée afin de faire apparaitre la sortie du script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jupyter offre la possibilité d&#039;éditer un document via un éditeur web. Cet éditeur intégre un mini-gestionnaire de version pusqu&#039;il est possible de sauvegarder l&#039;état d&#039;un document en définissant un checkpoint et par la suite de revenir au dernier checkpoint afin d&#039;annuler les dernières modifications. Il es possible d&#039;exporter les document au format Jupyter (pour ensuite pouvoir les visionner dans Jupyter Notebook Viewer, une application faisant partie du projet Jupyter et permettant de visualiser et partager les documents Jupyter), Python, HTML, Markdown, reST et PDF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il est possible de partager simplement un document Jupyter par mail, Dropbox, GitHub ou en utilisant Jupyter Notebook Viewer.&lt;br /&gt;
Il est possible d&#039;inclure des images, des vidéos ou des widgets permettant de manipuler et visualiser les données en temps réel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
Les documents Jupyter sont enregistrés dans un format ouvert basé sur JSON.&lt;br /&gt;
&lt;br /&gt;
Il dialoguent avec le noyau via l&#039;Interactive Computing Protocol, un protocole ouvert basé sur des données JSON échangées via ZMQ ou par WebSockets.&lt;br /&gt;
&lt;br /&gt;
Le noyau est un processus chargé d&#039;interprété le code saisi dans les documents et de renvoyer la sortie. Le noyau supporte plus de 40 langages dont Python, R, Julia et Scala.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Le moyen le plus simple d&#039;insatller Jupyter est d&#039;utiliser Anaconda. Ananconda est un [installateur]. Il est possible de le récupérer sur leur site officiel ou au moyen de la commande :&lt;br /&gt;
 &lt;br /&gt;
wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda-2.3.0-Linux-x86_64.sh&lt;br /&gt;
&lt;br /&gt;
(version 64 bits)&lt;br /&gt;
&lt;br /&gt;
Par la suite, il suffira d&#039;exécuter le script Anaconda-2.3.0-Linux-x86_64.sh pour installer anaconda.&lt;br /&gt;
Une fois Anaconda installé, il suffit d&#039;exécuter la commande &lt;br /&gt;
&lt;br /&gt;
conda install jupyter&lt;br /&gt;
&lt;br /&gt;
pour installer Jupyter et ses dépendances.&lt;br /&gt;
Anaconda n&#039;installe que le noyau IPython (pour les scripts Python). Pour installer d&#039;autres noyaux au sein de Jupyter, référez-vous à la documentation ([https://ipython.readthedocs.org/en/latest/install/kernel_install.html https://ipython.readthedocs.org/en/latest/install/kernel_install.html])&lt;br /&gt;
&lt;br /&gt;
Pour lancer Jupyter, un simple &lt;br /&gt;
&lt;br /&gt;
jupyter notebook&lt;br /&gt;
&lt;br /&gt;
suffit. Vous pouvez maintenant accéder à l&#039;éditeur sur [localhost:8888/tree localhost:8888/tree].&lt;/div&gt;</summary>
		<author><name>SAHUC.Alexandre</name></author>
	</entry>
</feed>