Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[kura-dev] I: I: CoAP support in Kura through Eclipse Californium

Hi Buddhika,

Sorry for the late answer.


I agree with your analysis.

Please go ahead and add an org.eclipse.kura.core.data.transport.coap in to the org.eclipse.kura.core bundle.


About adding Californium to the Kura target platform, you can find an Californium OSGi bundle on the maven repository:

 

http://mvnrepository.com/artifact/ch.ethz.inf.vs/californium-osgi/0.18.7-final


I'm not sure it's the latest version but adding this to Kura should be as simple as adding the following dependency to target-platform/p2-repo-common/pom.xml:


<dependency>
    <groupId>ch.ethz.inf.vs</groupId>
    <artifactId>californium-osgi</artifactId>
    <version>0.18.7-final</version>
</dependency>


Add this to the existing dependencies fetched from the maven repository.  Just look for the comment:

<!-- copied from Maven central repository -->

in the above pom file. You should not need anything else.


At this point you should simply build the target platform again with maven and set the target platform in Eclipse.


Now you should be able to work with Californium in Eclipse and with Maven adding the required Californium packages in the Import-Package clause of the org.eclipse.kura.core bundle.


About the DataTransportService implementation selection, either the MqttDataTransport or the CoapDataTransport, I guess we will only need one at a time. We will figure out the details on how to achieve this.

For the time being, just delete or remove the 'xml' extension to the file kura/org-eclipse.kura.core/OSGI-INF/mqttDataTrasport.xml component definition. In this way the MqttDataTransport component will not be activated.

Add a coapDataTransport.xml component definition for your CoapDataTransport.


Please let me know your opinion.


Ciao,

Cristiano


Da: Buddhika Dilhan <buddhika.dilhan5@xxxxxxxxx>
Inviato: venerdì 18 luglio 2014 19.55
A: De Alti, Cristiano
Oggetto: Re: I: [kura-dev] CoAP support in Kura through Eclipse Californium
 

Hi Cristiano,


I'm sorry about stopping Kura project for two week. I'm working on that project from three days and I think I can continue this project without any disturbances. :)


In these days, I first look at the example projects in https://github.com/eclipse/californium it gave a clear idea on how to use californium library.


Then I analyzed the org.eclipse.kura.example.publisher project. In that project I identified several data flows. For examples


Publisher → CloudService → CloudServiceImpl → CloudClient → CloudClientImpl → DataService


publisher → CloudClient → CloudClientImpl → DataService → DataServiceImpl → DataStore → DbDataStore


Publisher → CloudService → CloudServiceImpl →DataService → DataServiceImpl →DataTransportService → MqttDataTransport


In this project, communication with the server is happen through DataTransportService and MqttDataTransport classes. So that I think we should start our re implementation of the transport layer by adding a package called org.eclipse.kura.core.data.transport.coap in to the org.eclipse.kura.core bundle.


We can import californium library to the project by adding following lines to the poem file of the bundle.


<dependencies>

<dependency>

<groupId>org.eclipse.californium</groupId>

<artifactId>californium-core</artifactId>

<version>1.0.0-SNAPSHOT</version>

</dependency>

</dependencies>


<repositories>

<repository>

<id>californium-releases</id>

<name>Californium Repository - Releases</name>

<url>https://repo.eclipse.org/content/repositories/californium-releases/</url>

</repository>

<repository>

<id>californium-snapshots</id>

<name>Californium Repository - Snapshots</name>

<url>https://repo.eclipse.org/content/repositories/californium-snapshots/</url>

</repository>

</repositories>

in the bundle that I said first i'm going to implement the CoapDataTransport.java class.



So, this is my current plan. After implementing this class we can think about how to connect this class with the hierarchy.


Please give me a comment on this implementation plan. I would be very happy if you can give me an idea on how we are going to determine the protocol which we use for the communication in the application level?

Thank you very much.


Buddhika Dilhan
Undergraduate,
Department of Computer Science and Engineering,
University of Moratuwa.


Back to the top