?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

ble연결 관련해서 질문드립니다.

페이지 정보

작성자 조준우 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-05-15 22:19 조회1,207회 댓글1건

본문

아두이노 관련 프로젝트를 진행하다 이 사이트를 알게되어 큰 도움을 많이 받았습니다.

게시하여 주신 글중에 ble_chat을 이용하여 아두이노와 휴대폰 연결 후 채팅하는 글을 읽고 실행해보았습니다.

연결확인하였고 ble_chat 어플에서 채팅을 입력한 것은 시리얼모니터에 잘 출력이되는데

시리얼모니터에 입력한 것은 ble_chat어플로 출력이 되지않습니다.

참고 : 저 같은 경우에 아두이노는 blueduino라는 초소형 아두이노를 사용하고있습니다.(ble- bluetooth4.0 자체지원)

그래서인지 해당글에 있던 ide소스코드인

#include <SoftwarSerial>

SoftwareSerial BTSerial(2, 3); //Connect HC-06. Use your (TX, RX) settings

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());
  }
}     이 코드를 업로드하면 채팅이 아예되질 않고.

구글링으로 알게된

#include <AB_BLE.h>

#define BAUD_RATE 9600

AB_BLE ble(&Serial1);
String tmp;

void setup() {
  Serial.begin(BAUD_RATE);
  Serial1.begin(BAUD_RATE);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  Serial.println("Hello BlueDuino!");
}

void loop() {

  while (ble.available() > 0)  {
    tmp += char(ble.read());
    delay(2);
  }

  if(tmp.length() > 0) {
    Serial.println(tmp);
    tmp = "";
  }

  if (Serial.available()) {
    ble.write(Serial.read());
  }
}

이것을 업로드하면 위에서 말씀드렸듯이 어플->아두이노 시리얼모니터 채팅은 되는데

시리얼모니터에서 입력한 문자는 휴대폰으로 출력이 되지않습니다.

어떻게하면 이문제를 해결할수있을까요?

저희 프로젝트는 로드셀 압력센서로 얻은값을 휴대폰 어플로 받는것이 목적인데 연결이 안되니 너무어렵네요.. 도와주세요

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

제가 올린 BLE_chat 앱은 HM-10 (칩은 CC2540 같은거) 을 기준으로 했습니다. 그런데 blueduino 보드는 같은 칩을 사용한 BLE 모듈 같지만 펌웨어가 틀려서 그럴 수 있을 것 같네요. 찾아보니 blueduino 에서 사용한 펌웨어 정보는 아래에 자세히 나와 있습니다.
http://wiki.aprbrother.com/wiki/Firmware/ZeroBeacon
다른 기기가 BLE 모듈과 통신하기 위해서는 아래 characteristic 을 사용하라고 되어 있습니다.
BLE Service UUID FFF0
 - Subscribe FFF1 to get RX data.
 - Write to FFF2 to send TX data.
앱에서 해당 내용을 수정해줘야 정상 동작할 것 같습니다. 특히 (Subscribe FFF1) 이 부분을 제대로 적용해 줘야 할 것 같아요.