The EasyHarvest server is managed by the community/organization that wishes to support crowdsensing applications. Application owners submit sensing tasks to the server, which in turn automatically deploys them on personal devices and collects the data produced by them.
Go to file
2015-10-29 02:06:27 +02:00
src/main Initial commit 2015-10-29 01:06:42 +02:00
LICENSE.txt Create LICENSE.txt 2015-10-29 02:06:27 +02:00
nb-configuration.xml Initial commit 2015-10-29 01:06:42 +02:00
pom.xml Initial commit 2015-10-29 01:06:42 +02:00
README.md Update README.md 2015-10-29 01:57:15 +02:00

EasyHarvest

EasyHarvest aims to simplify the deployment and controlled execution of large-scale sensing applications on smartphones. On the one hand, application owners submit to a server sensing tasks for distribution on smartphones, and collect the data produced by them in a simple manner. On the other hand, smartphone owners control the execution of sensing tasks on their devices through a single interface, without having to repeatedly download, install and configure individual sensing applications. The interaction between the smartphone and the server occurs in a transparent way, with tolerance to intermittent connectivity and support for disconnected operation.

For more information read here (slightly outdated) and here.

Initial Setup

Database

CREATE DATABASE server;
USE server;
CREATE TABLE users(
  username TEXT,
  password TEXT,
  email    TEXT
);
CREATE TABLE tasks(
  id         NUMERIC,
  filename   TEXT,
  username   TEXT,
  ready      TEXT,
  downloaded NUMERIC
);
CREATE TABLE devices(
  id        INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  username  TEXT,
  model     TEXT,
  os        TEXT,
  reg_date  TEXT,
  reg_time  TEXT,
  last_date TEXT,
  last_time TEXT
);
CREATE TABLE pms(
  id       NUMERIC,
  filename TEXT,
  username TEXT,
  sensing  NUMERIC,
  ready    TEXT
);

Paths and Variables

com.www.server > Globals.java

Parameter Value
db_dir This is where user data and files are saved. Simply create a folder and enter its path.
db_server The address of the MySQL database (“jdbc:mysql://localhost:port/server”).
db_username The username of the MySQL database we previously created.
db_password The password of the MySQL database user.
server_irl The localhost url with the apache port and the application name (Server).
lib_url The location of the android.jar library file (e.g. “…/Android/sdk/platforms/android-X/android.jar”).
console_cmd The console application (e.g. for Windows it is “cmd”).
javac_cmd The location of the javac binary.
dx_cmd The location of the android dx tool (e.g. “…/Android/sdk/build-tools/X/lib/dx”).
zip_cmd Preferred compressing application.
zip_args Zip command arguments (if any).

Start the Server

When the Server starts, to check if everything is OK, run from your browser the URL:

http://localhost:port/Server/webresources/tasks

The above URL should show the message “TaskService is ready.”

To start using the EasyHarvest Server, simply create an account by signing up.