Cisco Kinetic

Report 144 Downloads 60 Views
An Introduction to Developing for Cisco Kinetic Krishna Chengavalli Technical Marketing Engineer IoT Software DEVNET-1068

Cisco Spark Questions? Use Cisco Spark to chat with the speaker after the session

How 1.

Find this session in the Cisco Live Mobile App

2.

Click “Join the Discussion”

3.

Install Spark or go directly to the space

4.

Enter messages/questions in the space

Cisco Spark spaces will be available until July 3, 2017.

cs.co/ciscolivebot#DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Agenda •

What is IoT?



Cisco’s IoT Stack



Developing for Cisco’s IoT Stack



Walk Through



Summary

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

What is IoT?

IoT Leverage Machine Data to deliver Business Benefit Improve Efficiency / Better Customer Experience / Monetize New Business

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

The Impact of IoT Remote Monitoring Real-time Quality Detection

$1B/Year

(Maryland) savings in costs / commuter from faster incidence response times

Preventative Maintenance Safety

OEE Equipment Efficiency) OEE(Overall (Overall $1B/year (US) Equipment Efficiency)

Condition-Based Maintenance

$950/Year/Commuter

savings in theft from crash and grab raids on ATMs

savings in costs/commuter from 42 less hours at lights.

$300K/hour eliminated in downtime costs with predictive analytics Asset Tracking & Management Asset Tracking & Management Real-time Quality Detection DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

6

Decomposing a Successful IoT Project

Connect

Collect

Transform

Deliver

Devices

Data

Data

Data

DEVNET-1068

Analyze & Act

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

7

The Cisco IoT Product Portfolio Organization Implementation Methodology Vertical Market Applications Cloud Data Services Fog Data Services

Cisco Kinetic

Manage Collect

Device Communication Application

Connect © 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Cisco (IoT Cloud Service): Gateway Management Zero Touch Deployment Predictive Maintenance

Technician Toolkit

Machine Analytics

New Service Creation

1

Gateway Power On

2

Field Tech App

3

Scanning / Claiming

4

Call Home / Register

5

Gateway Provisioning

6

Edge / Fog App Download

7

Connect to Devices / Sensors

8

Data Gathering, Processing, API to Applications

9 01010 01010

App

App

App

App

App

App

101010101 010101010 101010101

01010101010

6

Container

1

Cisco Kinetic

5 4 3 SIM

Gateway

8 7

9

DEVNET-1068

Cisco or 3rd Party Applications

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

9

Cisco Gateway Management Predictive Maintenance

Technician Toolkit

Machine Analytics

New Service Creation

1

Gateway Power On

2

Field Tech App

8

Data Gathering, Processing, API to Applications

9 01010 01010 101010101 010101010 101010101

01010101010 Container

1

SIM

Gateway

8

9

DEVNET-1068

Cisco or 3rd Party Applications

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

10

Empowering the Edge Compute Inside the Network Data Center / Cloud

Business Applications Management

Analytic Systems

IoT Applications

Billing

Microservices

Edge / Fog Processing

Edge / Fog Processing • Optimized hardware footprint • No need for separate compute machinery • Integrated security

• Empowered edge processing • Reduced latency & bandwidth cost

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

11

Cisco (IoT Cloud Services) Services for the Cisco IoT Network

“Brokering” Data Distribution • By Source • By Content • By Rules • By Policy

• Gateway Management (covered in earlier slides) • Remote Access • Application Management • Data Routing

IoT Services

Fog Computing Fabric

IP Network

Distributed Computing Built into the Network, Served by the Cloud DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

12

An Open System 3rd Party M

M

M

C++

C

Java

Filtering

M

M

M

M

Javascript

M

Python

M

M

Ruby

M

Dart

M

Scala

Time-Series Historian Database Event Stream Processing Correlation Aggregation (ParStream)

M

M

M

Connectivity Gateway Management Management

Cisco Networking + Gateway & Connection Management + Microservices (Develop or Buy)

+ IoT Cloud Services + IoT Vertical Applications

M

Device or Controller

Edge Node

Fog Node

Data Center

Cloud

Generating Data

Capturing Data

Aggregating Data

Leveraging Data

Analyzing Data

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

13

Leveraging Data End to End with Cisco Visualization

Analytics

Alerting

Cloud APIs E2E Management Policy Based Data Transformation, Event Processing and Routing E2E Security

Cloud Data Services

Cloud Management of Gateway & Devices

High Performance Data Storage

Data Transformation

Anomaly Detection

Third Party Applications

Fog Data Services

Management

Modbus |

OPC

|

MTC 1.4 |

MTC 1.3 | Other

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

14

Data Delivery to IBM or CAM

Walk through

We need You to make our IoT Solution complete at the Edge, Fog and Cloud.

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

17

Edge & Fog App Development •

Intelligence at Edge •

Take action based on data • Real time response •

Protocol Support •



Analytics •



Run efficient ML algorithms

Visualization •



Interface with various sensors / machines

Provide Vertical Specific Dashboards

IOX Developer Support - https://developer.cisco.com/site/iox/

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

18

IOX App – package_config.ini

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

19

Cisco Kinetic MQTT Client APIs /*Client object instantiation*/ ICloudConnectClient dcClient = new MQTTClientEdge(); /* Initialize the client with Properties and MqttCallbackExtended. props - Properties object which reads the package_config.ini to populate mqtt credentials. callback - MqttCallbackExtended object to decide necessary action required on messageArrival, connectComplete, onDelivery etc.*/ dcClient.init(props, callback); /*The connect API establishes the mqtt connection from the sample app to IoT Data Connect Cloud. */ dcClient.connect(); /*The publish API publishes 'msg' on 'topic' for mqtt broker in IoT DataConnect Cloud */ dcClient.publish(topic(), msg); /*The subscribe API subscribes to 'topicToSubscribe' for mqtt broker in IoT DataConnect Cloud */ dcClient.subscribe(topicToSubscribe);

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

20

Cisco Kinetic Developer Support for Edge •

Intelligence at Edge •

DSL – State Processing at Edge • • • •

Data Inspection & Decision Making Thresholds / Slice / Throttle / Time Series Data Operations Supports Data Reduction Data Delivery Policies in the Cloud

Rules Engine at Edge – Java JAR File • Sample App • Works with RaspberryPi + SenseHat •



More SDKs coming soon

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

21

Cisco Kinetic Rules Engine •

Example Rules at Edge using Cisco Kinetic Rule Engine



Filtering when brakes.temp in-msg THEN { when msg(brakes.temp) > 5 then { LOG "Brake temp greater than 5" ; } }



Broker Data By Content – Do this in the Portal to drive Data Policies



Throttling

SEND TO ”BluemixApp" TOPIC ”onlytemp" JSON brakes.temperature;

when abs(msg(engine.temp) - prev(engine.temp)) > 10 THEN THROTTLE(1 m) { SEND TO "starlord" TOPIC "EMAIL/TEMP_CHANGED_10" JSON engine; } •

Time Series TS_UPDATE tempTimeSeries WITH msg(engine.temp) WINDOW (3 sec); temp_avg = ts_avg(tempTimeSeries); temp_count = ts_count(tempTimeSeries);

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

22

Cisco Kinetic Rules Engine APIs /*Instantiate the rule engine object*/ RuleEngine ruleProcessor = new RuleEngine(configFile); /*Pass each message through ProcessData method in rule engine to get a list of actions generated after applying the rule on the message deviceName - Name of the device as defined in the IoT DataConnect portal. message - json string for the message received from Raspberry Pi or read from the file.*/ List messages = ruleProcessor.ProcessData(deviceName, message);

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

23

Cloud Applications •

Vertical Specific Applications Predictive Maintenance – Analytics / Machine Learning • Remote Expert – Build on Remote Access Feature •



Visualization •

Uses Aggregated Data from the sensors • Custom Dashboards – Fleet Mgmt / Robot Maintenance Support •

Admin & Management Apps •

Integrate with Workflow • Uses Portal APIs • Gateway / Device Deployment App • Alert / Notification Apps

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

24

Cisco Kinetic Developer Support for Cloud •

Portal APIs •

REST APIs • Swagger style • Admin & Management •

Data Consumer / Command Publisher •

Sample AMQP client to consume data •



Extend to pull data into your Applications

Sample AMQP client to send commands to Devices •

Extend to send commands from your Applications

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

25

Supported Platforms •

IOX Apps •

IR8x9 • Python – Easy to Prototype • Java •

DSLinks •

X86 running Linux • Java • DART • C

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

26

Continue Your Education •

Demos in the Cisco campus



Walk-in Self-Paced Labs



Lunch & Learn



Meet the Engineer 1:1 meetings



Related sessions: •

DEVNET-2598 DevNet Workshop-Deep Dive into Cisco IoT Operations Platform • DEVNET-2093 An Introduction to Cisco IoT Operations Platform • DEVNET-2404 DevNet Workshop- Deep Dive into Cisco IoT Operations Platform • DEVNET-1777- An Introduction to the IoT Ecosystem-Casey Bleeker is the speaker

DEVNET-1068

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

27

Complete Your Online Session Evaluation •

Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 gift card.



Complete your session surveys through the Cisco Live mobile app or on www.CiscoLive.com/us. Don’t forget: Cisco Live sessions will be available for viewing on demand after the event at www.CiscoLive.com/Online.

© 2017 Cisco and/or its affiliates. All rights reserved. Cisco Public

Thank you