Eclipse Kura is an Open Source project that provides a platform for building IoT gateways. It is a smart application container that enables remote management of such gateways and provides a wide range of APIs for allowing you to write and deploy your own IoT application. Kura runs on top of the Java Virtual Machine (JVM) and leverages OSGi, a dynamic component system for Java, to simplify the process of writing reusable software building blocks. Kura APIs offer easy access to the underlying hardware including serial ports, GPS, watchdog, USB, GPIOs, I2C, etc. It also offer OSGI bundle to simplify the management of network configurations, the communication with IoT servers, and the remote management of the gateway.
In this post I will describe my own quick way of installing and configuring Kura on a Raspberry PI board. Please refer to the official Kura installation guide for more information.
- Raspberry PI 2 or 3 with a recent version of Raspbian OS and connected to the internet. See my quick start.
Download Kura package
First of all you need to download Kura on your PI from this page.
Identify the package to be downloaded from the list. I typically use the Extended, No Net, with Web UI version – Kura 1.4.0 Extended Download: Raspbian (Model 2, No Net, with Web UI).
Versions with network are a little bit more challenging to install.
Download the selected package using the web browser or you can use this command:
First update your system’s package list by entering the following command:
sudo apt-get update
Install the Kura package:
sudo dpkg -i kura_1.4.0_raspberry-pi-2-nn_installer.deb
Ignore the dependency problems warnings and fix the installation by running the following command:
sudo apt-get install -f
You can now delete the Kura package:
Reboot the Raspberry Pi
Kura server will be restarted automatically so you should be able to access the Kura administrative UI – http://[HOST]/kura
Default login is admin/admin
To view Kura logs type the following command
tail -f /var/log/kura.log
It is strongly suggested to change admin password. This can be done by selecting the WebConsole service from the UI.
Disable CloudService (optional)
In my examples I will connect Kura to IBM Watson IoT Platform. The CloudService is a proprietary service and not appropriate for connecting to Watson IoT so we can disable it permanently.
Edit the Kura /opt/eclipse/kura/kura/config.ini file and modify the osgi.bundles parameter by changing the action for the https://developer.ibm.com/recipes/kura/plugins/org.eclipse.kura.core.cloud_*.jar from “start” to “stop”.