package MQTT; import org.eclipse.paho.client.mqttv3.*; public class PubExample { public static void main(String[] args) { MqttClient client; String broker = "tcp://localhost:1883"; String clientId = MqttClient.generateClientId(); String topic = "home/sensors/light"; int qos = 2; try { client = new MqttClient(broker, clientId); MqttConnectOptions connOpts = new MqttConnectOptions(); connOpts.setCleanSession(true); //connOpts.setUserName(username); // optional //connOpts.setPassword(password.toCharArray()); // optional //connOpts.setWill("this/is/a/topic","will message".getBytes(),1,false); // optional //connOpts.setKeepAliveInterval(60); // optional // Connect the client System.out.println(clientId + " Connecting Broker " + broker); client.connect(connOpts); System.out.println(clientId + " Connected"); String payload = String.valueOf(0 + (Math.random() * 10)); // create a random number between 0 and 10 MqttMessage message = new MqttMessage(payload.getBytes()); // Set the QoS on the Message message.setQos(qos); System.out.println(clientId + " Publishing message: " + payload + " ..."); client.publish(topic, message); System.out.println(clientId + " Message published"); if (client.isConnected()) client.disconnect(); System.out.println("Publisher " + clientId + " disconnected"); } 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(); } } }