swift bluetooth 예제

이것은 단지 추측으로 코드를 검사 할 시간이 없어, 하지만 블루투스 장치의 일부 공급 업체는 SIG 표준을 무시하고 자신의 장치의 데이터를 쿼리하기위한 독점 인터페이스를 인코딩. 나는 이것을 내가 구입 한 블루투스 온도계에서 발생하는 것을 보았다. 온도계로 광고하는 동안 „숨겨진” 프로토콜을 사용하여 온도 데이터를 제공했습니다. 타사의 기기 데이터에 대한 액세스를 허용하지 않는 공급업체의 예는 Fitbit입니다. 온도계에서 전송되는 데이터를 검사하고 Bluetooth 표준을 준수하는지 확인해야 합니다. 이 예제에서는 심박수 측정 및 신체 센서 위치 섹션을 읽은 다음 해당 세부 링크, org.bluetooth.특성.heart_rate_측정 및 org.bluetooth.특성.body_sensor_location를 클릭합니다. GitHub: SwiftBluetooth에서 이 구현을 찾을 수 있습니다. BLE와 같은 표준이 이러한 세 가지 장치에 모두 연결되는 Swift 4 코드를 작성하여 얼마나 중요한지 보여 드리겠습니다. 최근에 나는 RxBluetoothKit 및 RxSwift를 사용하는 또 다른 접근 방식에 대해게시, 당신은 RxSwift 및 RxBluetoothKit를 사용하여 블루투스 저에너지 통신에서 그것에 대해 자세히 읽을 수 있습니다.

이름 열에서 „심박수”를 찾을 때까지 서비스 목록을 아래로 스크롤합니다. 해당 균일 유형 식별자는 „org.bluetooth.service.heart_rate”이고 할당된 번호는 0x180D입니다. 아래 코드에서 0x180D 값을 사용합니다. 본 명세서에서 다루는 HRM 예제에서 먼저 GATT 서비스 페이지의 이름 열에서 „심박수”(하이퍼링크)라는 용어를 찾습니다. „심박수” 링크를 클릭하고 전체 페이지를 검토합니다. 할당된 번호(0x180D)를 기록하고 서비스 특성 테이블로 아래로 스크롤합니다. 테이블을 주의 깊게 검토하고 관심 있는 특성을 찾습니다. 단계 3.2: 중앙 관심의 주변 장치를 스캔 해야 합니다., 하지만 장치에 경우에, 아이폰 처럼, 블루투스® 켜져. 위의 „광고를 통해 주변 기기 찾기” 섹션을 기억하세요.

이것이 우리가 이 부름을 통해 하는 일입니다. 우리는 광고 (0x180D)인 심박수 서비스를 가진 HRM에 대해서만 듣습니다. ServiceUUDs 배열 매개 변수(withServices에 레이블이 지정)에 CBUUD를 추가하여 특정 서비스를 통해 더 많은 주변 장치를 듣고 연결할 수 있습니다. 예를 들어, 일부 건강 관련 앱에서는 HRM과 혈압 모니터 또는 BPM을 듣고 연결할 수 있습니다(BPM에 대한 CB주변 변수의 다른 클래스 인스턴스 변수가 필요하지만).

Comment is closed.