# XDK WorkSpace

## XDK WorkSpace

The XDK Workbench is an Eclipse-based IDE (Integrated Development Environment). Several examples are provided to demonstrate functionality and provide a jumping-off point for software developers.

Additional software for the device can be found at:

* [Bosch Software Innovations](https://xdk.bosch-connectivity.com/bosch-software-innovations)
* [Zatar](https://xdk.bosch-connectivity.com/zatar)
* [Relayr](https://xdk.bosch-connectivity.com/relayr)
* [Evothings](https://xdk.bosch-connectivity.com/evothings)
* [Bosch Engineering](https://xdk.bosch-connectivity.com/beg)
* [Bosch Sensortec](https://xdk.bosch-connectivity.com/bst)
* [BellaDati](https://xdk.bosch-connectivity.com/belladati)
* [LEM IoT](https://xdk.bosch-connectivity.com/lem)
* [Appropos](https://xdk.bosch-connectivity.com/appropos)&#x20;

## Startup

Start the XDK Workbench by clicking on the XDK icon on your desktop. During the startup a splash screen appears. The welcome screen will be shown afterwards.

![](/files/-Lj1NZPdAoIaOjm3OVaz)

### \*LINUX (Ubuntu)

The XDK-Workbench first attempts to establish communication over a port with the XDK Devices. For this, the application requires root privilege.

It should work if you start the application from terminal

```
$ sudo ./XDK-Workbench
```

### XDK Examples Overview <a href="#xdk-examples-overview" id="xdk-examples-overview"></a>

The XDK comes with a variety of application examples. Choose one example and click on it. The chosen example will be imported into the workspace. The following examples are currently included:

* Basics
  * **XdkApplicationTemplate**

    This is an empty template serving as a starting point for new projects
  * **LedsAndButtons**

    This example contains a showcase for the use of LEDs and buttons.
  * **SdCardExample**

    This example contains the showcases for the use of the SD card file system.
* Networking
  * **HttpExampleClient**

    This example shows how to use the network stack to perform an HTTP Client Request. HTTPS is not yet implemented. If an encryption is required, it is recommended to implement an own small encryption. (e.g. Base64)
  * **WlanNetworkManagement**

    This example demonstrates how to use the XDK WLAN Abstraction to scan for networks, join networks, set a static IP address or dynamically obtain an IP address via DHCP.
  * **Lwm2mExampleClient**

    This example demonstrates how to register with a LW-M2M Server including the standard LW-M2M Objects. Unencrypted and encrypted communication is both supported.
  * **SendDataOverUdp**

    This example demonstrates how to send arbitrary data over WLAN as a UDP Broadcast.
* Sensors
  * **SendAccelerometerDataOverBle**

    This example streams raw accelerometer data from the BMA280 Acceleration sensor via Bluetooth Low Energy (BLE). The Alpwise Data Exchange Profile is used; Alpwise iOS/Android App is required. Send “start” to XDK, so that streaming of data begins.
  * **SendVirtualSensorDataOverUsb**

    The example will print out raw data from all available physical sensors. The example captures the sensor data of all sensors in one cycle.
  * **StreamSensorDataOverUsb**

    This example will print out data from the virtual sensors over the USB port. The particular sensor can be selected in the source code.
  * **SendaccelDataOverUdpAndBle**

    If you want to use WLAN and BLE, here is a demo for this. This example demonstrates how to read sensor values from the BMA280 Acceleration sensor and send the data over WLAN (UDP Broadcast) and Bluetooth Low Energy via the Alpwise Data Exchange Profile. Either use your Android or iOS mobile phone (see Android or iOS App Store) to connect to XDK and receive the data. Send “start” to XDK via Bluetooth Low Energy, so that streaming of data begins.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://alfredo-reyes-montero.gitbook.io/iot-bosch/devices/bosch-xdk-110/software/xdk-workspace.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
