simulating iot for fun and profit - eclipsecon 2020 · 2017-06-26 · simulating iot for fun and...

25
SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer 2017-06-24

Upload: others

Post on 06-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

SIMULATING IOT FOR FUN AND PROFIT

Heating a room with IoT on OpenShift

Jens ReimannSenior Software Engineer2017-06-24

Page 2: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer
Page 3: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

KEY COMPONENTS

Page 4: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

4

Sensor CloudGateway

3 TIER IOT ARCHITECTURE

Page 5: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

5

KEY COMPONENTS

● OpenShift™

● MiniShift – Single node OpenShift

● Eclipse Kapua™ – IoT cloud platform

● Gateway Client SDK

● Kura simulator

● Eclipse Kura™

● Emulator Docker image

● Grafana™

Page 6: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

6

Edge Cloud

ARCHITECTUREWhat needs to be tested

Eclipse Kura Eclipse KapuaSensor “Business System”

Page 7: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

7

BUILDING BLOCKSOpenShift Metrics, Kapua & Grafana

Kapua

Grafana

ElasticsearchOpenShift

Metrics

Gateway ClientKura Simulator

Agent

Page 8: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

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

Page 9: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

9

THE CODE…

● … is available on GitHub:● https://github.com/ctron/simulating-iot

Page 10: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

DEMO

Page 11: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer
Page 12: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer
Page 13: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

THE KURA SIMULATOR

Page 14: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

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

Page 15: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

15

TWO WAYSFramework vs. application

Your Application

Mock Gateway

Eclipse Kapua

Your Application

Mock Gateway

Eclipse Kapua

Unit Tests

Full application setup

Page 16: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

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

Page 17: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

17

IT’S LIKE MINECRAFTRe-creating worlds with the same seed

Page 18: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

DEMO

Page 19: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer
Page 20: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer
Page 21: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer
Page 22: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer
Page 23: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

QUESTIONS?

Page 24: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer

24

LINKS

THIS TUTORIALhttps://github.com/ctron/simulating-iot

ECLIPSE KAPUAhttps://eclipse.org/kapua

GATEWAY CLIENT SDKhttps://github.com/ctron/kapua-gateway-client

Page 25: SIMULATING IOT FOR FUN AND PROFIT - EclipseCon 2020 · 2017-06-26 · SIMULATING IOT FOR FUN AND PROFIT Heating a room with IoT on OpenShift Jens Reimann Senior Software Engineer