SensorWeaver

SensorWeaver is a suite of applications that enables application development in distributed sensor networks scenarios. It comprises:

The software project is licensed with Apache V2 licensing.

This page collects developers and administrators documentation on SensorWeaver components.

Middleware

Wireless Sensor networks are often heterogeneous in terms of communication technologies and protocols and cover a limited spatial area. Applications that use sensor data needs are often run remotely and require a secure communication channel in order to access it over the Internet. SensorWeaver Middleware tries to address the aforementioned issues by offering simple abstractions and API to clients and a distributed platform for secure communication between sensor nodes and applications that use context data.

Sample deployment diagram depicting a scenario with ZigBee devices integration

The functionalities offered by the Middleware are based on the simple datafeed and service abstractions. A datafeed generally identifies an entity that produces data and can be characterized with a set of properties and a message content definition. There are two areas of functionalities concerning the datafeeds, one for data publishers and one for data consumers:

Regarding the services, the following functionalities for both the publishers and the consumers are provided:

Any data source can be represented as a data feed on the middleware, enabling a sensor data fusion scenario.

The deployment diagram depicts a scenario where ZigBee devices are integrated with the Middleware. In this case a Gateway computing node runs an OSGi container with several components. The Sensor publisher component realizes the integration layer by relying on a technology specific software stack (ZB4O for ZigBee sensor networks) in order to access the sensor network. The stack uses a physical dongle in order to access the ZigBee network. Sensor publisher monitors the status of the sensor network and, for each discovered sensor, publishes the availability and generated sensor data on the Middleware. The Middleware relies on MQTT communications in order to propagate information to interested nodes in a distributed environment. Applications running on other physical nodes can be notified in real time about the availability of new data sources and listen to data generated by those.

The Middleware does not offer off-the-shelf integration layers for specific sensor communication technologies (Bluetooth, ZigBee, Z-Wave, etc.) or virtual sensor representations (OSGi rfc0196, ZB4O, etc.).

Main characteristics:

Links to guides: