This is an old revision of the document!
SensorWeaver
SensorWeaver is a suite of applications that enables application development in distributed sensor networks scenarios. It comprises:
- A Middleware Platform for secure communications between applications and sensor network gateway nodes
- Applications that leverage Middleware functionalities
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 etherogenous 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 a practical and secure solution which enables secure communication between sensor nodes and applications that use sensor data.
The functionalities offered by the Middleware to other software components covers different areas:
- Datasource publishing and sensor data dissemination
- Announce the presence of a new sensor by providing a description in terms of sensor properties and message format
- Announce unavailability of a sensor
- Publish sensor data for a published sensor, using the defined message format
- Sensor discovery and data listening
- Discover sensors matching a set of properties
- Listening for data produced by a sensor
Sensors can also be virtual, in the sense that any data source can be represented as a data feed on the middleware, enabling sensor data fusion scenarios.
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:
- Runs on Java and OSGi execution environment
- Leverage MQTT publish/subscribe messaging protocol on the lower level
- Underlying publish/subscribe communication paradigm based of MQTT protocol
- based on modern IoT communication protocol on the lower level: MQTT
- Provides secure communication channels
- Offers a simple model for the description/discovery of data sources
- Strives for simplicity of integration
SensorWeaver Developer Guide SensorWeaver Administrator Guide