An Open-source Semantic Sensing Middleware for the Web of Things
1. XGSN: An Open-source
Semantic Sensing Middleware
for the Web of Things
Some Afterthoughts
@jpcik
Jean-Paul Calbimonte, Sofiane Sarni, Julien Eberle, Karl Aberer
LSIR EPFL
Semantic Sensor Networks SSN 2014. International Semantic Web Conference ISWC 2014
Riva del Garda, 20.10.2014
2. Sensor deployments everywhere
Mountains
Glaciers
Snow regions
Sea
Coastal
Agriculture
…
People want the data!
DIY
Mobile
Participatory
3. So what can I do with it?
• Get data from my sensors (API, web interface)
• Store and archive the data
• Put it online, available for download
• Put it online, available for discovery and querying
• Apply post-processing to the data
• Combine different data sources
• Use the data from an R script
• More stuff…
4. OSPER - Swiss Experiment
Open support platform for environmental research
managing environmental
sensor data &metadata Platform
Multidisciplinary research team
• Real world data + problems
Facilitating research in:
• Precipitation patterns in mountains
• Evaporation in Africa
• Return periods of Natural Hazards
• Stream flows in Alpine catchments
• Permafrost in the Alps
acquisition
processing
Data
heterogeneous
sensing devices
summarization, filtering,
compression, interpolation
continuous processing,
streaming, geospatial, aggregation
pattern discovery,
correlation, regression
metadata management, semantics
data services, visualization, standards
querying
analysis
discovery
provision
http://swiss-experiment.ch
5. OpenSense2
Crowdsourcing High-Resolution Air Quality Sensing
global concern
highly location-dependent
time-dependent
Air Pollution
Accurate location-dependent and real-time information on air pollution is needed
Integrated air quality measurement platform
Personal mobile sensors CrowdSense
Heterogeneous devices and data
Human activity assessment, lifestyle and health data
• Link high-quality and low-quality data
• Integration of pure statistical models and physical
dispersion models
• Better coverage through crowdsensing
• Incentives for crowd data provision
• Finer temporal and spatial resolutions
• Utilitarian approach for trade-off between model
complexity, privacy and accuracy
• Higher accuracy of pollution maps models
http://opensense.epfl.ch
Institutional stations
OpenSense infrastructure
6. OpenIoT FP7
Open Source Cloud solution for the Internet of Things
Established Open-source platform for IoT
• Integrate sensors & things with cloud computing
• Configure, deploy and use IoT services
• Auditing/assessing privacy of IoT apps in the cloud
• Semantic annotations of internet-connected objects
• Energy-efficient data harvesting
• Publish/subscribe for continuous processing and
sensor data filtering
• Mobility of sensors and QoS aspects in IoT
http://openiot.eu
https://github.com/OpenIotOrg/openiot
Use cases and validation scenarios
Smart
Manufacturing Campus Guide Air Monitoring
Agriculture
Sensing
8. GSN: Global Sensor Networks
Managing sensor datasets
Publishing sensor observations
Discovery and exploration of datasets
Processing sensor time series
9. Open source project: Available in Github
• Open Source License
• Mainly in Java
• Community Support
• Used in several projects
16. GSN REST interfaces: e.g JSON
16
Request all sensors in
this GSN instance
Standard vocabs?
Semantics?
17. SSN Ontology, for sure
cf-feat:soil
ssn:inDeployment ssn:SensingDevice
dul:hasLocation
17
ssn:Sensor
ssn:Platform
ssn:FeatureOfInterest
ssn:Deployment
ssn:Property
cf-prop:air_temperature
ssn:observes
ssn:onPlatform
dul:Place
qu:QuantityKind
dim:Temperature
ssn:MeasurementCapability
ssn:MeasurementProperty
geo:lat, geo:lng
xsd:double
ssn:hasMeasurementProperty
ssn:Accuracy
ssn:ofFeature
aws:TemperatureSensor
aws:Thermistor
ssn:Latency
cf-prop:soil_temperature
cf-feat:Wind
cf-feat:Surface
cf-feat:Medium
cf-feat:air
dim:VelocityOrSpeed
cf-prop:wind_speed
cf-prop:rainfall_rate
aws:CapacitiveBead …
…
…
Where to look for vocabs?
When do we set up the onto?
Who sets it up?
http://lsm.deri.ie/resource/40390026
68863045
http://lsm.deri.ie/ont/lsm.o
wl#unit
"Percent"
18. Ontologies in OpenIoT
18
‘configure’ ontologies
here
But sensors and wrappers configured here
Virtual Sensors
19. Data in GSN through Wrappers
19
Common abstractions, independent of applications, hardware
Simple integration & data correlation.
5140
GSN
Various
Applications
Plug & Play
deployment
On-the-fly
reconfiguration
GSN
GSN
20. Virtual Sensor configuration
20
<virtual-sensor name="room-monitor" >
<addressing>
<predicate key="geographical">BC143</predicate>
<predicate key="usage">
room monitoring</predicate>
</addressing>
<life-cycle pool-size="10" />
<output-structure>
<field name="image" type="binary:image/jpeg" />
<field name="temp" type="int" />
</output-structure>
<storage permanent="true" history-size="10h" />
<input-streams>
<input-stream name="cam">
<stream-source alias="cam" storage-size="1“
sampling-rate=“1”>
<address wrapper=“tinyos2.x">
<predicate key=“host">tinybox.epfl.ch
</predicate>
<predicate key=“port">9001</predicate>
</address>
select * from WRAPPER
</stream-source>
<stream-source alias="temperature1“
storage-size="1m“ sampling-rate=“1”>
<address wrapper="remote">
<predicate key="type">temperature</predicate>
<predicate key="geographical">BC143-N
</predicate>
</address>
select AVG(temp1) as T1 from WRAPPER
</stream-source>
<stream-source alias="temperature2“
storage-size="1m“>
<address wrapper="remote">
<predicate key="type“>temperature</predicate>
<predicate key="geographical“>BC143-S
</predicate>
</address>
select AVG(temp2) as T2 from WRAPPER
</stream-source>
<query>
select cam.picture as image, temperature.T1
as temp from cam, temperature1
where temperature1.T1 > 30 AND
temperature1.T1 = temperature2.T2
</query>
</input-stream>
</input-streams>
</virtual-sensor>
Some metadata is here
Sensor metadata configuration
21. Some available mappings
21
• HTTP generic wrapper
• devices accessible via HTTP GET or POST requests, e.g., the AXIS206W wireless camera
• Serial forwarder wrapper
• enables interaction with TinyOS compatible motes (standard access in TinyOS)
• USB camera wrapper
• local USB connection.
• supports cameras with OV518 and OV511 chips.
• RFID wrapper
• access to Texas Instruments Series 6000 S6700 multi-protocol RFID readers
• Alien Technologies long range RFID reader 8950 EU.
• WiseNode wrapper
• access to WiseNode sensors (CSEM, Switzerland, http://www.csem.ch/)
• Generic UDP wrapper
• any device using the UDP protocol
• Generic serial/bluetooth wrapper
• supports sensing devices which send data through the serial port, e.g., EPuck robots, etc.
22. Register metadata
22
If ontologies change…
If we add new types of sensors?
Do I have control over my sensor metadata?
30. RDF observation annotations
30
CQELS stream processing
When to store, when to stream?
A-priori knowledge of the data usage
31. Why Streams?
Web standards
Data discovery
Data sharing
Web queries
Go Web
Semantics
Vocabularies
Data Harvesting
Data linking
Matching
Integration
Ontologies
Expressivity
Inference
Rule processing
Knowledge bases
Reasoning
Query languages
Query answering
Efficient processing
Query Federation
Processing
Do we always
require these?
31
In Practice?
32. Discussion
• Annotation in IoT
• Dynamic sensor data streams
• Scalability
• Ontologies & Vocabularies
• Reuse, definition, policies
• OpenIoT platform
• Modules available
• System integration
32