Salve a tutti, sto facendo una applicazione android che sfrutta un modulo Bluetooth HC-05 per comunicare con arduino.
Il mio modulo Bluetooth comunica con un baud rate come da datasheet e come ho verificato tramite comandi AT.
Dalla mia applicazione faccio inviare un comando
btSocket.getOutputStream().write("TO".toString().getBytes());
per far accendere un led ed uno simile per farlo spegnere.
da arduino utilizzo questo comando per individuare il comando appena inviato
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
char command;
String string;
boolean ledon = false;
#define led 13
void setup()
{
Serial.begin(38400);
Serial.println("Ascoltiamo dal Bluetoth:");
BTSerial.begin(38400); // HC-05 default speed in AT command
pinMode(led,OUTPUT);
}
void loop()
{
// Keep reading from HC-05 and send to Arduino Serial Monitor
if (BTSerial.available()){
while(BTSerial.available()>0){
string = "";
command=((byte)BTSerial.read());
if(command == ':'){
break;
}
else{
string += command;
}
delay(1);
Serial.write(command);
Serial.println(string);
if(string == "TF"){
Serial.println ("OFF");
}
if(string == "TO"){
Serial.println ("ON");
}
}
}
}
ma quello che ottengo da seriale è una serie di simboli inconsistenti simili a quelli che si hanno quando la comunicazione (come ho riportato nella immagine allegata).
Non riesco a capirne il motivo, sapreste aiutarmi?
Ringrazio chiunque possa darmi una risposta.