Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "IoT/Commons"

< IoT
Line 1: Line 1:
 
Many Eclipse IoT projects implement somewhat similar functionalities in terms of integration with underlying hardware, communication with endpoints over popular IoT protocols, etc.
 
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 already  
+
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.
  
  
= Bluetooth LE =
 
  
== Status ==
+
= Java =
  
Kura is providing a Bluetooth LE API implemented using gatttool command line utility which will ship with 
+
== Bluetooth Low-Energy (BLE) ==
[https://projects.eclipse.org/projects/iot.kura/releases/1.2.0 Kura 1.2 release].
+
  
* [API https://github.com/eclipse/kura/tree/develop/kura/org.eclipse.kura.api/src/main/java/org/eclipse/kura/bluetooth]
+
{| border="1" cellpadding="5" cellspacing="0"
* [Implementation https://github.com/eclipse/kura/tree/develop/kura/org.eclipse.kura.linux.bluetooth/src/main/java/org/eclipse/kura/linux/bluetooth]
+
|'''Name'''
 +
|BLE API + implementation for Java
 +
|-
 +
|'''Origin'''
 +
|Kura
 +
|-
 +
|'''Description'''
 +
|Kura is providing a Bluetooth LE API implemented using gatttool command line utility.
 +
|-
 +
|'''Location'''
 +
|Source code: xxx<br>Binaries: yyy
 +
|-
 +
|'''Dependencies'''
 +
|TBD
 +
|-
 +
|'''Maturity'''
 +
|Mature – Released in Kura 1.2
 +
|}
  
See also discussion on iot-wg mailing list: https://dev.eclipse.org/mhonarc/lists/iot-wg/msg00460.html
+
== USB ==
  
== Actions ==
+
{| border="1" cellpadding="5" cellspacing="0"
 +
|'''Name'''
 +
|USB API + implementation for Java
 +
|-
 +
|'''Origin'''
 +
|3rd party library + OSGi-wrapping in Kura
 +
|-
 +
|'''Description'''
 +
|Lorem ipsum Consectetur velit cupidatat proident cupidatat esse cillum dolore minim non dolore elit nulla elit cillum Ut eiusmod adipisicing tempor nostrud nisi id labore qui ullamco cupidatat ut minim laboris eu sunt culpa laboris.
 +
|-
 +
|'''Location'''
 +
|TBD
 +
|-
 +
|'''Dependencies'''
 +
|TBD
 +
|-
 +
|'''Relevant CQs'''
 +
|{cq|9734}<br>{cq|9738}<br>{cq|9739}<br>{cq|9927}
 +
|-
 +
|'''Maturity'''
 +
|TBD
 +
|}
  
Should BLE be isolated in a bundle with no/minimal dependency on Kura?
+
== EnOcean ==
  
= Bluetooth 2.1 =
+
{| border="1" cellpadding="5" cellspacing="0"
 
+
|'''Name'''
== Status ==
+
|OSGi EnOcean Base Driver
 
+
|-
No support for Bluetooth 2.1 in Eclipse IoT projects at the moment.
+
|'''Origin'''
 
+
|Eclipse SmartHome
== Actions ==
+
|-
 
+
|'''Description'''
Kura is looking at having a javax.bluetooth implementation over BlueZ 5 D-BUS interface.
+
|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.  
 
+
|-
== Status / Actions ==
+
|'''Location'''
 
+
|Source code: https://github.com/eclipse/smarthome/tree/master/protocols/enocean<br>
Bluetooth 2.1 not available in Eclipse IoT projects at the moment.
+
|-
 
+
|'''Dependencies'''
= USB =
+
|TBD
 
+
|-
== Status ==
+
|'''Relevant CQs'''
 
+
|None
Kura uses javax.usb which is causing issues on Linux. It is based on usbfs which is not supported since kernel version 2.6
+
|-
 
+
|'''Maturity'''
== Actions ==
+
|TBD
 
+
|}
A replacement would be usb4java http://usb4java.org/ but it is licensed under LGPL. ==> Benjamin contacted usb4java author to discuss a possible relicensing.
+
 
+
= Serial port =
+
 
+
== Status ==
+
 
+
* RX/TX is causing license issues.
+
* SODA DK is aging
+
 
+
== Status / Actions ==
+
 
+
* Kura is using SODA DK (see https://github.com/eclipse/kura/tree/develop/target-platform/org.eclipse.soda.dk.comm)
+
* What are others projects doing for serial?
+
* Should we look at the CDT serial native interface? (see [http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/tree/native/org.eclipse.cdt.native.serial?id=a170ca1895605df9de797fb95115d03fe27ae9af 1] and [http://cdtdoug.ca/?p=661 2]
+
 
+
= Zigbee =
+
 
+
== Status ==
+
 
+
Support for Zigbee in OM2M???
+
 
+
== Actions ==
+
 
+
* Kura is looking at ZB4OSGI APIs. See http://zb4osgi.aaloa.org/
+
 
+
= Enocean =
+
 
+
== Status  ==
+
 
+
Within Eclipse SmartHome there is the reference implementation available for OSGi RfC199 (EnOcean Base Driver): https://github.com/eclipse/smarthome/tree/master/protocols/enocean
+
This can be effectively build on its own and does not have any dependencies to other parts of Eclipse SmartHome. It shares the governance, versioning and release management, but can easily be reused by others.
+
 
+
== Actions ==
+
 
+
* Add to this wiki page a procedure to actually consume the enocean bundle? i.e. indicate p2 or maven repo info, etc.
+

Revision as of 05:48, 12 August 2015

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.


Java

Bluetooth Low-Energy (BLE)

Name BLE API + implementation for Java
Origin Kura
Description Kura is providing a Bluetooth LE API implemented using gatttool command line utility.
Location Source code: xxx
Binaries: yyy
Dependencies TBD
Maturity Mature – Released in Kura 1.2

USB

Name USB API + implementation for Java
Origin 3rd party library + OSGi-wrapping in Kura
Description Lorem ipsum Consectetur velit cupidatat proident cupidatat esse cillum dolore minim non dolore elit nulla elit cillum Ut eiusmod adipisicing tempor nostrud nisi id labore qui ullamco cupidatat ut minim laboris eu sunt culpa laboris.
Location TBD
Dependencies TBD
Relevant CQs 9734}
{cq|9738}
{cq|9739}
{cq|9927}
Maturity TBD

EnOcean

Name OSGi EnOcean Base Driver
Origin Eclipse SmartHome
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
Dependencies TBD
Relevant CQs None
Maturity TBD

Back to the top