User Tools

Site Tools


sensorweaver

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 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.

Sample deployment diagram depicting a scenario with ZigBee devices integration

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

Developer Guide

Project and development environment setup
  • IDE setup and repositories
  • Project setup
  • OSGi container of choice: Karaf
Getting an instance of the Middleware service
  • OSGI Registry
  • Blueprint
API and usage
  • Publishing sensor data
  • Getting sensor data
Integration testing
  • Pax-Exam
  • Karaf
  • OSGi specs and compendium
  • Blueprint Aries
  • MQTT Protocol

Administrator Guide

sensorweaver.1418828267.txt.gz · Last modified: 2014-12-17 14:57 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Run on Debian Driven by DokuWiki