我正在嘗試創建Android應用來控制Raspberry PI GPIO。兩者都連接到同一個網絡。我嘗試了一個靜態IP和動態IP,端口80轉發。仍然沒有成功。 下面是我使用的代碼(Source):無法將Android應用連接到Raspberry Pi來控制GPIO
public class Main extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Switch swi = (Switch)findViewById(R.id.takE);
swi.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
new Background_get().execute("led1=1");
}else{
new Background_get().execute("led1=0");
}
}
});
}
private class Background_get extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params){
try {
URL url = new URL("http://192.168.XXX.XXX/?" + 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;
}
}
}
當您在手機瀏覽器或同一網絡上的計算機上打開「http://192.168.XXX.XXX/?led1 = 1」時會發生什麼?如果它不起作用,那意味着你的網絡配置或覆盆子pi有問題。你的代碼看起來沒問題。 – JonasCz
你會得到什麼例外?你的手機瀏覽器可以訪問該頁面嗎?你的電腦瀏覽器可以訪問它嗎? – njzk2
不,我不能訪問任何瀏覽器(電話和電腦)上的頁面。可能是什麼問題? – Kush