Пример теплицы Eclipse Kura

Я учусь использовать куру с Coap. Я скачал и скомпилировал пример "GreenHouse". После этого я установил файл dp в Kura с помощью веб-интерфейса и попробовал подключить пример с помощью coap-клиента. Но клиент coap ничего не получил, а сервер coap теплицы не активировался. Я прочитал kura.log и не нашел информацию о методе "активировать" и "деактивировать". Вот код Спасибо за помощь.

Component.xml проекта "org.eclipse.iot.my.sensors.raspberry" выглядит следующим образом:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Raspberrypi
Bundle-SymbolicName: org.eclipse.iot.my.sensors.raspberrypi
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-NativeCode:  linux-arm/libdht11sensor.so
Import-Package: org.eclipse.iot.my.sensors,
 org.slf4j;version="1.7.21"
Bundle-ClassPath: libs/pi4j-core.jar,
 libs/pi4j-device.jar,
 libs/pi4j-gpio-extension.jar,
 libs/jna-4.2.2.jar
Service-Component: OSGI-INF/component.xml
Bundle-Activator: org.eclipse.iot.my.sensors.raspberrypi.Pi4jMySensorService

Component.xml проекта "org.eclipse.iot.my.sensors.coap" выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate" deactivate="deactivate" name="org.eclipse.iot.my.coap" enabled="true"
    immediate="true">
   <implementation class="org.eclipse.iot.my.coap.MyCoapServer"/>
   <service>
      <provide interface="org.eclipse.iot.my.sensors.SensorChangedListener"/>
   </service>
   <reference bind="setSensorService" cardinality="1..1" interface="org.eclipse.iot.my.sensors.SensorService" name="SensorService" policy="static" unbind="unsetSensorService"/>
</scr:component>

Активировать и деактивировать прототип можно следующим образом:

protected void activate(ComponentContext componentContext) {
    s_logger.info("Activating GreenhouseCoapServer...");
}

protected void deactivate(ComponentContext componentContext)
{

}

Код клиента Coap выглядит следующим образом:

package com.mycoap.client;

import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

import org.eclipse.californium.core.CoapClient;
import org.eclipse.californium.core.CoapResponse;
import org.eclipse.californium.core.Utils;


public class CoAPTest {

    /*
     * Application entry point.
     * 
     */ 
    public static void main(String args[]) {

        URI uri = null; // URI parameter of the request
        // input URI from command line arguments
        try
        {
            uri = new URI("coap://192.168.1.121:5683/");
        } catch (URISyntaxException e) 
        {
            System.err.println("Invalid URI: " + e.getMessage());
            System.exit(-1);
        }
        CoapClient client = new CoapClient(uri);
        CoapResponse response = client.get();
        if (response!=null) 
            {

                System.out.println(response.getCode());
                System.out.println(response.getOptions());
                if (args.length > 1) 
                {
                    try (FileOutputStream out = new FileOutputStream("coap://192.168.1.121:5683"))
                    {
                        out.write(response.getPayload());
                    }
                    catch (IOException e) 
                    {
                        e.printStackTrace();
                    }
                }
                else                {
                    System.out.println(response.getResponseText());

                    System.out.println(System.lineSeparator() + "ADVANCED" + System.lineSeparator());
                    // access advanced API with access to more details through
                    // .advanced()
                    System.out.println(Utils.prettyPrint(response));
                }
            } 
            else
            {
                System.out.println("No response received.");
            }


    }

}

Результат приведенного выше кода:

Любые советы будут оценены!

С наилучшими пожеланиями LiYi

0 ответов

Другие вопросы по тегам