Sensing on the Go

Experimenter Guide

Introduction

This guide will help you understand the functionality provided by the Sensing on the Go (previously known as Smartphone Experimentation) OrganiCity CoCreation tool, its capabilities and all the necessary steps to create, configure, monitor and manage your experiment as well as retrieve the data collected.

Experimentation as a Service

The Sensing on the Go is offered as an Experimentation As A Service tool that you can easily use over via its cloud infrastructures and the provided Android Smartphone Application.

Experimenter Portal The Sensing on the Go cloud interface is tightly integrated with the OrganiCity Experimenter's portal. Most of the functionalities for managing the experimentation flow. In order to configure a new Experiment Experimenters need to follow the steps presented bellow:

There are three operations that differentiate the creation of a Smartphone Crowdsensing Experiment from the rest of the OrganiCity Experiments.

First, when the experimentation areas are defined, the experimenter need to specify more information including:

Secondly, the experimenter needs to select which sensors the experiment will use on the smartphone. The experimenter can select any of the available sensor plugins without the need for uploading any piece of code. In the case that the experimenter needs to upload a new sensor plugin, the upload can be done from this link. Any new sensor plugin can be either public or private based on the choice of the experimenter.

Finally, the experimenter needs to provide the jar file that contains the business logic of the experiment. This is a specific jar file for the experiment and is responsible for preparing the data for upload to the Sensing on the Go Storage Services.

Development Environment

Sensing on the Go is based on the Android platform. It manages and uses multiple background services to communicate between the app and both the sensors and experiments running.

In the context of Sensing on the Go there are two types of Android plugins to be used:

Sensors operate on an async call for a context update and provide data back to the SET wrapper for this request. (calls to getPluginInfo ). Experiments operate on an synchronous call for a context update and provide data back to the SET wrapper for this request. (calls to getExperimentResult ).

Experiment Plugins can access data from all Sensor plugins and :

Code templates and examples for sensor and experiment plugins are available in the following repositories:

All of them are available to use without the need for any development. If experimenters need to use any of them, they simply need to select them during the creation of the experiment.