BLE 4.0의 경우 서비스 배열 UUID를 사용하여 주변 장치를 검색하는 API를 제공합니다.동일한 서비스 UUID를 사용하여 두 장치에서 특정 BLE 4.0 주변 장치를 찾는 방법
나는 그 중 하나를 찾고 싶습니다. 이것을 달성하는 방법?
식별자를 특정 장치에 할당해야하는 경우 어떻게해야합니까?
(내 질문은 아이폰 OS의 핵심 블루투스의 일부 문맥을 필요가 있다고 생각합니다.) 내가 틀렸다면
BLE 4.0의 경우 서비스 배열 UUID를 사용하여 주변 장치를 검색하는 API를 제공합니다.동일한 서비스 UUID를 사용하여 두 장치에서 특정 BLE 4.0 주변 장치를 찾는 방법
나는 그 중 하나를 찾고 싶습니다. 이것을 달성하는 방법?
식별자를 특정 장치에 할당해야하는 경우 어떻게해야합니까?
(내 질문은 아이폰 OS의 핵심 블루투스의 일부 문맥을 필요가 있다고 생각합니다.) 내가 틀렸다면
이 말해. 하나의 BLE 주변 장치에 연결하고자하는 중심 역할을하는 2 개의 장치가 있습니다.
중요한 것은 BLE 주변 장치의 서비스 UUID입니다. 중심 역할을하는 장치에서 원하는 UUID 서비스로 주변 장치를 검색해야합니다. 그게 다야.
iOS로 개발하려면 Core Bluetooth Programming Guide을 따르십시오. 거기에 좋은 지침서가 있습니다. 알려진에 다시 연결에 대한 scanForPeripheralsWithServices:
과정에 대한
[myCentralManager scanForPeripheralsWithServices:nil options:nil];
코드 줄에서 당신이 UUID 객체의 배열 (CBUUID
)를 추가 할 수 있습니다 대신 무기 호 : 애플 문서의 예를 들어
기본적으로 당신은 당신이 당신이 CBPeripheral
객체를 얻기 위해 CBCentralManager
의 retrievePeripheralsWithIdentifiers:
방법을 사용할 수 있습니다합니다 (CBPeripheral
개체의 identifier
재산 인)에 다시 연결 한 후 연결을 시도 할 장치의 UUID를 알고있는 경우 -
NSUUID *pid=[[NSUUID alloc]initWithUUIDString:@"45D956BB-75E4-6CEB-C06C-D531B00174E4" ];
NSArray *peripherals=[self.centralManager retrievePeripheralsWithIdentifiers:@[pid]];
if ([peripherals count]>0)
{
CBPeripheral *peripheral=[peripherals objectAtIndex:0];
peripheral.delegate=self;
[self.connectingPeripherals addObject:peripheral];
NSLog(@"Found peripheral %@ with name %@",peripheral.identifier,peripheral.name);
[self.centralManager connectPeripheral:peripheral options:nil];
}
이 작동하지 않을 수 있습니다, 당신은 몇 가지 주변 (특히 iOS 장비)의 식별자는 주기적으로 UUID를 변경 귀하의 주변을 검색 할 수 있습니다.
프로그래밍 가이드 노트 -
주 : 주변 장치가 몇 가지 이유에 연결하는 데 사용할 수 없습니다. 예를 들어, 장치가 근처에 있지 않을 수 있습니다. 또한 일부 Bluetooth 저에너지 장치는 주기적으로 변경되는 임의 장치 주소 을 사용합니다. 따라서 장치가 근처에 있더라도 시스템에서 마지막으로 발견 한 후 장치의 주소가 이후로 변경되었을 수 있습니다.이 경우 연결하려는 CBPeripheral 개체 이 에 해당하지 않습니다. 실제 주변 장치. 주소가 변경되어 주변 기기에 다시 연결할 수없는 경우 scanForPeripheralsWithServices : options : 메소드를 사용하여 을 재발견해야합니다.
처음으로 주변 장치가 발생할 때 스캔해야합니다.
답변을 찾았습니까? 나는 같은 상황에 처해있다. 당신이 발견 한 것을 나눌 수 있다면 좋을 것입니다. – user2210021
귀하의 질문은 다소 모호합니다 : 새로운 주변 장치를 찾거나 이전에 연결된 주변 장치에 다시 연결하거나 발견 된 주변 장치에서 특정 서비스를 찾고 싶습니까? Paulw11이 귀하의 질문에 대해 가장 좋은 답변을 갖고있는 것 같습니다. –