物联网方案之“Android+MQTT+Arduino+以太网盾板”(三.远程遥控)

本文档详述了一次物联网项目开发经历,重点在于使用Android应用程序通过MQTT协议远程遥控Arduino设备。在实践中遇到Arduino无法接收订阅主题的问题,经过两天调试,最终实现遥控点灯功能,但问题原因尚不明朗。
摘要由CSDN通过智能技术生成

记录《用于物联网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.
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值