Moncef AOUDIA
Software developer, open-source enthusiast/maintainer
Intégration de capteurs Arduino dans une plate-forme de mobile crowdsourcing
Moncef AOUDIA
Antoine Veuiller
Romain ROUVOY
Encadreurs:
Auteur:
Lundi 22/05/2017
Projet de second semestre de Master Informatique
Nombre important de capteurs
Différentes technologies de transfert de données
Différents langages de programmations
Contraintes mémoires
AIRQUA
MQLIB
APISENSE
http://@ip/sensors/co/value
Requête GET
Réponse Json
{"name":"MQ2","gasTypes":"co","value":"0"}
Client
Serveur
getGasPPM(CO)
displayGasPPM(CO)
Capteurs
/* Pin sur lequel le capteur est connecter */
int sensorPin = A0;
void setup() {
/* UART reglages, baudrate = 9600bps.*/
Serial.begin(9600);
}
void loop() {
/* Lecture et affichage de la valeur du capteur */
Serial.print("Value of sensor is: "+analogRead(sensorPin);
Serial.print("\");
}
Code snippet
var http = require("http");
/**
* Handles all requests for the simple HTTP server
* @param {any} request - Incomming request
* @param {any} response - Response to client
*/
function handleRequest(request, response) {
/** Handles all requests */
console.log("request is :"+request.url);
response.writeHead(200, {'Content-Type': 'application/json;charset=utf-8'});
response.write(responseRequest(request));
response.end("\n");
}
}
Code snippet
Arduino (C) | Espruino (JS) |
---|---|
Gestion de la mémoire très efficace. | Rapidité d’exécution |
Faible consommation de ressources. | Code source court et compacte. |
Support de plusieurs capteurs analogiques | Support de plusieurs capteurs numériques |
Support de la majorité des capteurs utilisés | Processeur puissant et efficace |
Environnement de développement complet | Support natif de l’API RESTfull. |
Avantages
Arduino (C) | Espruino (JS) |
---|---|
Non support natif de l’API RESTfull | Consommation d’avantage de ressources matériels que Arduino |
Problème de latence comparé à la version JavaScript | Ajout obligatoire de Multiplexeur pour le support de plusieurs capteurs analogiques |
Inconvénients
Langage | fichier | commentaire | code |
---|---|---|---|
Arduino Sketch | 7 | 457 | 792 |
C++ | 2 | 110 | 149 |
C/C++ Header | 2 | 150 | 70 |
CMake | 5 | 46 | 60 |
JavaScript | 8 | 244 | 274 |
TOTAL | 24 | 987 | 1345 |
---|
Affichage de toutes les valeurs des capteurs:
http://serverAddressIp/sensors/values
Affichage de tout les types de capteurs:
http://serverAddressIp/sensors/types
Mr VEUILLER & Mr ROUVOY
By Moncef AOUDIA