The Sensor Platform Framework (SPF) is a software framework to facilitate real-time measurements with mobile sensor platforms, such as the Ifgicopter, and connect them to the sensor web. It is easily extendable by a powerful plug-in mechanism for both incoming and outgoing data.
For detailed information (architecture, components, workflow) see also http://52north.org/communities/sensorweb/incubation/ifgicopter/spf/index.html.
The API can be used to implement Input-Plugins, Output-Plugins, Interpolator Implementations and complex data processing units. It provides a bunch of interfaces.
Interfaces:
IInputPlugin - Must be implemented by InputPlugins. The framework is then capable of communicating with the plugin
The SPF classifies plugins into Input Plugins, i.e. connectors for getting data into the Framework, and Output Plugins, which are used to provide different data dissemination methods. The following lists currently available plugin implementations covering some basic and advanced dissemination methods (GPX, CSV file writers) and input connectors for simulation or playback of existing time series.
Input
GpxInputPlugin - reads GPX tracks to simulate a time series
XMLRPCInputPlugin - built-in XML-based remote procedure calls to enable usage with other software
Development
Source Code
The SPF's build process is based on Maven. For straightforward integration of the Eclipse IDE, the m2eclipse plugin is recommended. To check out the required resources with Eclipse follow these steps:
Open the SVN Repository Exploring perspective
Add the repository https://svn.52north.org/svn/swe/incubation/ifgicopter
Navigate to the respective project (see below)
Right click the trunk folder
Select Find / Check out as ...
use the New Project Wizard to create a Java project from the sources
after checkout, right-click on the project and activate the Maven support (Maven/Enable Dependency Management or Configure/Maven - depending on m2eclipse verison)
follow project specific instructions stated in the install.html of the projects root directory
spf-core, spf-inputPlugins and spf-outputPlugins have predefined bundling procedures included. Simply run "mvn install assembly:single" in the project's root directory from command line (or m2eclipse). This will create archives of the project (including all dependencies needed) in the /target/assembled-release directory.
Implementing custom Plugins
Detailed guidance on how to write Input- and OutputPlugins can be found on the dedicated subpages:
SPF must not be installed, simply unzip the downloaded file (see above). To run SPF use the executable file that fits your operating system:
spf.bat for 32bit Windows
spf_64bit.bat for 64bit Windows
spf.sh for 32bit Linux
spf_64bit.sh for 64bit Linux
Prerequisites:
An existing JAVA_HOME environment variable, see this website for instructions.
Plugin Installation
Installing the InputPlugins and OutputPlugins is straightforward. Just copy over the contents of the lib-folder or your own jar files into the lib-folder of your SPF installation. Then register the plugin via the main configuration in the file config/spf.properties. InputPlugins are registered using the IInputPlugin key, OutputPlugins using the IOutputPlugin key. You need to specify the full qualified Java class name of the class implementing the respective interface. You find this information in the documentation of the respective plugins, for example FileWriterPlugin or GpxOutputPlugin.