정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노-안드로이드 블루투스 통신 질문 드립니다~
장승민 | 2016-11-16

아두이노 블루투스 통신 질문드려요

아두이노의 데이터를 받는 안드로이드 어플을 사용해서 데이터 통신을 하는데

1번코드

void setup() 
{
  Serial.begin(9600);
  Serial.println("Hello!");
 
  BTSerial.begin(9600);  // set the data rate for the BT port
}
 
void loop()
{
  // BT –> Data –> Serial
  if (BTSerial.available()) {
    Serial.write(BTSerial.read());
  }
  // Serial –> Data –> BT
  if (Serial.available()) {
    BTSerial.write(Serial.read());
  }
}

는 잘 돌아갑니다. 대신 serial입력으로만 전송이 가능해서 자동으로 값을 전송하기 위해

 

2번코드

#include <SoftwareSerial.h>
int A;
String myString = String(A);
SoftwareSerial BTSerial(2, 3); // SoftwareSerial(RX, TX)

void setup(){
  BTSerial.begin(9600);
  Serial.begin(9600);
}

void loop(){
  Serial.println(A);
  if(Serial.available()){
  BTSerial.println(myString);
  A++; 
  }
  delay(1000);
}

이 코드로 했더니 안드로이드 어플이 계속 에러가 나네요;;

제 생각에는 아두이노 -> BT ->어플 로 가는 데이터의 변수값 때문인거 같아서 String으로 변수 변환을 해도 같은 문제가 발생합니다.

이유가 왜인지 그리고 어떻게 고쳐야 하는지 궁금해서 질문드립니다 ㅠㅜ...

 

어플쪽 블루투스 수신부 코드는 다음과 같습니다.

 

byte[] readBuf = (byte[]) msg.obj;
// construct a string from the valid bytes in the buffer
String readMessage = new String(readBuf,0,msg.arg1);
int ppg = Integer.parseInt(readMessage);

 

이전글   |    lcd 출력 질문드립니다!! 2016-11-16
다음글   |    심박센서소스(2)좀 봐주세요... 다시올립니다... ... 2016-11-17