2014-05-20 3 views
2

두 명의 사용자가 AB을 각각의 Android에서 사용한다고 가정하면 androidAandroidB입니다. 나는 둘 다 앱을 열 수 있고 그 앱에서 BLE를 시작한 버튼을 누른 다음 각각 다른 앱을 user_id으로 보냅니다. 따라서 androidAb이고 androidBa입니다. 콜백을 통해 이런 일이 발생할 수 있음을 이해하며 단방향 통신을 위해이 문제가 발생할 수 있습니다. 즉, 주변 기기로 androidB을 가질 수 있으며 androidA을 중심으로하므로 auser_idb으로 수신합니다.양방향 통신과 클라이언트/서버에 BLE 사용

양방향 통신이 가능합니까? 그렇지 않다면 콜백을 기다리는 것이 현명 할 것이며 일단 콜백이 발생하면 역할을 전환해야합니까? 그 점에서, 나는 단지 androidAandroidB의 범위에있는 콜백을 얻었을 때 androidB이 어떤 종류의 응답을 받으면되는지 확인해야합니다.

+0

추가 검색으로 기기가 주변 기기로 작동하지 않을 수도 있습니다. – David

답변

1

사실 Android에서는 양방향 통신이 불가능합니다. 오직 광고 패킷을 읽을 수 있습니다. 따라서 BLE 광고 패킷을 전송하는 다른 장치가 필요합니다. 예를 들어 견적, 반경 네트워크 또는 iOS 장치와 같은 회사에서 제공하는 신호입니다. 이 링크

http://developer.radiusnetworks.com/2013/12/15/why-android-devices-cant-act-as-ibeacons.html

하지만, 삼성 장치 일부 BLE 광고 패킷을 송신하는 장치로서 구성 될 수 있다고 주장

을 첵. 이 문서에서이 링크

http://developer.samsung.com/ble

확인 질문 12.iBeacon 호환 장치를 확인? 귀하의 질문이 당신을 도와

http://www.cisco.com/c/dam/en/us/solutions/collateral/enterprise-networks/connected-mobile-experiences/ibeacon_faq.pdf

희망.

+0

iBeacons는 고유 한 정보를 보낼 수 없습니다. BLE에 기반을 둔 iBeacons가 아니라 BLE에 대해 파헤치는 요점은 "Hey, I 'm here !!!"와 같은 단순한 경고 이상을 전송할 수 있기를 원합니다. 즉, 나는 슬프게도 블루투스를 사용해야 할 수도있다. 블루투스는 괜찮습니다.하지만 기기와 쌍을 이루려면 장치가 번거롭고 다른 방법을 사용해야합니다. – David

+0

그래, iBeacons는 보낼 수는 없지만 중앙 주변 장치를 기반으로하고 서버를 사용하면 내가 생각하는 목표를 달성 할 수있다. 그러나 BLE는 일반 블루투스보다 훨씬 더 선호됩니다. 하지만 네, 데이터 전송에 의존하지 않습니다. 네트워크에 의존하지 않습니다. – ajitksharma

+0

예. 두 곳의 중도를 사용하여 데이터를 서로 전송하는 방식으로 해킹 된 방법을 발견 할 수 있다면 그렇게 하겠지만 ... 주변 장치로 안드로이드 장치를 사용할 수 없다면 도움이되지 않습니다. – David

0

내가 위의 대답은, 부분적으로 잘못 기본적으로, 당신이

는 롤리팝부터, 등 각 장치의 OS를 달성하기 위해 찾고있는 통신의 종류에 따라 다릅니다 것을 발견했다, 우리는 새로운 설정을 API를 사용하여 두 장치 간 실제 양방향 통신을 제공하고 answered here으로 지정하고 API 문서 android.bluetooth.le에 정의되어 있습니다. 2014 년 12 월

구글,

말을 인용, 로 알려져 있습니다 만 Nexus 6와 Nexus 9 기기는 블루투스 저에너지 주변 모드를 지원하는 펌웨어가 있습니다.

또한 롤리팝 API를 만들 때이 아이 비콘 호환성 libs와의 몇 가지에 설명 된 경고를 조심하고 다음을 확인하십시오 진정한 L 지원이있는 경우 ​

BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); 
boolean isHardwareLCompat bluetoothAdapter != null 
      && bluetoothAdapter.isOffloadedFilteringSupported() 
      && bluetoothAdapter.isOffloadedScanBatchingSupported(); 

테스트 할 수 있습니다. 예를 들어 HTC One M8 개발자 에디션에는 L이 있지만 새로운 API를 완전히 지원하지는 않습니다.

이 정보가 도움이 되었기를 바랍니다.

관련 문제