Table of contents
- Foreword
- Examples
- Preparation for the Bosch IoT Things - Things Client
- License
This repository contains examples for using the Bosch IoT Things service in the cloud.
Bosch IoT Things is part of the Bosch IoT Suite which is the cloud-based IoT platform provided by Bosch Software Innovations, as part of the Bosch Group. Further background information regarding the platform is also available at the Bosch Software Innovations site.
The example code provided here shows a selection of the Bosch IoT Things service functionality. However, the examples do not cover the complete service offering. If you need more information, please visit the links above or contact us.
The examples are thematically according to the following topics:
- End2End
- Application related
- Device related
This example shows a simple Node.js based end-to-end scenario for Digital Twins based on Bosch IoT Things / Eclipse Ditto.
This example shows a simple Node.js based implementation and usage scenario for an integration of IoT devices with Bosch IoT Things / Eclipse Ditto that is based on distinguishing between the current reported state of device information and a desired, target state for that device. This is mainly required for configuration parameters of devices that are connected either sporadically or unstably.
This example shows how to connect an ESP8266 based IoT board via Bosch IoT Hub to Bosch IoT Things in order to
- update a digital twin via "telemetry" data sent from the device
- send command&control messages via Bosch IoT Things' HTTP API via Bosch IoT Hub to the device
This example shows how to connect an ESP8266 based IoT board via Bosch IoT Hub to Bosch IoT Things in order to update a digital twin via "telemetry" data sent from the device.
This example shows how to create a simple HTML/JavaScript user interface to list things and their details. Additionally, the inventory browser can show the things on a map, given that the thing provides “geolocation” information.
The inventory browser integrates the "device-simulator" and "historian" features.
Find the deployed version in our demo section: https://demos.s-apps.de1.bosch-iot-cloud.com/
This Java-based example shows how to collect and use historic data. While the Bosch IoT Things service keeps track of the latest property values of your things, this add-on helps to store old values in a MongoDB. Further, is shows, how to make your historic data accessible for REST-like requests, and how to display such data in a time series chart.
This Node.js based example shows how to collect historic data in a InfluxDB time series database and how to provide an query functionality integrated in the API of your Things.
With this tool it is possible to upload multiple things stored in a file. This example is using the things client for uploading the things.
This example shows how to use the Things Client for Java.
This example shows how to use the HTTP API within Java using the Signature Authentication.
This example shows a simple HTTP forwarder service implementation that pushes modifications of Things - managed with Bosch IoT Things - to an extern HTTP endpoint.
This example shows how integrate device telemetry data into things, of Bosch IoT Things, using the device connectivity of Bosch IoT Hub.
This example shows how to create a minimal Java-based device integration application with our Things Client for Java.
This example implements a simple HTML/JavaScript web application which simulates a simple device. It mimics a mobile phone/tablet to send data to the Things cloud service.
Some examples uses the Bosch IoT Things - Things Client. In order to be able to run the examples you should add following Maven-Repository to your Maven settings.xml
.
..
<repositories>
<repository>
<id>bosch-releases</id>
<url>https://maven.bosch-si.com/content/repositories/bosch-releases/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
..
</repositories>
..
After adding the public repository as described above, you can simply use the Bosch IoT Things - Things Client dependency to your pom.xml
:
<dependency>
<groupId>com.bosch.iot.things.client</groupId>
<artifactId>things-client</artifactId>
<version>4.0.0</version>
</dependency>
We also provide an OSGi-bundle:
<dependency>
<groupId>com.bosch.iot.things.client</groupId>
<artifactId>things-client-osgi</artifactId>
<version>4.0.0</version>
</dependency>
The examples are made available under the terms of Bosch SI Example Code License. See individual files for details.