Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

XGSN: An Open-source Semantic Sensing Middleware for the Web of Things

2 778 vues

Publié le

SSN presentation on OpenIoT X-GSN sensor middleware

Publié dans : Logiciels
  • Soyez le premier à commenter

XGSN: An Open-source Semantic Sensing Middleware for the Web of Things

  1. 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. 2. Sensor deployments everywhere Mountains Glaciers Snow regions Sea Coastal Agriculture … People want the data! DIY Mobile Participatory
  3. 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. 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. 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. 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
  7. 7. The OpenIoT Architecture Semantic data management Sensor data management X-GSN goes here
  8. 8. GSN: Global Sensor Networks Managing sensor datasets Publishing sensor observations Discovery and exploration of datasets Processing sensor time series
  9. 9. Open source project: Available in Github • Open Source License • Mainly in Java • Community Support • Used in several projects
  10. 10. Releases available in Github
  11. 11. The OpenIoT Architecture Semantic data management Sensor data management X-GSN goes here Discovery & Exploitations
  12. 12. Request Definition & Presentation 12 Everything nice if your data is also nice
  13. 13. Issues: here, there and everywhere 13
  14. 14. GSN architecture 14 security data access interfaces query processing storage data acquisition preprocessing
  15. 15. GSN: distributed deployment 15 pluggable output pluggable input standards? discovery? vocabularies? semantics?
  16. 16. GSN REST interfaces: e.g JSON 16 Request all sensors in this GSN instance Standard vocabs? Semantics?
  17. 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. 18. Ontologies in OpenIoT 18 ‘configure’ ontologies here But sensors and wrappers configured here Virtual Sensors
  19. 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. 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. 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. 22. Register metadata 22 If ontologies change… If we add new types of sensors? Do I have control over my sensor metadata?
  23. 23. Metadata properties 23 sensorID="http://lsm.deri.ie/resource/1099207032411018" sensorName=closedsense source=“Some source" sourceType=lausanne sensorType=lausanne information=Air Quality Sensors from Lausanne station 1 author=opensense feature="http://lsm.deri.ie/OpenIoT/opensensefeature" fields="humidity,temperature" field.temperature.propertyName="http://lsm.deri.ie/OpenIoT/ Temperature" field.temperature.unit=C field.humidity.propertyName="http://lsm.deri.ie/OpenIoT/Hu midity" field.humidity.unit=Percent field.co.propertyName="http://lsm.deri.ie/OpenIoT/CO" field.co.unit=PPM latitude=46.529838 longitude=6.596818
  24. 24. Turtle RDF registration 24 <sensor/5010> rdf:type aws:CapacitiveBead,ssn:Sensor; rdfs:label "Sensor 5010"; ssn:observes aws:air_temperature ; phenonet:hasSerialNumber <sensor/5010/serial/serial2> ; ssn:onPlatform <site/narrabri/Pweather> ; ssn:ofFeature <site/narrabri/sf/sf_narrabri> ; ssn:hasMeasurementProperty <sensor/5010/accuracy/acc_1> ; prov:wasGeneratedBy "AuthorName"; DUL:hasLocation <place/location1>; lsm:hasSensorType <sensorType1>; lsm:hasSourceType "SourceType". <sensorType1> rdfs:label "TypeName". <sensor/5010/serial/serial2> rdf:type phenonet:SerialNumber; phenonet:hasId "5010" . A bit more of semantics Need tools for this
  25. 25. OpenIoT Schema Editor 25
  26. 26. Mobile sensors issues ssn:inDeployment dul:hasLocation 26 ssn:FeatureOfInterest ssn:ofFeature ssn:Property ssn:observes ssn:Sensor ssn:SensingDevice ssn:Deployment ssn:Platform dul:Place geo:lat, geo:lng xsd:double But sensors move! ‘Mobility context’ Places where the sensor is usually in…
  27. 27. URI issues • Auto-generated URIs: problematic naming • Generate a sensor URI: templating • Producing Duplicated Sensor registrations 27
  28. 28. 28 Push observations Push observations there?
  29. 29. Push observations 29
  30. 30. RDF observation annotations 30 CQELS stream processing When to store, when to stream? A-priori knowledge of the data usage
  31. 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. 32. Discussion • Annotation in IoT • Dynamic sensor data streams • Scalability • Ontologies & Vocabularies • Reuse, definition, policies • OpenIoT platform • Modules available • System integration 32
  33. 33. Muchas gracias! @jpcik Jean-Paul Calbimonte LSIR EPFL