Skip to content

Instantly share code, notes, and snippets.

@gitsaycat
Created May 27, 2018 14:11
Show Gist options
  • Save gitsaycat/5ece12aa881d49d13a2b7d352e639635 to your computer and use it in GitHub Desktop.
Save gitsaycat/5ece12aa881d49d13a2b7d352e639635 to your computer and use it in GitHub Desktop.
A simple Java client for Eclipse Kupao illustrating Kura pyaload based message publishing
import java.util.Date;
import org.eclipse.kura.cloud.CloudPayloadProtoBufEncoder;
import org.eclipse.kura.core.cloud.CloudServiceImpl;
import org.eclipse.kura.message.KuraPayload;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
public class MQTTClient {
public static void main(String[] args) throws Exception {
String topic = "test-account/D-0001/APPID/METRIC1";
String content = "Message from MqttPublishSample";
int qos = 2;
String broker = "tcp://192.168.1.119:1883";
String clientId = "D-0001";
MemoryPersistence persistence = new MemoryPersistence();
try {
MqttClient sampleClient = new MqttClient(broker, clientId, persistence);
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setUserName("test1");
connOpts.setPassword("Password".toCharArray());
connOpts.setCleanSession(true);
System.out.println("Connecting to broker: " + broker);
sampleClient.connect(connOpts);
System.out.println("Connected");
System.out.println("Publishing message: " + content);
KuraPayload payload = new KuraPayload();
payload.setTimestamp(new Date());
payload.addMetric("test", Math.random()*1000);
CloudPayloadProtoBufEncoder encoder = new CloudServiceImpl();
byte[] bytePayload = encoder.getBytes(payload, false);
System.out.println(bytePayload);
//MqttMessage message = new MqttMessage(content.getBytes());
MqttMessage message = new MqttMessage(bytePayload);
message.setQos(qos);
sampleClient.publish(topic, message);
System.out.println("Message published");
sampleClient.disconnect();
System.out.println("Disconnected");
System.exit(0);
} catch (MqttException me) {
System.out.println("reason " + me.getReasonCode());
System.out.println("msg " + me.getMessage());
System.out.println("loc " + me.getLocalizedMessage());
System.out.println("cause " + me.getCause());
System.out.println("excep " + me);
me.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment