People Counting: Internet of Things in Motion at JavaOne 2013
-
Upload
eurotech -
Category
Technology
-
view
2.766 -
download
2
description
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
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
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
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
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