2017-10-29 5 views
0

나는 블루투스를 통해 교실에 출석 확인을위한 앱을 작성 중입니다. 지금까지는 잘 작동했지만 Macbook, iPad, Apple TV로 테스트 해 보았습니다. 그리고 나는 "에두아르도의 iPad, 애플 TV, 에두아르도의 맥북"과 같은 그들의 이름을 얻는다. 문제는 어제 쇼핑몰에서 테스트 한 결과로 "이름이없는"장치가 많았습니다. 그것은 교실에서도 문제가 될 것입니다.iOS 용 BLE을 사용하여 블루투스를 통해 발견 된 기기를 식별하는 방법

나는 또한 id를 얻고,하지만 난 iOS 또는 안드로이드 장치에 해당 ID를 식별하는 방법을 모른다, 이것은 내가 스캔 할 때 얻을 객체의 종류입니다

{ 
    id: "2BD5D5A7-EF50-B4F4-D4FD-9A8413006D4B", 
    rssi: -24, 
    advertising: { 
    kCBAdvDataIsConnectable: true 
    }, 
    name: "Eduardo's iPad" 
} 

표기하기 바랍니다 여기에 오는 이드는 2BD5D5A7-EF50-B4F4-D4FD-9A8413006D4B이지만 설정/일반/정보/블루투스에 내 iPad를 연결하면 표시된 ID는 F0:D1:A9:E3:F9:E9입니다.

그래서 긴 ID에서 짧은 ID를 어떻게 얻을 수 있습니까? 또는 그래픽 인터페이스를 사용하여 iOS 또는 Android에서 긴 ID를 얻을 수있는 방법이 있습니까? 미리 감사드립니다.

+1

식별자를 장치 MAC에 매핑 할 방법이 없습니다. 식별자는 주변 장치를 식별하기 위해 코어 블루투스에 의해 생성 된 값이지만 식별자가 파생되는 방식은 문서화되어 있지 않습니다. 내 경험상 iOS는 동일한 iCloud 계정을 가진 장치에 대해서만 이름을 얻는 경향이 있습니다. 이는 iOS가 이러한 장치를 쌍으로 연결하여 작동하도록합니다. 또한 iOS (및 Android)가 MAC 무작위 화를 통해 장치를 추적하려는 시도를 구체적으로 물리 칠 수 있다는 사실에 도전장을 당길 것입니다. – Paulw11

답변

1

iOS에서 주변 장치 (BLE 장치)의 MAC 주소를 가져올 수 없으므로 iOS에서 주변 장치 용 UUID를 생성합니다.

차이점 iOS 기기는 diff를 할당합니다. UUID.

그래서 iOS에서 주변 기기를 식별하는 다른 방법은 없습니다.

주변 광고 데이터에 ID가 표시되면 BLE 장치를 식별 할 수 있습니다.