• Aucun résultat trouvé

APISENSE®: Mobile crowd-sensing made easy!

N/A
N/A
Protected

Academic year: 2021

Partager "APISENSE®: Mobile crowd-sensing made easy!"

Copied!
47
0
0

Texte intégral

(1)

HAL Id: hal-01332594

https://hal.inria.fr/hal-01332594 Submitted on 13 Oct 2016

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

APISENSE®: Mobile crowd-sensing made easy!

Romain Rouvoy

To cite this version:

(2)

@

RomainRouvoy

(3)
(4)
(5)
(6)
(7)

Crowd

&

sensing

(8)

7

Crowd Sensing

| kraʊdːsɛnsɪŋ |

«Capability of lifting a (large) diffuse group of participants to

delegate the task of retrieving trustable data from the field.

This includes:

ŸParticipatory sensing involves the user in the sensing task

(eg. surveys)

ŸOpportunistic sensing uses mobile sensors carried by the

user (eg. Smartphones)»

(9)

Applications to data visualisation

(10)

9

(11)

10

(12)

11

http://apisense.io

(13)

12

(14)

13

(15)
(16)
(17)

16

(18)
(19)
(20)

Store

Process

Publish

Deploy

Sync.

Da

ta

Co

de

(21)
(22)

How does it work?

(23)

How does it work?

(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)

Device-level Sensing Task

Location InteractionUser DeviceState

Facade

Save

Data CaptureMedia Survey Notify

Action

act

Event

onLocationChange

onBatteryStateChange

onNetworkStateChange

onPhoneCall

publish

subscribe

Battery Level

(33)

var

location = requires(

‘location’

);

var

trace = requires(

‘honeycomb’

);

var

telephony = requires(

‘gsm’

);

location.

onLocationChange

(function(event){

trace.

sync

({

lat : event.latitude,

lng : event.longitude,

signal : telephony.signalStrength()

});

});

Event listener Façades Data upload

(34)

Crowd-scale Sensing Jobs

accept

(

function

( ) {

if

(network.connectionType() ==

‘mobile’

)

return

{battery : battery.level()};

};

ranking

(

function

(users){

return

users.sort(

‘battery’

);

};

sense

(

function

( ) { … } )

sense

recruit

coverage

geoCoverage

(

[[50.614291,3.13282],[50.604159,3.15239]],

‘500 m’

);

timeCoverage

(

‘30 min’

,

’1 H’

);

duplicate

(1);

(35)
(36)

Vs

0,0

Vs

1,0

Vs

2,0

Vs

0,1

Vs

1,1

Vs

2,1

1. Virtual sensor deployment

[Chowdhury10]

geoCoverage

[Chowdhury10] A survey of network virtualization. Computer Networks. 2010

(37)

Vs

0,0

Vs

1,0

Vs

2,0

Vs

0,1

Vs

1,1

Vs

2,1

1. Virtual sensor deployment

[Chowdhury10]

2. Connecting to physical devices

[Chowdhury10] A survey of network virtualization. Computer Networks. 2010

(38)

Vs

0,0

Vs

1,0

Vs

2,0

Vs

0,1

Vs

1,1

Vs

2,1

3. Assigning sensing tasks

93 %

58 %

timeCoverage

accept

[Chowdhury10] A survey of network virtualization. Computer Networks. 2010

Crowd-scale Sensing Job

1. Virtual sensor deployment

[Chowdhury10]

2. Connecting to physical devices

(39)

Vs

0,0

Vs

1,0

Vs

2,0

Vs

0,1

Vs

1,1

Vs

2,1

duplicate

sense

4. Executing sensing tasks

[Chowdhury10] A survey of network virtualization. Computer Networks. 2010

ranking

Crowd-scale Sensing Job

3. Assigning sensing tasks

1. Virtual sensor deployment

[Chowdhury10]

2. Connecting to physical devices

(40)

Evaluation of APISENSE®

39

80%

50%

82 %

W/B-Scanner

opportunist Citizen journalistparticipative

APISENSE®

4

9

Anonysense

5

N/A

Pogo

4

N/A

MyExperience

N/A

27

Medusa

N/A

45

PRISM

??

330

2%

(41)
(42)

Dynamic Deployment of Sensing Experiments in the Wild Using Smartphones. N. Haderer, R. Rouvoy and

L. Seinturier. 13thInternational IFIP 16 Conference on

Distributed Applications and Interoperable Systems (DAIS), pages 43-56.

A Federated Multi-Cloud PaaS Infrastructure.

Fawaz Paraiso, Nicolas Haderer, Phi- lippe Merle, Romain Rouvoy, Lionel Seinturier. In 5th

IEEE International Confe-rence on Cloud Computing (2012), pages 392-399. A Cloud-based Infrastructure for Crowdsourcing Data

from Mobile Devices. N. Haderer, F. Paraiso, C. Ribeiro, P. Merle, R. Rouvoy, L. Seinturier. Cloud-based Software Crowdsourcing, Springer, 2014

A preliminary investigation of user incentives to leverage crowdsensing activities. N.Haderer, R. Rouvoy and

L. Seinturier. 2ndInternational IEEE PerCom Workshop on

Hot Topics in Pervasive Computing (PerHot) (2013), pp. 199-204.

Towards Multi-Cloud Configurations Using Feature Models and Ontologies. C. Quinton, N. Haderer,

R. Rouvoy and L. Duchien. 1stInternational Workshop on

Multi-Cloud Applications and Federated Clouds (Multi-Cloud’13). April 2013, pp. 21-26.

Dissemination

Book chapters

Conferences

Workshops

APISENSE : Crowd-Sensing Made Easy. Nicolas Haderer, Romain Rouvoy, Christophe Ribeiro, Lionel Seinturier. ERCIM News, ERCIM, 2013, Special theme : Mobile Computing, 93, pp. 28-29.

(43)

Collecting exception in the wild

http://www.apisense.fr 42

Error log Taxonomy

Warning log Taxonomy

(44)

Assessing Machine Learning Models

43

User context recognition implementation : ~ 30 lines

… accelerometer.onChange(function(acc) { buffer.push(acc) }); // Learning phase

dialog.display({ message: "Select movement", spinner: classes },function(pattern){

accelerometer.onChange(function(acc) { buffer.push(acc) }); sleep(‘5s’) model.record(attributes(buffer), pattern); buffer = new Array(); return; }); … // Exploitation phase

time.schedule({ period: '5s'}, function() {

trace.add({

position: model.evaluate(attributes(buffer)), stats: model.statistics() });

buffer = new Array();

} } });

Representative Confusion Matrix

(45)

-Journées scientifiques INRIA , june 26th 2014

(46)
(47)

Programmer un module Arduino

#include "Sensor.h"

#include "Module.h"

#include "Channel.h"

Channel* mlog = new LogChannel();

Sensor* sensorTmp = new Sensor(A0, "temperature", &convertTemperature); Sensor* sensorLum = new Sensor(A2, "Lumiere", &convertLumiere);

Module* myModule = new Module();

void setup() {

Serial.begin(9600); }

void loop() {

myModule->load(sensorTmp); myModule->load(sensorLum); myModule->setChannel(mlog); myModule->updateM();

delay(300000);

}

int convertTemperature(int sensorTmpVal){

float voltage = (sensorTmpVal/1024.0) * 5.0;

float temperature = (voltage - .5) * 100;

return temperature;

Références

Documents relatifs

To the topic of this work brought me my interest in archaeology of the Near East and with it associated my first visit of the most important Musil´s archaeological

Le traitement de l’ensemble de ces mesures permet au serveur d’établir une carte du réseau Wi-Fi en terme de disponibilité et de performances et de proposer à un client le

In this work, we have outlined that the Python project is in fact the core of a galaxy of related application domain modules and projects, in which Python users are

2.2 Durchflussmessung und Mobile Sensing zur Hochwasservorhersage Zum Zweck der Hochwasservorhersage sind insbesondere hydrologische Daten von Bedeutung, welche zur Messung des

Crowd Sensing (in our case - Mobile Crowd Sensing) is a relatively new sensing paradigm, which is based on the power of the crowd mobile users (mobile devices) with

Each point is displayed in a different color corresponding to the activity the user was performing based on data recorded at the time, validated using the activity diaries.. We can

Sensing and reporting operations occur when data collection utility and smartphone sensing potential are greater than a threshold δ, which means that the mobile devices sustain a

It has been shown that image-based measurement methods can be developed to de- termine the actual water level to within a few centimetres by using the built-in orienta- tion and