simulating iot for fun and profit - eclipsecon 2020 · 2017-06-26 · simulating iot for fun and...
TRANSCRIPT
SIMULATING IOT FOR FUN AND PROFIT
Heating a room with IoT on OpenShift
Jens ReimannSenior Software Engineer2017-06-24
KEY COMPONENTS
4
Sensor CloudGateway
3 TIER IOT ARCHITECTURE
5
KEY COMPONENTS
● OpenShift™
● MiniShift – Single node OpenShift
● Eclipse Kapua™ – IoT cloud platform
● Gateway Client SDK
● Kura simulator
● Eclipse Kura™
● Emulator Docker image
● Grafana™
6
Edge Cloud
ARCHITECTUREWhat needs to be tested
Eclipse Kura Eclipse KapuaSensor “Business System”
7
BUILDING BLOCKSOpenShift Metrics, Kapua & Grafana
Kapua
Grafana
ElasticsearchOpenShift
Metrics
Gateway ClientKura Simulator
Agent
8
USE CASES
Components
● Kura simulator framework
● Kura simulator application
● Gateway client SDK
● Kura emulator
Use cases
● Unit tests
● Integration testing – Cloud applicationScale out testing
● Integration testing – Cloud application
● Integration testing – Gateway applicationInteractive/development testing
9
THE CODE…
● … is available on GitHub:● https://github.com/ctron/simulating-iot
DEMO
THE KURA SIMULATOR
14
WHAT IS IT?A lightweight mock implementation of Kura
● Framework or ready-to-run application
● Plain Java
● Mock services for e.g. Bundle installation
● Allow custom applications
● Data generation framework
15
TWO WAYSFramework vs. application
Your Application
Mock Gateway
Eclipse Kapua
Your Application
Mock Gateway
Eclipse Kapua
Unit Tests
Full application setup
16
DATA SIMULATIONCreating telemetry data streams
Allows to create streams of time-synced telemetry data with easy scaling
● Multiple application and topics
● Mapping value generators to metrics
● Configured via JSON
● Allow dropping in custom generator implementations
● Create re-producible values for a point in time
TIMESTAMP VALUE
t1 =sine(t1)
t2 =sine(t2)
t3 =sine(t3)
Reproducible values
17
IT’S LIKE MINECRAFTRe-creating worlds with the same seed
DEMO
QUESTIONS?
24
LINKS
THIS TUTORIALhttps://github.com/ctron/simulating-iot
ECLIPSE KAPUAhttps://eclipse.org/kapua
GATEWAY CLIENT SDKhttps://github.com/ctron/kapua-gateway-client