记录《用于物联网Arduino 项目开发实用案例解析》第六章 物联网模式:遥控的实践过程
一、android部分
1.MainActivity.java
package com.lxm.lightingcontrolsystem;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import org.eclipse.paho.client.mqttv3.MqttException;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView lightIcon = (ImageView) findViewById(R.id.light_icon);
lightIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
new MQTTClient().publishToMQTT();
} catch (MqttException e) {
Log.e(TAG, "onClick: " + e.getMessage());
}
}
});
}
}
2.MQTTClient.java
package com.lxm.lightingcontrolsystem;
/**
* Created by lxm on 2018/12/22.
*/
import android.util.Log;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
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 {
private static final String TAG = "MQTTClient";
private String mqttBroker = "tcp://iot.