People Counting: Internet of Things in Motion at JavaOne 2013

31
Java in the Air: A Case Study for Java-Based Environment Monitoring Stations Marco Carrer, Eurotech Andrew Gilbert, Oracle JavaONE 2014, San Francisco

description

A Case Study for Java and OSGi in Connected Systems, JavaOne 2013 in San Francisco

Transcript of People Counting: Internet of Things in Motion at JavaOne 2013

Java in the Air: A Case Study for Java-Based

Environment Monitoring Stations

Marco Carrer, Eurotech

Andrew Gilbert, Oracle

JavaONE 2014, San Francisco

Agenda

• IoT Present and Challenges

• Java, OSGi and Eclipse Kura: IoT Gateway Services

• Embedded Data Streams: Edge Analytics

• Use Case: Environment Monitoring Stations

• Q&A

Gartner’s Hype Cycle

IoT Challenges Where IoT projects most often fail…

M2M

Communication

Infrastructure

Device

Firmware /

Application

Business

Application

Sensors &

Device

Hardware

Business

Application

Integration

1

2 3

4 6

• Selecting and

integrating sensors,

devices, sensors,

human machine

interfaces (HMI),

Meters, legacy field

busses & actuators

• Ensuring long life

support

• Meeting certification

requirements

• Selecting and

integrating

operating system,

device support /

drivers

• Implementing the

business logic

• Optimum

M2M

protocols

• WAN cost

reduction

• Security

• Device data management

• Device life cycle management

• Security

5

• Decoupling of

producers and

consumers of

data

• Write speeds

• Real-time data

streams

• Data storage

• Standard APIs

• Ready to use

adapters for

standard

applications

• CEP / Complex

Event Processing

capabilities

1 2 3 4 6

5

7

• Application development & life cycle management

• Dashboards, user interaction & interfacing

• Integration (Big Data, social networks, enterprise IT)

7

IoT Era

Enabling New

Services and

faster

time to market

Real-time Data

Data Analysis

&

Management

Minimize Downtime –

High Availability

Cloud based

Services key

to reduce cost

& complexity

Common

Development

Environment

across

M2M solutions

Faster local

decision

making

Devices in-market

for longer

duration

Risk of opportunity

lost or non

compliance

Improving

operational

efficiency

Integration

and

Automation with

existing systems

Portability,

security with

scalability

Extracting

value from

large amounts

of data

Support for a

wide variety

of devices

Intermittent

connectivity

Security

of Devices and

Data Protection

IoT Architecture

Business

Applications

Sensors,

Actuators,

Displays, …

@

Application

Framework

+

Multi-Service

Gateway

M2M/IoT Integration Platform on Cloud M2M

Integration

Platform

IoT Gateway Stack Increase productivity and lower time to market

OSGi

on

Linux

Hardware

Java SE Embedded

Code

Code

Code

Java Today The most popular programming language

for Enterprise Applications

9+ Million Java Developers Stewardship & Innovation

Java Tomorrow The most popular programming language

for Enterprise & Embedded & IoT Applications

JAVA DEVICES

Linux OS

Embedded App

• Modular software for IoT Gateway Service

• Manage cloud connectivity

• Network configuration and administration

(cellular, Wi-Fi, …)

• Support for different field protocols

• (Serial, USB, Modbus, CANbus, …)

• Remote application management, configuration

and access

• Integrated development environment

• Application portability

• Open sourced in Eclipse IoT

ESF, with Kura at its foundation, is

commercially supported, remotely managed,

and optimized for industrial gateways and

applications.

Java / OSGi

Open HW Industrial

HW

Eclipse Kura

Kura Services

Java SE 7 (Oracle Java SE Embedded, OpenJDK)

OSGi Application Container (Eclipse Equinox, Concierge)

Device Abstraction

javax.comm

Basic Gateway Services

DB Service

Clock Service

Device Profile

Watchdog

Network Configuration Network Configuration

Field Protocols Connectivity and Delivery

Data Services MQTT Paho

Ad

min

istr

ati

on

GU

I

Applications

Your Application

Re

mo

te M

an

ag

em

en

t

Con

fig

ura

tio

n

Ma

na

ge

me

nt

javax.usb / udev

Cloud Services

Your Application

Firewall,

Port

Forwarding

Link Monitors Cellular, Wi-Fi,

Ethernet

GPS Position GPIO / SPI / PWM / I2C

Modbus

CANBus

Custom Protocols

Upd

ate

s

Ma

na

ge

me

nt

Rem

ote

Acce

ss

(VP

N)

Kura Developers’ Experience Designed from ground-up for developers

Emulate on PC Deploy on Target Cloud Managed

Start developing your M2M

application in the comfort of

your PC.

• Full Eclipse Integration

• Target Platform Definition

• Emulated Services

• Run/Debug from Eclipse

• Support Mac/Linux Hosts

When you are ready, deploy

your application on the

gateway.

• One-click Deployment

• Eclipse Plugin

• Remote Debugging

Provision your application to

field devices from the Cloud.

Manage your application

configuration and lifecycle

from a Cloud infrastructure.

No more field visits!

• Web-based Console

• REST API Integration

• Smart Alerts

Key Elements of Connected Intelligence

Always-on devices

connected to

variety of sensors

and running

multiple software

applications

1

High-frequency

data analysis for

instant decision

making and

automation of

information flows

2

Maximizing value

from hi-velocity

data in real time

3

Fast Data

Real-Time Analytics

Intelligent Devices

The value of data decreases over time Ensuring Real-Time Accuracy, Efficiency, and Scale

Business event

Action Time

Bu

sin

ess V

alu

e

Data captured

Analysis completed

Action taken

Source: Richard Hackethorn’s Component’s of Action Time

Complex Event Processing - CEP

Method of tracking and analyzing

data combined from multiple streams

to infer events or patterns that

suggest more complicated

circumstances.

Goal is to identify business meaning

of events (such as opportunities or

threats) and respond to them as

quickly as possible.

Source: http://en.wikipedia.org/wiki/Complex_event_processing

Event Patterns

Event Stream

Fine-grained simple events from

sensors and edge devices

Complex Events

Machine module non-

functional, power outage,

device tampering, etc.

Complex Event Processing

• Filtering

– New stream filtered for specific criteria, e.g. temperature > 200 F

• Correlation & Aggregation

– Scrolling, time-based window metrics, e.g. average heart pulse rate in the last 3 days

• Pattern Matching

– Notification of detected event patterns, e.g. machine events A, B and C occurred within 15 minute window

• Geospatial, Predictive Modeling and beyond

– Immediate recognition of geographical movement patterns, apply historical business intelligence models using data mining algorithms

Event Patterns

Event Patterns

Complex Events

Machine module non-

functional, power outage,

device tampering, etc.

Event Stream

Fine-grained simple events from

sensors and edge devices

CEP Engine

Query

Query

Oracle Event Processing Embedded OEP-E: High-Level Architecture

Inpu

t A

dapte

rs

Outp

ut A

dapte

rs

event

event

event

Real-time event data Context-aware filtering, correlation,

aggregation and processing of data

Processed business

events for downstream

applications

event

event

event

Sensors

Backend

Applications

Continuous Query Language - CQL

• CQL is based on standard SQL with extensions for streaming data

– CQL queries support filtering, partitioning, aggregation, correlation

(joins across streams), and pattern matching on streaming and

relational data

– Extends standard SQL by adding notion of Stream, operators for

mapping between relations and streams, and extensions for pattern

matching

– Window operator (e.g. RANGE 1 MINUTE) transforms stream into

a relation

• Example:

– SELECT AVG(temperature) AS avgTemp, tempSensorId

FROM temperatureInputStream [RANGE 1 MINUTE]

GROUP BY tempSensorId

Efficient Handling of Streaming Data Flow Event Processing Network (EPN) Example

Use Case: Environmental Monitoring

From this… … to this.

Eurotech ReliaSENS 18-12

Air Out Air In

Connectivity

• Cellular (3g, GRPS), WiFi

• Ethernet, GPS Positioning

Environment Analysis

• Electromagnetic radiation

• Radioactivity

• Temperature, Humidity, Pressure

Air Quality Measurements

• CO, CO2, NO, NO2, O3

• SO2, H2S, VOC

• PM10

Eurotech ReliaSENS 18-12

• One data point every minute

• Aggregated averages every hour, 8 hours, and daily

• Configurable thresholds and remote re-calibration

Java in the Air: Architecture

CLOUD (device management and cloud analytics)

Everyware Cloud

MQTT

DEVICE/GATEWAY (data collection

and edge analytics)

Linux

Hardware

Java SE Embedded

OSGi

ESF

Bundles

OEP-E

Bundles

Device

Connectivity

EUROTECH

DEVICE CLOUD

Device

Management

Data

Cache

Oracle Cloud

ORACLE

CLOUD

Oracle 12c DB

Oracle 12c OEP

Oracle BI

Linux

Hardware

Java SE Embedded

OSGi

ESF

Bundles

OEP-E

Bundles

Java in the Air: Gateway

3. MQTT Output

Adapter

1. Sensor Input

Adapters

2. Event

Processing

Network

4. Configuration

Updates

Input Adapters PM10, ELF, TPU, CO2, GEIGER, HF, NO2,

CO, O3, VOC Sensor Malfunctioning Detection

Raw Data Filtering

Stats

Alerts

Raw Data Publisher

Java in the Air: EPN

Java in the Air: CQL Examples Stats CQL Query Alerts CQL Query

MQTT Topic Namespace

Java1

CO2

RAW

FILTERED

DROPPED

STATS

30sec 60sec

ALERTS

CHANGE MISSING

HF

RAW

FILTERED

DROPPED

STATS

30sec 60sec

ALERTS

CHANGE MISSING

VOC

RAW

FILTERED

DROPPED

STATS

30sec 60sec

ALERTS

CHANGE MISSING

Demo

Summary

• EPN for modelling Embedded Business Logic

• Great Synergies with Remote Configuration and Management

• More things to be explored:

– Out-of-the-box ESF/Kura OEP-E Components

You are important!

• Learn More - come visit us on the Exhibition Floor:

– Eurotech Booth

– Oracle Booth

– Eclipse Booth

• Contribute! www.eclipse.org/kura

www.eurotech.com

Thank You!

www.oracle.com