?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

아두이노와 안드로이드 통신에 관하여

페이지 정보

작성자 ARTIT 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-01-29 18:42 조회1,313회 댓글1건

본문

밴드 게시물을 보고 가입을 하였습니다. 정말 좋은 내용인 것같습니다. 사실 이런 종류의 프로젝트를 지금 제가 진행해보려고 하는데 아두이노에서 MPU 5060센서 값을 안드로이드로 옮기는 것에서 막힌것 같습니다. 이부분 이외에도 혹시 이 밴드 프로젝트에있어서 어떤 부분을 공부하면 되는지 로드맵을 좀 알 수 있을지 여쭤보고싶습니다. 밴드 프로젝트를 보니 제가 필요한 모든 부분들이 있습니다. 다만 소스를 분석하기에는 제가 좀 실력이 안되고 양도 방대한지라 떠도는 소스코드와 기초서적만을 보고 공부를 하기에는 한계가 있습니다. 

여쭤보고 싶은 것들이 너무 많지만 일단 주요한 두가지을 여쭤 보겠습니다. 아두이노와 안드로이드의 블루투스 통신 어플리케이션의 만드는 방법(서비스부분)에 참고할 수 있는 부분과 아두이노에서 센서에서 나오는 int 나 float형태의 센서값을 어떻게 안드로이드로 옮길 수 있는지 궁금합니다.

읽어주셔서 감사합니다.

댓글목록

최고관리자님의 댓글

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

# 아두이노와 안드로이드의 블루투스 통신 어플리케이션의 만드는 방법(서비스부분)에 참고할 수 있는 부분
==> 클래식 블루투스는 아래 예제의 소스를 참고하세요
http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=tech_comm&wr_id=31&page=2
==> BLE 는 아래 예제의 소스를 참고하세요.
http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=tech_comm&wr_id=32&page=2
# 아두이노에서 센서에서 나오는 int 나 float형태의 센서값을 어떻게 안드로이드로 옮길 수 있는지 궁금합니다.
==> 이건 조금 복잡한데.. 일단 아두이노는 데이터를 1byte씩 써주면 됩니다. int는 2byte 를 쓰고, float은 4byte를 쓰겠죠. 문제는 이걸 받는쪽입니다. 플랫폼에 따라 사용하는 int, float 사이즈가 틀리게 때문에 적절히 변환해야 하고, 특히 음수의 경우를 잘 처리해줘야 합니다. 정수형 음수의 경우는 첫 bit가 1로 설정되고 나머지 비트는 모두 반전됩니다.
안드로이드 코드는 아닌데.. 파이썬이로 이걸 받는 코드를 구현해둔게 있습니다.(정수형만) 아래 링크에서 158 라인을 참고하세요.
https://github.com/godstale/HomePy/blob/master/src/tg/bot/SerialThread.py