Arduino --> Android bluetooth-Kommunikation (empfangen von text-mit-App-Inventor)

Ich bin erstellen einer Arduino-basierten Drohne, die ferngesteuert werden können durch eine Android-Applikation.
Um die Benutzerfreundlichkeit zu verbessern, ich möchte den Beschleunigungsmesser/Kompass-sensor die Werte auf, so dass ich benötigen, senden Sie von Arduino auf Android, via Bluetooth. Die Werte sind einfache integer-Zahl zwischen 0 und 180.

Die beste Lösung, die ich dachte, ist die Verkettung alle Werte (mit Komma getrennt) in einer Zeichenkette, und senden Sie es an die app, das wird trennen Sie die einzelnen Werte (die Zeichenfolge wird nur gesendet, wenn die Anwendung es erfordern, wenn in diesem Fall ein 'z' byte empfangen wird durch den Arduino).

if (Serial.available() > 0) {
    if (Serial.read()=='z'){
        Serial.println(String((int)sensor1) + ',' + String((int)sensor2) + ',' + String((int)sensor3));
    }  
 }

Hier sind die App-Inventor-Blöcke:
Arduino --> Android bluetooth-Kommunikation (empfangen von text-mit-App-Inventor)

Scheint es, dass die Werte empfangen werden ziemlich gut, aber es ist ein kritisches Problem: somethimes der string ist nicht gut erhalten, und dass die Ursache für viele Fehler. Manchmal ist die empfangene Zeichenfolge (zum Beispiel) 10,10,10, aber somethimes es ist 10,10,1010 oder nur 10,10 ecc...

Ich habe auch versucht zu senden die Werte eins nach dem anderen, aber das Ergebnis war fast das gleiche.
Ich habe sogar set 'numberOfBytes' -1, mit einem delimiter-byte, aber auch dies war leider nicht erfolgreich.

Ich immer ganz verrückt, also ich hoffe es gibt einen anderen Weg zu schicken thoose ganzen zahlen zu Android, oder um das system zu reparieren ich bereits mit.

  • siehe diesem thread in der App-Inventor-forum oder führen Sie eine Suche für mehr information im forum gibt
  • danke! in dem forum, die Sie vorgeschlagen, ich fand die Lösung für dieses problem!!!
InformationsquelleAutor Andy Wall | 2015-05-01
Schreibe einen Kommentar