Мне нужно отправить данные через Bluetooth H C -05 из Arduino на android. Они хорошо сочетаются, и данные поступают из arduino на android, но данные «мусорные»
Я подозреваю, что это как-то связано с тем, как android получает данные, так как arduino отправляет данные побайтно?
Вот код android, который относится к получению данных:
public void run(){
byte[] buffer = new byte[1024]; // buffer store for the stream
int bytes; // bytes returned from read()
// Keep listening to the InputStream until an exception occurs
while (true) {
// Read from the InputStream
try {
bytes = mmInStream.read(buffer);
String incomingMessage = new String(buffer, 0, bytes);
Log.d(TAG, "InputStream: " + incomingMessage);
Intent incomingMessageIntent = new Intent("incomingMessage");
incomingMessageIntent.putExtra("theMessage", incomingMessage);
LocalBroadcastManager.getInstance(mContext).sendBroadcast(incomingMessageIntent);
} catch (IOException e) {
Log.e(TAG, "write: Error reading Input Stream. " + e.getMessage() );
break;
}
}
}
А это код arduino:
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
void setup()
{
// Serial.begin(9600);
BTSerial.begin(9600);
BTSerial.println("1");
}
void loop()
{
BTSerial.print("2");
delay(5000);
}
Обратите внимание, что я использую println вместо print, потому что, если я использую print, android не получает данные по какой-то причине.