Hallo
Endlich habe ich mal wieder Zeit und Muse für ein neues Projekt. Es soll ein Vehikel mit der M256-Platine als Steuereinheit werden. Im Prinzip wäre es fahrbereit, nun fehlt noch eine Handsteuerung. WIFI-Terminal mit Tastensteuerung ist nicht so der Bringer und Drahtlos sollte es schon sein. Und was drängt sich da auf? Das Smartphon. Nach kurzem googlen wurde ich fündig:
Wireless IMU für Android
(Dank an Jan Zwiener)
Die Android-App möchte nur WIFI-Rechte und sendet Sensordaten (Accelerometer, Gyroscope und Magnetometer) per UDP ins Netzwerk. Einstellen muss man die IP des m256 und den Port (meist 2000 :) Der Empfang der Daten mit dem RP6-WIFI ist angenehm einfach:
Code:
uint8_t c, n=0, debug=1;
enter_cmd_mode_WIFI();
issueCMD_WIFI("set ip protocol 3","AOK"); // TCP and UDP empfangen
leave_cmd_mode_WIFI();
while(true)
{
if(getBufferLength_WIFI()) // Daten empfangen?
{
c=readChar_WIFI(); // Zeichen einlesen...
//writeCharLCD(c);
writeChar_WIFI(c); // ...und zum WIFI-Terminal senden
if(debug) n++;
setStopwatch1(0);
startStopwatch1(); // Timeout starten
}
if((getStopwatch1() > 30) || (n >= 96)) // Timeout ist Zeilenende oder 96 Zeichen bei drei Sensoren
{
stopStopwatch1();
setStopwatch1(0);
writeString_P_WIFI("\n\r");
if(debug)
{
writeChar_WIFI('*');
writeInteger_WIFI(n,10);
n=0;
writeString_P_WIFI("*\n\r");
}
}
}
Ich zeige hier mit Absicht keine detailierte Auswertung der Daten, denn das kann ich im Moment selbst noch nicht und ich würde gerne sehen, wie ihr das umsetzt. Nett ist, dass die Daten parallel zur Terminalverbindung empfangen werden. Viel Spass damit. :)
Gruß
mic
Lesezeichen