Android Http 连接到简单的 PHP 脚本



我是Android的新手,希望有人帮助我编写一个简单的应用程序,在其中我可以通过两个按钮将适当的订单发送到PHP中的这个简单脚本,该脚本允许通过RPi控制光线。

<?php
$setmode17 = shell_exec("/usr/local/bin/gpio -g mode 17 out");
if(isset($_GET['on'])){
$gpio_on = shell_exec("/usr/local/bin/gpio -g write 17 1");
echo "LED is on";
}
else if(isset($_GET['off'])){
$gpio_off = shell_exec("/usr/local/bin/gpio -g write 17 0");
echo "LED is off";
}
?>

安卓代码:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class LightsActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lights);

        final Button buttonOn = findViewById(R.id.lights_on_button);
        buttonOn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            }
        });
        final Button buttonOff = findViewById(R.id.lights_off_button);
        buttonOff.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            }
        });
    }
}

光通过 GPIO 端口通过中继通道模块连接,我通过 python shell 控制它。

如果有人需要它,我得到了解决方案:

import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class LightsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_lights);

    final Button buttonOn = findViewById(R.id.lights_on_button);
    buttonOn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            new Background_get().execute("on=ON");
        }
    });
    final Button buttonOff = findViewById(R.id.lights_off_button);
    buttonOff.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            new Background_get().execute("off=OFF");
        }
    });
}
private class Background_get extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... params) {
        try {
            /* Change the IP to the IP you set in the arduino sketch */
            URL url = new URL("http://192.168.100.26/gpio.php?" + params[0]);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuilder result = new StringBuilder();
            String inputLine;
            while ((inputLine = in.readLine()) != null)
                result.append(inputLine).append("n");
            in.close();
            connection.disconnect();
            return result.toString();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}

}

最新更新