2012-11-01 1 views
1

실내에서 iPhone을 찾기위한 시스템을 개발 중입니다. 블루투스 삼각 측량은 신호 강도를 기반으로하고 있습니다.iOS 6에서 Bluetooth MAC 및/또는 신호 강도를 얻을 수 있습니까?

  1. iOS 6에서 근처의 블루투스 기기의 신호 강도를 얻을 수 있습니까?
  2. 휴대 전화의 블루투스 MAC을 얻을 수 있습니까? (그래서 휴대 전화를 식별하고 상대방으로부터 신호 강도를 측정 할 수 있습니까?)
  3. 블루투스 삼각 측량에 기반한 iPhone의 위치를 ​​계산하는 다른 방법은 없습니까?

식당 유형 앱용입니다. 식당에서는 전화/앱이 앉아있는 테이블을 알고 싶어합니다.

답변

8

iOS 장치가 Bluetooth LE를 지원하는 경우 장치를 식별하기위한 UUID는 물론 센서 스테이션과 센서 스테이션 사이의 RSSI를 쉽게 얻을 수 있습니다. 센서 측에서 올바른 소프트웨어를 사용하고있는 경우 MAC 주소를 읽을 수도 있지만 RSSI 및 UUID와 동일한 방식으로이 정보가 코어 블루투스에 노출되지는 않는다고 생각합니다.

Bluetooth LE를 사용하는 경우 삼각 측량에 접근하는 데는 두 가지 방법이 있습니다. 하나는 일련의 배치 된 센서 위치에서 iPhone을 모니터링하여 삼각 측량을 수행하는 것이고, 다른 하나는 알려진 지점에서 광고하는 장치와 장치 사이의 신호 강도를 읽음으로써 iPhone 자체에서 삼각 측량을 수행하는 것입니다.

후자는 일련의 LE 주변 장치를 알려진 위치에 배치하고 규칙적인 간격으로 광고하게함으로써 수행 할 수 있습니다. 광고 정보에서 방 안에있는 주변 장치의 위치를 ​​찍을 수 있습니다. iPhone은이 광고를 읽고 -centralManager:didDiscoverPeripheral:advertisementData:RSSI: 대리자 메서드를 사용하여 RSSI 정보를 가져 와서 위치를 삼각 측량 할 수 있습니다.

이전 접근 방식은 좀 더 복잡합니다. 아이폰을 블루투스 LE 주변 장치로 만들기위한 새로운 iOS 6.0 지원을 사용하여 아이폰 자체를 광고 모드로 전환 할 필요가있다. 그런 다음 센서 위치는이 광고 패킷을 통해 iPhone에서 RSSI를 가져올 수 있으며 휴대 전화 용으로 생성 한 UUID도 가져올 수 있습니다. 센서 노드에서 올바른 소프트웨어를 실행중인 전화기의 MAC 주소를 선택할 수도 있습니다. 그런 다음 중앙 서버가이 판독 값을 결합하여 iPhone의 위치를 ​​삼각형 화해야합니다.

전송 강도를 실험하여 이것이 제공 할 수있는 해상도의 종류를 결정해야 할 수도 있습니다. RSSI 정보는 시끄럽다. 내 경험상 주변 장치의 정상적인 전송 레벨에서 +/- 30 피트까지만 해결되는 것 같다. 여러 개의 센서 스테이션과 낮은 전송 강도로이 문제를 개선 할 수 있습니다.

+0

감사합니다. 그래도 한 가지 질문을하고 있습니다. 센서 농장 측에서 삼각 측량 로직을 수행 할 때 (전화가 광고하는 동안) ... 어떻게 전화를 식별합니까? 서로 식별하기 위해 휴대 전화에서 실행중인 앱과 센서 팜에 연결된 서버가 필요합니까? 서버와 앱이 어느 전화에 동의하지 않으면 (범위 내에 여러 개가있을 수 있기 때문에) 휴대 전화의 위치는 쓸모가 없습니다. – lms

+1

@lms - 애플리케이션을 실행하는 동안 휴대 전화가 주변 기기로 작동 할 때 광고 데이터의 일부로 전송되는 휴대 전화 용 애플리케이션에 UUID를 생성 할 수 있습니다. 센서 네트워크는이 UUID를보고 네트워크를 통해 신호 강도를 해당 UUID와 상관시킬 수 있으며 UUID는이를 브로드 캐스팅하는 사람이기 때문에 iPhone 응용 프로그램에 알려집니다. –

관련 문제