Проблемы с получением данных от Arduino до android через Bluetooth - PullRequest
0 голосов
/ 25 марта 2020

Мне нужно отправить данные через Bluetooth H C -05 из Arduino на android. Они хорошо сочетаются, и данные поступают из arduino на android, но данные «мусорные» enter image description here

Я подозреваю, что это как-то связано с тем, как 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 не получает данные по какой-то причине.

...