rafael zubairov- open source iot data platform with the wide range of device integration options

Post on 07-Jan-2017

67 Views

Category:

Devices & Hardware

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Open Source IOT Data Platform.DeviceHive.

Hello!

● Senior Software Architect, Software Engineer @ DataArt

● DeviceHive developer

● Open Source IOT Data Platform

Yesterday...

● Devices were huge

● Energy consumption was high

● Was difficult to integrate

Today

● Miniature and Highly portable

● Energy harvesting & Ultra low power

● Many frameworks and tools that ease integration

Where are they?

● Everywhere!

○ Clean Tech;

○ Security & Surveillance;

○ Medicine & Health Care;

○ and many other places!

Technical Challenges

● Rely on industry adopted formats/protocols

● Concentrate on business functionality

● Choose the right tool

What DeviceHive is

● Device management platform

● Security and access management

● Open source product started by DataArt (https://github.com/devicehive)

DeviceHive IoT Toolkit

● Cloud connectivity

● GPIO support

● BLE

● and more

Typical Solution Architecture

Connecting all together

● Nikolay, ESP8266 connectivity

● Tanya, SensorTag and analytics in Apache Zeppelin

● Sergey, Sensors and StreamTools

Device Integration with ESP8266

● Small

● Cheap

● Ready Firmware

Short demonstration - Connectivity

https://www.youtube.com/watch?v=IRj4tOfLTAM

AllJoyn Integration

DeviceHive AllJoyn Bridge

BLE EnOcean OnlineService

Device Device VirtualDevice

AllJoynDevice

AllJoynDevice

AllJoynDevice

Real time analytics

Sensors

SensorsGateway

DeviceHive DataQueue

RuleEngine Storage

Web Dashboard

Notification Engine

Sensor Tag & Analytics

Sensor Tag & Stream Tools demo

https://www.youtube.com/watch?v=XiT9vsW7qwg

https://www.youtube.com/watch?v=NUf85VBFQCM

Data

● Timestamped

● Immutable

● Sent on a very high rate

Let’s do a small demo

Websocket/REST Websocket/REST

Analytics Online data processing implemented using spark streaming analytical jobs.

Device notifications received through the Kafka queue interface and then fed into the aggregations.

Aggregation results are then sent to the frontend layer.

Real time dashboards

Websocket transfer

Akka streams is used to transfer data from Kafka queue to the websocket, and expose real time aggregated values available to web frontend.

Frontend uses D3 library to draw USA map and charts.

Let’s go to the web page

Enhancing our env

● Data Storage: Cassandra, InfluxDB

● Real dashboards: StreamTools, Grafana

● and more

Let’s put little bit more...

● TICK stack (telegraf, influxdb, ...)

● Grafana

Next steps

● turn on your imagination

● get the device and make our environment smarter

Thank you very much!

DeviceHive: http://devicehive.com/

Contact: rafa@devicehive.com

top related