Make IoT Child‘s play
Gamifying IoT with Vorto & Kura
Alexander Edelmann, Vorto Committer
Luca Dazi, Kura Committer
TI Sensor Tag Measured Data
IoT Gateway Stack
IoT Fever Game with Vorto & Kura
Information Model
Repository
Information
Model
TI Sensor Tag
Mapping
(Kura BLE)
TI Sensor Tag
Mosquitto
Server
GeneratesDescribes
Kura SensorTag
OSGI Service Bundle1
2
3
Measured Data (BLE)
Reads
Kura
Code –
Generator
Make IoT Child‘s Play - Overview
Business
Application
IoT GatewaysRevolution: Towards Real-time Actionable Data
MQTT
Broker
Make IoT Child‘s Play - Kura
Eclipse Open IoT Stack for Java
Java SE 7 / 8 (OpenJDK)
OSGi Application Container (Eclipse Equinox, Concierge)
Device Abstraction
javax.comm
Basic Gateway Services
DB Service
Clock Service
Device Profile
Watchdog
Network Configuration
Field ProtocolsConnectivity and Delivery
Data Services MQTT Paho
Adm
inis
tration
GU
I
Applications
Your Application
Rem
ote
Manage
men
t
Con
figura
tion
Manage
men
t
javax.usb
w/ udev access
Cloud Services
Your Application
Firewall, Port
Forwarding
Link
Monitors
Cellular, Wi-Fi,
Ethernet
GPS PositionGPIO / SPI / I2C
jdk.dio
Modbus
CANBus
Custom Protocols
Upd
ate
s
Manage
men
tR
em
ote
Access
Java HID APIs javax.bluetooth / BLE
...
Your Application
Make IoT Child‘s Play - Kura
Using Services
Acquire the relevant Declarative Service
Define Service members
Define Service hooks methods
Use the Service
Make IoT Child‘s Play - Kura
OSGi Metatype Definition
Define a metatype for
Application-specific configurable
data...
And manage those data
with the WebUI (Or
remotely...)
Make IoT Child‘s Play - Kura
Information model – Abstract representation of
functionalities and properties of the TI SensorTag
Functionalities
- Accelerometer Sensor
- Temperature Sensor
- Humidity Sensor
- Pressure Sensor
- etc.
TI Sensor Tag
Information Model
Functionblock: Accelerometer Sensor
Functionblock: Temperature Sensor
Functionblock: Humidity Sensor
Device specific information
Functionblock: Pressure Sensor
Mapping
…
Information Models are created using the IoT Toolset.
Make IoT Child‘s Play - Vorto
The IoT Tool Set – realized as Eclipse plugins and provides
a textual DSL editor
Overview of Vorto
Models in the local
workspace
View & Edit Vorto
Models
in a DSL Editor
Search & Download
Vorto Models from the
centralized Vorto
Repository.
Make IoT Child‘s Play - Vorto
The Vorto DSL: An easy way to describe a device
Complies to
Vorto Meta Model
Make IoT Child‘s Play - Kura
Vorto Model Repository – Manage & Share Information
Models in a centralized repository.
Vorto IoT Tool Set
vorto.eclipse.org/repo
REST
REST3rd Party Tool / App
Make IoT Child‘s Play - Vorto
Search
Download
Upload
A single platform for different stakeholders
Stefan B.User A
User B
Create Watch &
Receive
Change
Notifications
Upload Model
Alex
Search &
Download
Looks interesting. I
want to stay
informed
Great, let me
generate it for
my platform.
“The temperature
sensor is missing!”
“Ok, I will add the
sensor and share it
again”
Comment
Make IoT Child‘s Play - Vorto
Information Models can be transformed in various
representations. Example Code Generators are:
IoT Tool Set
Swift Java, XML Java, XML, XSD
Ku
ra
iOS
Pla
tfo
rm
Bo
sc
h M
2M
Code Generator
Extension Point
iOS
Information Model
Repository
Make IoT Child‘s Play - Vorto
IoT Gateway Stack
Code Generation: Kura TI Sensor Tag OSGI Bundle
Information Model
Repository
Information
Model
1
Code
Generator
BlueTooth Service
Sensor BlueTooth
Detection
TI SensorTag
MQTT Client
Generated OSGI Bundle
IoT Gateway Services
2
Communicates
create
Make IoT Child‘s Play - Vorto
Legend
Vorto Toolset Architecture
Eclipse Platform
Eclipse Modelling
Framework
Eclipse Xtext
Information Meta
Model
Code Generator Infra
BoschVorto Model DSL Editors KuraRepository
Connector
Other
Vorto Components
Vorto Dependencies
Source Code available under
https://github.com/eclipse/vorto
Make IoT Child‘s Play - Vorto
Repository Services
Vorto Repository Architecture
Modeshape Engine
Vorto Information
Meta Model
REST Controllers
Import
Persistence
Validation SearchExport(DSL,XMI)
BrowserEclipse Toolset
EMF XText
Reference
Resolution
Legend
Vorto Components
Vorto Dependencies
Federation Connectors
Make IoT Child‘s Play - Vorto
1
6
TI Sensor Tag Measured Data
IoT Gateway Stack
Putting it all together in a demo…
Information Model
Repository
Information
Model
TI Sensor Tag
Mapping
(Kura BLE)
TI Sensor Tag
Mosquitto
Server
GeneratesDescribes
Kura SensorTag
OSGI Service Bundle1
2
3
Measured Data (BLE)
Reads
Kura
Code –
Generator
Make IoT Child‘s Play