Micka
Fortgeschrittenes Mitglied
- 1
Hallo,
derzeit versuche ich mich in die Kommunikation zwischen Android und Arduino einzuarbeiten. Seitens Arduino ist das schreiben von Sketches(Programmen) schnell erledigt.
Momentan hänge ich bei der Android App beim senden fest.
Meine App besteht derzeit nur aus 2 Textfeldern und einem ToggleButton. Die Textfelder dienen dabei zum eingeben von IP(vom Arduino) und Port (auf dem gesendet werden soll). Denn ToggleButton werte ich wie folgt aus
Die Kommunikation mit dem Arduino wird in einer eigenen Klasse ArduinoCommManager abgewickelt. Diese Klasse habe ich von einem Example kopiert. Beim Beispiel handelt es sich um die gleiche Arduino Hardware(MegaADK und RedFly Wlan Shield).
Jedesmal wenn ich etwas sende(den Button betätige) greift der catch Block.
komischweise erscheint ein Toast ohne Inhalt. Normalerweise sollte im Toast der Text der Exception ausgegeben werden.
Nun bin ich ratlos wo ich meinen Fehler suchen soll, bzw wo er liegt. Der ArduinoCommManager scheidet für mich eigentlich aus das er 1:1 aus einem Beispiel stammt und dort einwandfrei funktioniert. Hat Jemand ne Idee woran es liegen könnte?
Vielen Dank schonmal an alle die bis hier gelesen haben und ein schönes Wochenende.
P.S: den gesammten Quellcode der APp sowie des Sketches habe ich angehangen
derzeit versuche ich mich in die Kommunikation zwischen Android und Arduino einzuarbeiten. Seitens Arduino ist das schreiben von Sketches(Programmen) schnell erledigt.
Momentan hänge ich bei der Android App beim senden fest.
Meine App besteht derzeit nur aus 2 Textfeldern und einem ToggleButton. Die Textfelder dienen dabei zum eingeben von IP(vom Arduino) und Port (auf dem gesendet werden soll). Denn ToggleButton werte ich wie folgt aus
Code:
public void onToggleClicked(View view)
{
Log.i("WifiButtonLed","onToggleClicked");
InetAddress ip;
int port;
int pin = 11;
//Ip und Port bestimmen.
try
{
Log.i("WifiButtonLed","onToggleClicked try 1 IP holen");
//IP aus dem Textfeld holen(falls unverändert standard ip)
if(editText_Ip.getText().toString().equals(""))
{
Log.i("WifiButtonLed","onToggleClicked try 1 IP holen if");
// Get by IP as host name
ip = InetAddress.getByName("192.168.2.1");
}
else
{
Log.i("WifiButtonLed","onToggleClicked try 1 IP holen else");
ip = InetAddress.getByName(editText_Ip.getText().toString());
}
}catch (Exception ex)
{
Log.i("WifiButtonLed","onToggleClicked try 1 IP holen catch");
Toast.makeText(this, "IP nicht erreichbar",
Toast.LENGTH_LONG).show();
return;
}
//Port aus dem Textfeld holen(falls unverändert standard port)
if(editText_Port.getText().toString().equals(""))
{
Log.i("WifiButtonLed","onToggleClicked Port holen if");
port = 80;
}
else
{
Log.i("WifiButtonLed","onToggleClicked Port holen else");
port = Integer.valueOf(editText_Port.getText().toString());
}
//Button aktiv?
boolean on = ((ToggleButton) view).isChecked();
try
{
Log.i("WifiButtonLed","onToggleClicked try 2 try");
if (on)
{
Log.i("WifiButtonLed","onToggleClicked try 2 Button aktiv if");
// Button ist aktiv
// LED AN
commMan.sendDigitalCommand(pin, true, ip, port);
}else
{
Log.i("WifiButtonLed","onToggleClicked try 2 Button inaktiv else");
//Button ist inaktiv
//LED AUS
commMan.sendDigitalCommand(pin, false, ip, port);
}
}catch (Exception ex)
{
System.out.println(ex.toString());
Log.i("WifiButtonLed","onToggleClicked try 2 catch");
//System.out.println(ex.getMessage());
Toast.makeText(this, ex.getMessage(), Toast.LENGTH_LONG).show();
}
}
Jedesmal wenn ich etwas sende(den Button betätige) greift der catch Block.
Code:
//Button aktiv?
boolean on = ((ToggleButton) view).isChecked();
try
{
Log.i("WifiButtonLed","onToggleClicked try 2 try");
if (on)
{
Log.i("WifiButtonLed","onToggleClicked try 2 Button aktiv if");
// Button ist aktiv
// LED AN
commMan.sendDigitalCommand(pin, true, ip, port);
}else
{
Log.i("WifiButtonLed","onToggleClicked try 2 Button inaktiv else");
//Button ist inaktiv
//LED AUS
commMan.sendDigitalCommand(pin, false, ip, port);
}
}catch (Exception ex)
{
System.out.println(ex.toString());
Log.i("WifiButtonLed","onToggleClicked try 2 catch");
//System.out.println(ex.getMessage());
Toast.makeText(this, ex.getMessage(), Toast.LENGTH_LONG).show();
}
Nun bin ich ratlos wo ich meinen Fehler suchen soll, bzw wo er liegt. Der ArduinoCommManager scheidet für mich eigentlich aus das er 1:1 aus einem Beispiel stammt und dort einwandfrei funktioniert. Hat Jemand ne Idee woran es liegen könnte?
Vielen Dank schonmal an alle die bis hier gelesen haben und ein schönes Wochenende.
P.S: den gesammten Quellcode der APp sowie des Sketches habe ich angehangen