General questions about SPINE

 


 

 

What is SPINE?

SPINE (Signal Processing in Node Environment) is a software framework for the design of Body Sensor Network applications. SPINE enables efficient implementations of signal processing algorithms for analysis and classification of sensor data through libraries of processing and utlility functions and protocols. SPINE allows to decrease development time and improve interoperability among applications.

SPINE provides libraries of components of typical WSN systems specified in nesC and developed in TinyOS environment. Libraries include:

-         utility functions, e.g. circular buffer and sorting algorithm

-         functions computing features, e.g. variance, mean or range and reporting them to the base station either on a regular basis (feature engine) or whenever certain criteria are met (alarm engine)

-         an over-the-air protocol for the communication between the WSN coordinator and the sensor nodes.

 

What are the system requirements to run SPINE?

To run and install the node side you need to have TinyOS 2.1.0 properly working.

The server side need Java environment properly working.

How do I get started with SPINE?

We suggest first downloading the latest stable release from the spine.tilab.com webpage and subscribing to the mailing lists to be updated about news and be in contact with the SPINE team for any technical detail.

The .zip file contains as well the user manual (available also at http://spine.tilab.com/doc/SPINE_1.2_documentation.pdf). This document will guide you thought the set up of the framework and give you an insight about its functionalities.

To perform a first test you should have one or more sensor nodes among the ones currently supported by SPINE.

Then, take the following steps:

  1. compile and flash on your platform the SPINE1.2 node side framework;
  2. compile and flash a TinyOS2.x BaseStation. Please check that sensor nodes and base station are both working on the same radio channel and the same TinyOS version has been used for flashing the nodes.
  3. plug the BaseStation to your computer and type “motelist” from your shell: this will tell you your port number;
  4. open the Spine_serverSide/defaults.properties file and set the MOTECOM parameter and LocalNodeAdapter class name according to one of the following options depending ifyou are using the serial forwarder on a Linux or Windows machine (a) or directly communicating with the serial port on your PC using a Windows machine (b)

    a. MOTECOM=sf@127.0.0.1:9002

    LocalNodeAdapter_ClassName=spine.communication.tinyos.SFLocalNodeAdapter

    b. MOTECOM=serial@COM41:telosb

    LocalNodeAdapter_ClassName=spine.communication.tinyos.TOSLocalNodeAdapter

    Option b may be used also on a Linux machine, but you need to build libgetenv andl libtoscomm from your tinyos before you can install and run any SPINE application.

    cd $TOSROOT/support/sdk/java && make

    sudo tos-install-jni

  5. edit Spine_serverSide/test/SPINETest.java and go through the code if you want to customize the test application. The code documentation helps to understand what functionalities SPINE exposes to the java developer. You can simply run the test application to check that the communication works fine.

For any further detail, please refer to the user guide and write to the spine-dev mailing list for any specific question.

Which sensor platform does SPINE support?

At this time, platforms supported by SPINE1.2 are

a. Telosb motes with spine sensor board

b. Telosb motes with biosensor sensor board

c. Micaz motes with mts300 board

d. SHIMMER motes (only on board 3D accelerometer currently supported)

To install the SPINE node side from the app/SPINEApp folder compile and install SPINE1.2 framework on your platform:

a. SENSORBOARD=spine make telosb

b. SENSORBOARD=biosensor make telosb

c. SENSORBOARD=mts300 make micaz

d. SENSORBOARD=shimmer make shimmer

If you don’t have any of these platform but you have Telosb, you might install spine as if you had the spine sensor board and get meaningful data only from the cpu temperature sensors which is on board of the Telos itself.

What features does SPINE offer?

SPINE offers the following list of features to the developer of a BSN application:

-         utility functions, e.g. circular buffer and sorting algorithm

-         functions computing features, e.g. variance, mean or range

-         an over-the-air protocol for the communication between the WSN coordinator and the sensor nodes.

 

What are my rights and my duties with the SPINE license?
SPINE is released under the LGPL license. The LGPL license keeps all contributors to the same level relative to each other and it respects and protects both the users and the authors. In the following you can have a fast and rough idea of rights and duties of this license but, please, refer to the official LICENSE file for more details and legally precise information.
In particular LGPL assures right to:

-         make and distribute copies of SPINE;

-         have access to the software source code;

-         make improvements to the program;

-         incorporate SPINE into a proprietary program;

-         continue the SPINE experience even if we stopped it !! (which will not happen, because we will not stop SPINE so easily).

The LGPL mandates also some duties, and in particular:

-         to not keep modifications private;

-         not change the license of SPINE and its modifications.