투케이2K

620. (ios/swift5) [기능 정리] CBPeripheral 설명 및 기능 사용 정리 - Bluetooth 원격 주변 장치 모니터링 본문

IOS

620. (ios/swift5) [기능 정리] CBPeripheral 설명 및 기능 사용 정리 - Bluetooth 원격 주변 장치 모니터링

투케이2K 2025. 1. 3. 19:52

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[설명 정리]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Swift

- 개발 툴 : Xcode

- 기술 구분 : Bluetooth / CBPeripheral / 주변 장치 모니터링

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------

1. CBPeripheral 은 앱이 중앙 관리자(인스턴스)를 통해 검색하는 원격 주변 장치를 나타냅니다

  >> 주변 장치는 객체로 표현되는 UUID(Universally Unique Identifier)를 사용하여 자신을 식별할 수 있습니다
  >> 주변 장치는 하나 이상의 서비스를 포함하거나 연결된 신호 강도에 대한 유용한 정보를 제공할 수 있습니다


2. CBPeripheral 를 사용하여 Bluetooth 저에너지를 지원하는 원격 주변 기기에서 사용 가능한 서비스를 검색, 탐색 및 상호 작용할 수 있습니다


3. CBPeripheral 사용 가능 지원 범위 : 

  >> iOS 5.0 이상
  >> 아이패드OS 5.0+
  >> 맥 카탈리스트 13.1+
  >> 맥OS 10.7+
  >> tvOS 9.0 이상
  >> 비전OS 1.0+
  >> 워치OS 2.0 이상


4. CBPeripheral 주변 장치 식별 관련 정리 : 

  >> var name: String? : 주변장치의 이름입니다.
  >> var delegate: (any CBPeripheralDelegate)? : 주변 이벤트를 수신하도록 지정된 대리자 개체입니다.


5. CBPeripheral 서비스 발견 관련 정리 : 

  >> func discoverServices([CBUUID]?) : 주변 장치의 지정된 서비스를 검색합니다.
  >> func discoverIncludedServices([CBUUID]?, for: CBService) : 이전에 검색된 서비스의 지정된 포함 서비스를 검색합니다.
  >> var services: [CBService]? : 주변장치에서 검색된 서비스 목록입니다.


6. CBPeripheral 특성과 설명자 발견 관련 정리 : 

  >> func discoverCharacteristics([CBUUID]?, for: CBService) : 서비스의 지정된 특성을 발견합니다.
  >> func discoverDescriptors(for: CBCharacteristic) : 특성의 설명자를 발견합니다.


7. CBPeripheral 특성 및 설명자 값 읽기 관련 정리 : 

  >> func readValue(for: CBCharacteristic) : 지정된 특성의 값을 검색합니다.
  >> func readValue(for: CBDescriptor) : 지정된 특성 설명자의 값을 검색합니다.


8. CBPeripheral 특성 및 설명자 값 쓰기 관련 정리 : 

  >> func writeValue(Data, for: CBCharacteristic, type: CBCharacteristicWriteType) : 특성의 값을 기록합니다.
  >> func writeValue(Data, for: CBDescriptor) : 특성 설명자의 값을 기록합니다.
  >> func maximumWriteValueLength(for: CBCharacteristicWriteType) -> Int : 단일 쓰기 유형에서 특성에 보낼 수 있는 최대 데이터 양(바이트)입니다.
  >> enum CBCharacteristicWriteType : 특성 값에 대한 가능한 쓰기 유형을 나타내는 값입니다.


9. CBPeripheral 특성 값에 대한 알림 설정 관련 정리 : 

  >> func setNotifyValue(Bool, for: CBCharacteristic) : 지정된 특성의 값에 대한 알림이나 표시를 설정합니다.


10. CBPeripheral 주변 장치의 연결 상태 모니터링 관련 정리 : 

  >> var state: CBPeripheralState : 주변장치의 연결 상태.
  >> enum CBPeripheralState : 주변 장치의 연결 상태를 나타내는 값입니다.
  >> var canSendWriteWithoutResponse: Bool : 원격 장치가 응답 없이 쓰기를 보낼 수 있는지 여부를 나타내는 부울 값입니다.


11. CBPeripheral 주변장치 신호 강도에 접근하기 관련 정리 : 

  >> func readRSSI() : 중앙 관리자에 연결된 동안 주변 장치의 현재 RSSI 값을 검색합니다.


12. CBPeripheral L2CAP 채널 작업 관련 정리 : 

  >> func openL2CAPChannel(CBL2CAPPSM) : 제공된 프로토콜/서비스 멀티플렉서(PSM)를 사용하여 주변장치에 대한 L2CAP 채널을 열려고 시도합니다.
  >> class CBL2CAPChannel : 원격 장치에 대한 라이브 L2CAP 연결.
  >> typealias CBL2CAPPSM : PSM 식별자의 유형.


13. CBPeripheral Apple Notification Center Service(ANCS) 사용 관련 정리 : 

  >> var ancsAuthorized: Bool : 원격 장치가 ANCS 프로토콜을 통해 데이터를 수신할 권한이 있는지 여부를 나타내는 부울 값입니다.

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[애플 공식 사이트 설명]

https://developer.apple.com/documentation/corebluetooth/cbperipheral


[실시간 블루투스 목록 스캔 실시]

https://blog.naver.com/kkh0977/222539665274?trackingCode=blog_bloghome_searchlist


[블루투스 (bluetooth) 신호 활성 수행]

https://blog.naver.com/kkh0977/222558588251?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
반응형
Comments