Upload
withthebest
View
67
Download
3
Embed Size (px)
Citation preview
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