package com.baidu.iot;
import java.io.InputStream;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttMessage;
public class Thermometer {
public static void main(String[] args) throws Exception {
String endpoint = "hostname"; //输入创建实例endpoint返回的hostname
String username = "yourendpoint/yourthing"; //输入创建thing返回的username
String password = "Dm3yyvOHb7zt/uRWsPgsfsgbnj7CxuVMc+uDbf4j960="; //输入创建principal返回的password
String topic = "building-b/floor-5/temperature-1"; //订阅的消息主题,本例是指订阅b号楼第五层的温度
TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509");
tmf.init((KeyStore)null);
TrustManager[] trustManagers = tmf.getTrustManagers();
SSLContext ctx = SSLContext.getInstance("TLS");
ctx.init(null, trustManagers, null);
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
options.setUserName(username);
options.setPassword(password.toCharArray());
options.setSocketFactory(ctx.getSocketFactory());
MqttClient client = new MqttClient(endpoint, "java-client");
client.connect(options);
MqttMessage message = new MqttMessage();
message.setPayload("15".getBytes());
client.publish(topic, message);
client.disconnect();
}
}