저에너지 블루투스 사양은 주변 장치가 한 번에 둘 이상의 중앙 장치에 연결할 수 있는지에 대해서는별로 말하지 않지만 내 경험 테스트에서는 그렇지 못하다고합니다.iOS CoreBluetooth Central Manager를 지속적으로 검색 하시겠습니까?
내 응용 프로그램이 주변 장치와 비 독점적 인 관계가 필요하므로 (다른 사람을 차단할 수있는 연결이 필요 없음) 지속적으로 RSSI 값을 업데이트해야하므로 주변 장치를 지속적으로 스캔하여 RSSI 값을 캡처하는 방법을 모색 중입니다 .
scanForPeripheralsWithServices 메서드는 특정 간격 동안 검색 한 다음 중지합니다. 가장 좋은 방법은 한 번에 3 초씩 검색하고 stopScan을 기다렸다가 몇 초간 기다린 다음 다시 스캔하는 것입니다. 반복.
누구든지 더 나은 방법을 가리킬 수 있습니까? 예를 들어 둘 이상의 센트럴에 연결하도록 주변 장치를 구성 할 수 있습니까?
네,하지만 나는 계속해서 업데이트 된 RSSI를 얻을 필요가 :
(. 완전히 나를 위해 문제가 해결되지 않은
CBCentralManagerScanOptionAllowDuplicatesKey
@YES
에 설정)를 클래스를 가정하면 CBCentralManagerDelegate 구현합니다. 센트럴 매니저가 주변 장치를 몇 차례 발견하고 재발견하면 스캔이 계속되는 경우에도 발견 한 (약 3 초 정도 인 것 같습니다) 발견을 멈추게됩니다. 내가 남긴 것은 업데이트 된 RSSI 값을 얻기 위해 반복적으로 스캔을 다시 시작해야한다는 것입니다. – Jonathan
예, didDiscoverPeripheral 함수 내에서 스캔을 다시 시작할 수 있습니다. 그러면 RSSI를 빨리 영원히 얻을 수 있습니다. – Aboelseoud
감사합니다. 그거야. 전원을 절약하기 위해 실제로는 100ms 후 스캔을 중지 한 다음 1 초마다 100ms 버스트를 수행합니다. 훌륭하게 작동합니다. – Jonathan