안드로이드 아두 이노 블루투스 예제

Posted on

BluetoothDevice를 받은 후 나가는 연결을 처리 하려면 소켓을 만들어야 합니다. 여기에 RFCOMM 소켓이 사용됩니다. 직렬 포트 프로파일이라고도 하는 RFCOMM은 기본적으로 RS232 케이블을 에뮬레이트하는 블루투스 프로토콜입니다. 이 것 (공개 정적 문자열 EXTRA_ADDRESS = “device_address”) 아래 (개인 집합pairedDevices; ) 안녕! 좋은 튜토리얼! 나는 궁금해, 그래도, 나는 2 페어링 된 장치의 블루투스 신호 강도를 감지 할 수있을 것입니다 내 학생들과 함께 응용 프로그램을 만들려고. 이것이 가능하다고 생각하십니까? 우리는 우리가 다른 하나에 가까워지고 있는지 확인하기 위해 하나의 장치에서 할 수 있기를 원합니다. (당신이 서로 가까이있을 때 게임 숨기고 추구하고 “감기”와 “뜨거운”같은 것). 자습서 주셔서 감사합니다. Sotiris 개인 보이드 페어링DeviceList(){ 페어링된 장치 = myBluetooth.getBondedDevices(); 배열 목록 목록 = 새 배열 목록(); 경우 (페어링Device.size()>0) {(BluetoothDevice bt : 페어링된 장치) { list.add(bt.getName(bt.getName() + “n” + bt.getAddress()); //Get 디바이스의 이름과 주소 } } { Toast.makeText(getApplication(getApplication() 토스트.LENGTH_LONG).쇼(); } 먼저 블루투스 어댑터의 존재를 확인합니다. 그런 다음 initiaBluetoothProcess() 메서드를 블루투스 모듈에 연결하고 ConnectedThread에서 정보를 수신하는 구성 요소인 처리기를 생성합니다. 블루투스 모듈에서 / 아두 이노에서.

처리기는 응답 텍스트로 TextView를 업데이트하기만 하면 됩니다. 루프는 이름에서 알 수 있듯이 우리가 전달하는 모든 정보를 반복적으로 처리하기 위해 반복적으로 호출되는 방법입니다. 그 와 함께, 우리는 블루투스 모듈에서 들어오는 메시지가 있는지 확인하심으로써 시작하고, 있는 경우, 우리는 바이트 (유형 `char`모든 반복을 읽는)로 그 메시지 바이트를 계속 읽는 주기를 입력합니다. 코드 지연 (10)의 줄에 대해 솔직히 말해서 코드가 왜 그 지연 (10)으로만 작동했는지 완전히 확실하지 않습니다. 코드 줄없이 시도했을 때 메시지가 `data`(버퍼)라는 chars 배열로 제대로 수신되지 않았고 버퍼에 있는 정크 한 무리만 있었습니다. 내 가장 좋은 추측, 그리고 내가 그것을 사용하는 이유는,이 경우 아두 이노와 블루투스 모듈입니다 우리의 구성 요소의 수신 및 전송에 다른 처리 속도가 있다는 사실일 것이다.