j'ai essayé faire une simple mise en œuvre de l'utilisation Kura DataServiceKura DataService mise en œuvre simple
Voici la classe java j'ai fait LampuPintar.java
package org.eclipse.kura.smarthome.lampupintar;
import org.eclipse.kura.data.DataService;
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LampuPintar {
private DataService m_dataservice;
private static final Logger s_logger = LoggerFactory.getLogger(LampuPintar.class);
private static final String APP_ID = "lampupintar";
public void setDataService(DataService dataService){
m_dataservice = dataService;
}
public void unsetDataService(DataService dataService){
m_dataservice = null;
}
protected void activate(ComponentContext componentContext) {
s_logger.info("Bundle " + APP_ID + " has started!");
s_logger.debug(APP_ID + ": This is a debug message.");
}
protected void deactivate(ComponentContext componentContext) {
s_logger.info("Bundle " + APP_ID + " has stopped!");
}
public void publish() {
String topic = "smarthome/lampupintar";
String payload = "Hello";
int qos = 2;
boolean retain = false;
for (int i=0; i<20;i++){
try {
m_dataservice.publish(topic, payload.getBytes(), qos, retain, 2);
s_logger.info("Publish ok");
} catch (Exception e) {
s_logger.error("Error while publishing", e);
}
}
}
}
et c'est le fichier de définition du composant, composant .xml
<?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.kura.smarthome.lampupintar">
<implementation class="org.eclipse.kura.smarthome.lampupintar.LampuPintar"/>
<reference bind="setDataService"
cardinality="1..1"
interface="org.eclipse.kura.data.DataService"
name="DataService"
policy="static"
unbind="unsetDataService"/>
</scr:component>
J'ai essayé faire un projet avec ces fichiers s, j'ai réussi à créer le fichier .dp et l'ai installé sur l'interface utilisateur Web de Kura, mais il semble ne rien montrer et ne rien envoyer au courtier (j'ai vérifié dans la console du courtier mosquitto).
Qu'est-ce qui ne va pas avec ces codes ?? ou quelque chose manque de ces codes pour le rendre complet et fonctionner correctement?
Merci.