Tengo Arduino conectado a un módulo bluetooth HC-06.
No deseo enviar datos desde alguna aplicación de Android que escribí al Arduino y dejé que Arduino hiciera cosas dependiendo de los datos recibidos. Hasta ahora estoy enviando valores enteros entre 0 y 1024.
Lamentablemente, mySerial.read () no terminará aquí. Lee los datos como una cadena grande.
Mis módulos RX y TX están conectados a mi Arduinos RX y TX. (La consola no mostró ningún dato cuando los conecté a los puertos 10 y 11, así que pensé que así es como SoftwareSerial define el puerto RX y TX de Arduino ...)
Mi Sketch:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
char character;
void setup()
{
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
}
void loop() // run over and over
{
String Data = "";
while(mySerial.available()) {
character = mySerial.read();
Data.concat(character);
// Serial.println(Data);
Serial.println("foo");
}
Esto dará como resultado:
154888143201270341421501588671750825906975101110241005969922864792711629540451369290213140600
No puedo leer estos datos correctamente y no puedo analizar los datos de alguna función para manejarlos, porque mySerial.read () no llegará a su fin. Debe haber una mejor manera de recibir o enviar estos datos.
Mi fuente de flujo de salida Bluetooth:
public void sendPWM(int progress) {
OutputStream tmpOut = null;
try {
tmpOut = mmSocket.getOutputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("error", "NO OUTPUT STREAM", e);
e.printStackTrace();
return;
}
try {
// byte[] buffer = stringToBytesUTFCustom("1");
byte[] buffer = String.valueOf(progress).getBytes();
tmpOut.write(buffer);
// tmpOut.flush(); /*I have turned this ON and OFF, to see if it
// makes any difference*/
} catch (IOException e) {
// TODO Auto-generated catch block
Log.e("error", "EXCEPTION DURING WRITE", e);
e.printStackTrace();
}
}
No cierro el outputStream, porque esto también cancelará la conexión con el HC-06 y tengo que enviar muchos datos. No puedo dejar que el usuario vuelva a conectarse al módulo cada vez que envía datos. ¿Puedes ayudarme aquí?