Ich versuche Float-Daten von Arduino HC-05 an Android zu senden. Mein Android-Code, Daten zu empfangen istWas ist die richtige Art, Daten von Arduino HC-05 Bluetooth an Android zu senden?
byte buffer[];
buffer = new byte[2048];
int bytes = dataInputStream.read(buffer);
if(bytes > 0) {
String message = new String(buffer, 0, bytes);
Log.i(TAG, "listen: " + message);
}
Ich kann den Byte-Puffer analysieren zurück zu schwimmen. Ich habe versucht zu googeln, aber keine Hilfe. Kann mir jemand sagen, was mache ich falsch?
Die Zeichenfolge, die ich danach bekomme, sind einige unbekannte Zeichen mit Fragezeichen.
Unten in meinem Aurdino Code:
double duration, distance,FrontSensor,LeftSensor;
Leere Schleife() {
SonarSensor(trigPinFront, echoPinFront);
FrontSensor = distance;
if(FrontSensor > 30) {
FrontSensor = FrontSensor/30;
BTserial.write(FrontSensor);
Serial.println(FrontSensor);
}
delay(1000);
}
Ich versuche, den Gleitkommawert aus dem Puffer zu erhalten, der unter Verwendung des Eingabestroms gelesen wird. Ich bekomme die String-Eingabe korrekt. aber wenn ich Float - oder Integer - Daten sende, wird es in ein paar zufällige Zeichen mit Fragezeichen umgewandelt. – vipulsodha
Ich benutze auch Floats und Integratoren, und mit dem Code, bevor ich die richtigen Variablen bekommen kann, ist es seltsam – Alvaro
Ich habe das Bild von der hinzugefügt Ausgabe. – vipulsodha