bosch iot web days€¦ · bosch iot web days. bosch iot suite deep dive for developers. anna,...

32
Bosch IoT Web Days Bosch IoT Suite deep dive for developers Anna, Fabian | Bosch Software Innovations

Upload: others

Post on 23-Aug-2020

28 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch IoT Web Days

Bosch IoT Suite deep dive for developers

Anna, Fabian | Bosch Software Innovations

Page 2: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

HANDS-ON:CONNECT A ESP32 BOARD TO THEBOSCH IoT SUITE

Page 3: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

ESP32 BoardHardware

Connectivity

Display all values ina dashboard, change

display content

Display

Temperature

Voltage

MagneticStrength Goal

3

Page 4: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

DEMO ARCHITECTURE

Page 5: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

AssetCommunicationPackage

OverviewArchitecture

5

Demo application

Pre-flashed ESP32-board with Bosch IoT Rollouts credentials

1.Deployconnectivityconfiguration

3.Store historical values

4. Sendcommands

to device

2.Push data to Twin

Page 6: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

What we‘ve preparedArchitecture

Firmware with diverse functionalities Configuring device via Wifi AP Update device via Bosch IoT Rollouts Pushing sensor data to Bosch IoT Hub Receiving and processing a variety of commands

Pre-flashed firmware as well as Bosch IoT Rollouts configuration on the device

6

Page 7: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

DEMO WALKTHROUGH

Page 8: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

Now 5 steps are followingLet‘s get started

2. Flash credentials on the device using Bosch IoT Rollouts

3. Claim device with a Bosch IoT Permissions user

4. Watch data coming in

5. Send message/command to the device

1. Register device through Asset Communication Package

8

Page 9: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

2. Flash credentials 3. Claim device 4. Watch data 5. Send message1. Register device

Step 1: Register device with Asset Communication PackageDemo walkthrough

Book an AssetCommunication Package

Use the Device Provisioning APIto register a device

Register aname space

9

Page 10: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

2. Flash credentials 3. Claim device 4. Watch data 5. Send message1. Register device

OverviewArchitecture

Demo application

Pre-flashed ESP32-board with Bosch IoT Rollouts credentials

AssetCommunicationPackage

10

Page 11: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

3. Claim device 4. Watch data 5. Send message1. Register device 2. Flash credentials

Step 2: Flash credentials on device using Bosch IoT RolloutsDemo walkthrough

Check target was created Deploy configurationUpload configuration

11

Page 12: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

3. Claim device 4. Watch data 5. Send message1. Register device 2. Flash credentials

OverviewArchitecture

Demo application

AssetCommunicationPackage

Pre-flashed ESP32-board with Bosch IoT Rollouts credentials

12

Page 13: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

Step 2: Provisioning processDemo walkthrough

3. Claim device 4. Watch data 5. Send message1. Register device 2. Flash credentials

13

Page 14: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

4. Watch data 5. Send message1. Register device 2. Flash credentials

Step 3: Claim the device using a Bosch IoT Permissions userDemo walkthrough

3. Claim device

Register/Login to the demoapplication with a Permissions user Claim the deviceUse the device secret to claim

14

Page 15: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

4. Watch data 5. Send message1. Register device 2. Flash credentials 3. Claim device

OverviewArchitecture

AssetCommunicationPackage

Pre-flashed ESP32-board with Bosch IoT Rollouts credentials

Demo application

15

Page 16: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

4. Watch data 5. Send message1. Register device 2. Flash credentials 3. Claim device

Step 3: Claiming process – register new user and loginDemo walkthrough

16

Page 17: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

4. Watch data 5. Send message1. Register device 2. Flash credentials 3. Claim device

Step 3: Claiming process – claim deviceDemo walkthrough

17

Page 18: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

Step 4: Watch data coming in Demo walkthrough

4. Watch data 5. Send message1. Register device 2. Flash credentials 3. Claim device

18

Page 19: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

4. Watch data 5. Send message1. Register device 2. Flash credentials 3. Claim device

OverviewArchitecture

AssetCommunicationPackage

Pre-flashed ESP32-board with Bosch IoT Rollouts credentials

Demo application

19

Page 20: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

Step 5: Send messages to the deviceDemo walkthrough

4. Watch data 5. Send message1. Register device 2. Flash credentials 3. Claim device

Send messages using thedemo application

Understanddevice connectivity

Send messages usingthe REST API

20

Page 21: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

4. Watch data 5. Send message1. Register device 2. Flash credentials 3. Claim device

OverviewArchitecture

AssetCommunicationPackage

Pre-flashed ESP32-board with Bosch IoT Rollouts credentials

Demo application

21

Page 22: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

Agenda

Bosch IoT Suite for developers

Bosch IoT Suite deep dive for developers1

Summary & Questions

1) This part of the developer stream is an interactive one. You can participate actively – but you don't have to. If you want to, then you’ll need a Bosch ID,which you can generate here free of charge: www.bosch-iot-suite.com

22

Page 23: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

SUMMARY

Page 24: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

Features located on architectureBosch IoT Suite

Custom applicationsand extensions

Optional:Gateway devices

Edge devices

Connectivity /device communication

Device & softwaremanagement,data management

Digital twins &unified device API

Business logic toolbox

User Account Management

Role based access control

Tenant Management

Identity ProviderIntegration

Device Modeling

ModelRepository

Generators

Modeling Tools UI

Management UI

Applications

CustomMQTT HTTP LoRaWAN Gateway Software Protocol

Telemetry Events Command & Control Device Identity / Credential Registry

SigFoxCoAP AMQP 1.0

Digital Twins

Topology

Managed Device Inventory Unified Device API

Device Access PoliciesEvent Notifications

Payload Transformation

Anomaly Detection Quality SignalsPredictive Maintenance …

Protocols Automation Engine Device & Protocol Abstraction

Device Monitoring

Backup & Recovery

Mass/Batch Management Scripting Rule-Based Automation

Device Troubleshooting Reporting, audit logging & rollout monitoring

Artifact Content Delivery

Software Update & Rollout (Campaign) Mgmt.

Device & Software Repository

Masterdata Management

Dashboards & Visualization

Notification & Alerts & Geofencing

Data Processing

Historic & Processed Data Storage

Device Management UI Rollouts Management UI

Device Diagnostics

Software Dependency Management. Industry Data Handling

OMA-DM

24

Page 25: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

What did we do in the demoSummary

Using the Device Provisioning API (Bosch IoT Suite for Asset Communication): Register device at

Bosch IoT Hub to get credentials, create a new digital twin representing the device

Using Bosch IoT Rollouts: Deploy newly created Bosch IoT Hub device credentials to device over

the air

Using Bosch IoT Things in demo application: Claiming the device to access its data via a claiming

message

Using Bosch IoT Things in demo application: Sending a message to the device

25

Page 26: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

DO YOU HAVE QUESTIONS?

Page 27: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

27

“Can the policies be associated with groups/roles or only explicit users?”

Yes, they can be assigned to IoT Permission Groups, Roles , Users, Bosch ID, JWT Tokens, OAuth2 identities from IoT Suite (e.g. Suite Auth)

“Regarding flashing Firmware OTA (and not "only" some configuration files): How does this work? I would image this is very device-specific and needs to be supported explicitly”

Yes largely so. The device would need to understand what's being downloaded and react to it.For products using the IoT Gateway software, such limitation would not be so since the IoT Gateway has an agent software which understands how to work with software modules/bundles and what to do with them.

“Is the created namespace private.. Can we access it ?”

A thing namespace is technically available globally as long as an account or principal has been given rights to it. A subscription owner which registers the namespace would of course have full access to it.

Page 28: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

28

“Are all Bosch IoT Suite Services for free?”

We provide free plans for all of them, yes.

“How much memory and processing power does the entire suite use on the device itself - for example on ESP32? Can you use deep sleep to reduce electricity consumption?”

The memory and power consumption depends on the implementation of the firmware for the device, same for deep sleep capabilities. The Gateway Software can be bundled to a reduced size that is able to run on limited devices.

“Are you open to PoCing your solutions with interested clients?”

We have a Go-to-Market organization for that! Please contact us! [email protected]

Page 29: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

29

“How can you flash every device with new firmware with the rollout service ? Are all kind of devices on the market able to handle that ”

The device's firmware needs to support a firmware update via Rollouts. Rollouts is just triggering the update process by a dedicated protocl.If its a campaign (meaning you wish to deliver new firmware to connected already devices), there's where the Rollouts campaign would be used.If your device is connecting to Rollouts for the first time, there are ways to make the device's softball targets up to date, you can use for example "auto assignment filters" of Rollouts to assign initial packages/zero-day updates.With regards to scale, this is something Rollouts is designed to handle. You just need to decide how many groups and configure error/rollout thresholds.

“Is the Suite - Bosch specific, or can be used by third party ?”

For sure we're available by both internal and external. Hop over to bosch-iot-suite.com and you can create an account and start booking today, no fuss no mess.

Page 30: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

30

“How do you add support for a new device protocol (e.g. a proprietary protocol)?Is there a list of devices that you support (and have tested/certified)?Lets say that we need support for a specific device it is possible to request you to add this? ”

1. Adding a new protocol would depend on the nature of what the protocol is supposed to. For Telemetry: Protocols typically differ between the communication aspects and semantic/function. For example CoAP is a protocol which works over UDP but LWM2M (which uses CoAP) introduces specific contracts and semantics which makes Device Management easier. Also you'd have to ask which service you're adding this for. On IoT Hub, this typically means implementing Hono Adapters/Translators. These adapters would typically handle all the communication-specific details (like TLS handshake, etc) as well as authentication. It would also ideally implement all the Hono AMQP API interfaces required (e.g. Device Assertion)

For implementing a Device Management protocol on Rollouts for example, you'd implement a DMF Client which acts as a proxy between Rollouts and the Device. This piece of software would have to implement BOTH communication details as well as Device Management semantics.

Both scenarios are supported by IoT Suite.2. See https://www.bosch-iot-suite.com/iot-devices/ . This is not an exhaustive list! Please contact us for a more detailed list of devices and protocols.3. If you're operating the adapter/connector, its definitely supported. If it is not, please contact us!

Page 31: Bosch IoT Web Days€¦ · Bosch IoT Web Days. Bosch IoT Suite deep dive for developers. Anna, Fabian | Bosch Software Innovations

Bosch Software Innovations GmbH | Bosch IoT Web Days | Sep 24/25, 2019© Bosch Software Innovations GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution as well as in the event of applications for industrial property rights.

31

“How do we connect thousands of devices (automatically)”

This depends on how you'd like to do this.For some devices, you can commission credentials and identities out of the factory (End of Line Process). This would mean at the end of line, you have tooling to perform the generation and burning of key material to device.For others, you may want to do this during paring or first-time connection. This would mean you only provision for example Rollouts Gateway tokens. When a device connects to Rollouts (or IoT manager), it is registered and key material is generated on the fly and then delivered back to the device (along with any latest firmware/software)For yet others, this could be more manual (e.g. bound to a user through QR code sscanning, where custom integration would generate a custom credential scheme to deliver to the device)