Many Eclipse IoT projects implement somewhat similar functionalities in terms of integration with underlying hardware, communication with endpoints over popular IoT protocols, etc.
This page aims at listing how Eclipse IoT projects currently implement, or are looking at implementing, some common features. It should be used as a reference for all Eclipse IoT projects before starting to re-implement something that is already available from another project.
For Java developers
Bluetooth Low-Energy (BLE)
|Name||BLE API + implementation for Java|
|Description||Kura is providing a Bluetooth LE API implemented using gatttool command line utility.|
|Location||Source code: https://github.com/eclipse/kura/tree/develop/kura/org.eclipse.kura.linux.bluetooth|
|Dependencies||TBD: describe the requirements regarding gatttool and/or point to existing documentation|
|Maturity||Mature – Released in Kura 1.2|
|Name||USB API + implementation for Java|
|Origin||3rd party library (usb4java) + OSGi-wrapping in Kura|
|Description||A set of OSGi bundles based on usb4java (a Java library around libusb 1.0) to provide developers with access to USB APIs.|
|Relevant CQs||CQ 9734|
|Name||OSGi EnOcean Base Driver|
|Description||The OSGi EnOcean Base Driver enables applications running on an OSGi software platform to discover and control EnOcean devices. EnOcean is a radio protocol used in Smart Home and Building markets.|
|Location||Source code: https://github.com/eclipse/smarthome/tree/master/protocols/enocean|
Work in progress
Below is a list of some "commons" that may have been solved/implemented by projects already, or will need to be, but that still need proper documenting.
- Zigbee stack in Java
- What is OM2M doing?
- Serial port manipulation in Java
- RX/TX is causing licence issues
- Kura is using SODA DK (see https://github.com/eclipse/kura/tree/develop/target-platform/org.eclipse.soda.dk.comm)
- Bluetooth 2.1
- Kura is looking at having a javax.bluetooth implementation over BlueZ 5 D-BUS interface.