?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

아두이노와 블루투스 통신 중 마음대로 글자가 끊겨서 옵니다. (내용 및 파일 수정)

페이지 정보

작성자 Choryu 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-12-13 23:09 조회2,350회 댓글4건

첨부파일

본문

▲ 아래 사진이 표시되어야 할 내용이고, 위에 사진이 제가 만든 예제입니다.

 

현재 아두이노 레오나르도에 블루투스 모듈 (HC-06)과 GPS 모듈 (NEO-6M)을 올려

휴대폰과 통신을 하게 하려고 앱과 아두이노를 프로그래밍 중입니다.

그런데 이게... 자꾸 문자열을 마음대로 끊습니다 ㅠㅠ

제대로 앱 공부를 못 하고 시작한지라 소스도 여기저기서 기워다 만들었는데, 뭐가 문제인지 모르겠습니다.

아두이노를 만들때 사용한 테스트 앱은 SONWORKS가 만든 터미널 (링크 1) 을 썼는데,

테스트 할 때도 타 앱으로 테스트 하면 줄바꿈이나 공백문자가 들어가는 현상이 일어나서 이 앱을 썼었는데,

비슷한 계통의 문제인거 같습니다.

아두이노 소스코드와 안드로이드 프로젝트 (링크 2)를 첨부하오니 문제되는 부분을 찾아주시면

감사하겠습니다 ㅠㅠ

 


 

댓글목록

Choryu님의 댓글

Choryu 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

여러모로 시도해서 버퍼로 String 하나 만들고 \r\n 들어올때까지 계속 모으다가 \r\n 찾으면 출력하게 만들었는데 아까보단 나아졌지만 줄바꿈 되는 부분이 생기네요... 확인해 보니 애초에 그 부분 값이 \r\n이 들어오는데, 아두이노 문제 같기도 하구요. 그런데 소스 보면 문제 될 게 없어 보이고... ㅠㅠ

Choryu님의 댓글

Choryu 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

그리고 GPS 모듈을 TinyGPS++ 써서 출력하는 예제를 띄워봤는데, 한번에 두개에서 네개까지 출력되던데 그건 뭐가 문제일까요? 1초에 1라인이 뜨는게 아니라 1초에 몇 라인이 동시에 올라오더라구요. 그 문제랑도 연관된거 같은데...

최고관리자님의 댓글

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

요지는... 지금 폰으로 수신한 문자열이 맞긴한데 줄넘김이 제멋대로, 제대로 되지 않아서 보인다는 말씀이시죠?
가장 의심이 가는건 휴대폰 앱의 수신 코드입니다. 블루투스로 데이터를 보내면 "abcdefghijklmn" 이렇게 보내더라도 수신측에서는 몇 개의 패킷으로 끊어서 받게됩니다. 이건 우리가 조절하는게 아니라 블루투스 모듈이 상황에 맞게 조절하는겁니다. 안드로이드 앱의 수신코드가 이렇게 끊어서 보내지는 문자열을 받을 때마다 뒤에 개행문자 "\n"를 붙여 출력하는것 같네요.
수정 가능하시면 안드로이드 앱의 코드를 한번 살펴보세요. 개행문자 붙이는 코드를 적당히 수정하시면 될 것 같습니다.