Created
May 27, 2018 14:11
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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