|
The SPINE Framework relies on a WSN architecture including one or more sensor nodes and a WSN coordinator. The WSN coordinator typically performs functions such as managing the WSN nodes, collecting and analyzing the data received from the sensor nodes, and connecting as a gateway the WSN with a wide area network (WAN) for remote data access.
SPINE has two main SW components: one to be executed on the sensor nodes and the other on the BSN coordinator. The sensor node component, designed in TinyOS environment and written in nesC language (add link to TinyOS), includes several utilities for signal processing such as data storage buffers, mathematical function libraries and common feature extractors used in signal processing. Furthermore, it includes an over-the-air communication protocol to transfer data from the sensor nodes to the WSN coordinator. The coordinator component consists of a Java-based interface that an application running on the gateway itself or on a remote server can use to manage the sensor nodes or make service requests. This lightweight Java API is easily portable to devices of various capabilities, such as a PC or a mobile phone.
The SPINE framework offers developers great flexibility in the implementation of distributed signal processing algorithms for the analysis and the classification of sensor data. Some applications are based on complex algorithms that require an implementation on nodes such as gateway devices with sufficient computational resources. Other applications are based on rather lightweight algorithms that can be implemented in a distributed manner, i.e. with some functions executed on the sensor nodes. SPINE supports both centralized and distributed implementations and therefore offers designers the flexibility to select the implementation approach that is most suitable to meet the requirements of the application. It includes a Feature Selction Protocol (FSP) that can be used by the gateway to request the sensor nodes to send back the result of locally computed features. Computing features locally and sending the results instead of transmitting the raw sensor data offers several advantages such as a more efficient utilization of the bandwidth of the wireless medium and savings of the energy of the nodes. In addition to requesting a node to send the results of features computed locally, FSP can also be used to specify: - the interval over which a feature is to be calculated - the frequency with which the nodes should send the data to the gateway, e.g. 1) at regular intervals, 2) upon request, 3) when the values reach a specified threshold. Another important feature of SPINE is the reusability of nodes in different application scenarios. The service discovery function at the WSN coordinator allows it to recognize the functions of sensor nodes that have already been configured. This flexibility allows the same node to be deployed in many different application scenarios without reconfiguration of the embedded code. The first release of SPINE has been used for the design of assisted living services such as the monitoring of limb movements of a person and more in general the recognition of a person's activities and postures. The system is based on a sensor board with 3-axis accelerometers ad gyroscopes. The classification algorithm is implemented in TinyOS environment using the SPINE libraries. The current libraries include features relevant to the analysis of data from accelerometers and gyroscopes, as well as on-mote implementation of code that interfaces accelerometer and gyroscope sensors with internal buffers. However, the framework is not limited just to applications based on accelerometers, but can be easily extended, adding libraries with new features and interfaces, and used also in WSN applications based on other types of sensors. |