QLowEnergyCharacteristic Class
QLowEnergyCharacteristic 클래스는 블루투스 저에너지(Bluetooth Low Energy) 서비스 특성 관련 정보를 저장합니다. 더 보기...
| 헤더: | #include <QLowEnergyCharacteristic> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Bluetooth) target_link_libraries(mytarget PRIVATE Qt6::Bluetooth) |
| qmake: | QT += bluetooth |
공개 유형
| enum | PropertyType { Unknown, Broadcasting, Read, WriteNoResponse, Write, …, ExtendedProperty } |
| flags | PropertyTypes |
공개 함수
| QLowEnergyCharacteristic() | |
| QLowEnergyCharacteristic(const QLowEnergyCharacteristic &other) | |
| ~QLowEnergyCharacteristic() | |
(since 6.2) QLowEnergyDescriptor | clientCharacteristicConfiguration() const |
| QLowEnergyDescriptor | descriptor(const QBluetoothUuid &uuid) const |
| QList<QLowEnergyDescriptor> | descriptors() const |
| bool | isValid() const |
| QString | name() const |
| QLowEnergyCharacteristic::PropertyTypes | properties() const |
| QBluetoothUuid | uuid() const |
| QByteArray | value() const |
| QLowEnergyCharacteristic & | operator=(const QLowEnergyCharacteristic &other) |
정적 공용 멤버
(since 6.2) const QByteArray | CCCDDisable |
(since 6.2) const QByteArray | CCCDEnableIndication |
(since 6.2) const QByteArray | CCCDEnableNotification |
관련 비멤버
| bool | operator!=(const QLowEnergyCharacteristic &a, const QLowEnergyCharacteristic &b) |
| bool | operator==(const QLowEnergyCharacteristic &a, const QLowEnergyCharacteristic &b) |
상세한 설명
QLowEnergyCharacteristic은 Bluetooth Low Energy 서비스 특성인 name(), uuid(), value(), properties() 및 descriptors()에 대한 정보를 제공합니다. 특성의 사양 및 정보를 얻으려면 QLowEnergyService 및 QLowEnergyController 클래스를 사용하여 장치에 연결해야 합니다.
특성 값은 해당 특성이 속한 서비스를 관리하는 QLowEnergyService 인스턴스를 통해 기록할 수 있습니다. QLowEnergyService::writeCharacteristic() 함수는 새로운 값을 기록합니다. 성공 시 QLowEnergyService::characteristicWritten() 신호가 발생합니다. 이 객체의 value()은 이에 따라 자동으로 업데이트됩니다.
특성에는 디스크립터가 하나도 없거나, 하나 이상 포함될 수 있습니다. descriptor() 함수를 사용하여 디스크립터를 개별적으로 가져올 수 있습니다. descriptors() 함수는 모든 디스크립터를 목록 형태로 반환합니다. 디스크립터의 일반적인 목적은 특성에 컨텍스트 정보를 추가하는 것입니다. 예를 들어, 디스크립터는 특성 값을 어떻게 해석해야 하는지를 명시하는 형식이나 범위 정보를 제공할 수 있습니다.
QLowEnergyService 및 QLowEnergyDescriptor도 참조하십시오 .
멤버 유형 설명서
enum QLowEnergyCharacteristic::PropertyType
flags QLowEnergyCharacteristic::PropertyTypes
이 열거형은 특성의 속성을 설명합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QLowEnergyCharacteristic::Unknown | 0x00 | 유형이 알려지지 않았습니다. |
QLowEnergyCharacteristic::Broadcasting | 0x01 | GATT(Generic Attributes) 특성 값의 브로드캐스팅을 허용합니다. |
QLowEnergyCharacteristic::Read | 0x02 | 특성 값을 읽을 수 있도록 허용합니다. |
QLowEnergyCharacteristic::WriteNoResponse | 0x04 | 응답이 없는 특성 값의 쓰기를 허용합니다. |
QLowEnergyCharacteristic::Write | 0x08 | 특성 값 쓰기를 허용합니다. |
QLowEnergyCharacteristic::Notify | 0x10 | 특성 값에 대한 알림을 허용합니다. |
QLowEnergyCharacteristic::Indicate | 0x20 | 특성 값의 표시를 허용합니다. |
QLowEnergyCharacteristic::WriteSigned | 0x40 | GATT 특성 값에 대한 부호 있는 쓰기를 허용합니다. |
QLowEnergyCharacteristic::ExtendedProperty | 0x80 | 추가 특성 속성은 특성의 확장 속성 설명자에 정의되어 있습니다. |
기본 Bluetooth 스택의 동작이 플랫폼마다 다르기 때문에, 동일한 특성에서 Notify 및 Indicate 속성을 모두 설정하는 것은 권장되지 않습니다. 다음을 참조하십시오. QLowEnergyCharacteristic::clientCharacteristicConfiguration
PropertyTypes 유형은 QFlags<PropertyType>에 대한 typedef입니다. 이 유형은 PropertyType 값들의 OR 조합을 저장합니다.
properties()도 참조하십시오 .
멤버 함수 문서
QLowEnergyCharacteristic::QLowEnergyCharacteristic()
새로운 QLowEnergyCharacteristic 객체를 생성합니다. 이 클래스의 기본 생성된 인스턴스는 항상 유효하지 않습니다.
isValid()도 참조하십시오 .
QLowEnergyCharacteristic::QLowEnergyCharacteristic(const QLowEnergyCharacteristic &other)
other 의 복사본인 새로운 QLowEnergyCharacteristic을 생성합니다.
두 복사본은 쓰기 작업 시에도 분리되지 않는 동일한 기본 데이터를 계속 공유합니다.
[noexcept] QLowEnergyCharacteristic::~QLowEnergyCharacteristic()
QLowEnergyCharacteristic 객체를 삭제합니다.
[since 6.2] QLowEnergyDescriptor QLowEnergyCharacteristic::clientCharacteristicConfiguration() const
클라이언트 특성 구성 설명자를 반환하거나, 클라이언트 특성 구성 설명자가 존재하지 않을 경우 유효하지 않은 QLowEnergyDescriptor 인스턴스를 반환합니다.
BTLE 특성(characteristic)은 알림(notification) 및/또는 표시(indication)를 지원할 수 있습니다. 두 경우 모두, 주변기기는 특성의 값이 변경될 때마다 중앙기기에 이를 알립니다. BTLE 속성 프로토콜에서 알림 메시지는 중앙기기에 의해 확인되지 않는 반면, 표시는 확인됩니다. 알림은 더 빠르지만 신뢰성이 낮은 반면, 표시는 더 느리지만 신뢰성이 높습니다.
특성이 알림 또는 표시를 지원하는 경우, 클라이언트 특성 구성 설명자에 특수한 비트 패턴을 기록하여 이를 활성화할 수 있습니다. 편의를 위해 이러한 비트 패턴은 QLowEnergyCharacteristic::CCCDDisable, QLowEnergyCharacteristic::CCCDEnableNotification 및 QLowEnergyCharacteristic::CCCDEnableIndication 로 제공됩니다.
예를 들어, myservice 라는 서비스 내의 mycharacteristic 라는 특성에서 알림을 활성화하려면 다음 코드를 사용할 수 있습니다.
auto cccd = mycharacteristic.clientCharacteristicConfiguration();
if (!cccd.isValid()) {
// your error handling
return error;
}
myservice->writeDescriptor(cccd, QLowEnergyCharacteristic::CCCDEnableNotification);참고: characteristic.clientCharacteristicConfiguration() 를호출하는 것은 characteristic.descriptor(QBluetoothUuid::DescriptorType::ClientCharacteristicConfiguration) 를 호출하는 것과 동일합니다.
참고: 동일한 특성에서 알림과 표시 기능을 모두 사용하는것은 권장되지 않습니다. 이는 특성을 설정하는 서버 측과 특성을 활성화하는 클라이언트 측 모두에 적용됩니다. 블루투스 스택의 동작은 플랫폼마다 다르며, 크로스 플랫폼 동작은 일관되지 않을 가능성이 높습니다. 예를 들어, Bluez Linux 클라이언트는 두 메커니즘이 모두 지원되는 경우 무조건 두 가지 모두를 활성화하려고 시도할 수 있는 반면, macOS 클라이언트는 무조건 알림만 활성화할 수 있습니다. 두 가지가 모두 필요한 경우, 두 개의 별도 특성을 생성하는 것을 고려하십시오.
이 함수는 Qt 6.2에서 도입되었습니다.
descriptor()도 참조하십시오 .
QLowEnergyDescriptor QLowEnergyCharacteristic::descriptor(const QBluetoothUuid &uuid) const
uuid 또는 유효하지 않은 QLowEnergyDescriptor 인스턴스에 대한 디스크립터를 반환합니다.
descriptors()도 참조하십시오 .
QList<QLowEnergyDescriptor> QLowEnergyCharacteristic::descriptors() const
이 특성에 속하는 디스크립터 목록을 반환하며, 그렇지 않은 경우 빈 목록을 반환합니다.
descriptor()도 참조하십시오 .
bool QLowEnergyCharacteristic::isValid() const
QLowEnergyCharacteristic 객체가 유효한 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.
유효하지 않은 특성 객체는 어떤 서비스와도 연결되어 있지 않거나(기본 생성된 객체), 예를 들어 기본이 되는 Bluetooth Low Energy 장치와의 연결이 끊어져 연결된 서비스가 더 이상 유효하지 않은 경우입니다. 객체가 일단 유효하지 않게 되면 다시 유효해질 수 없습니다.
참고: 기본이 되는 장치와의 연결이 끊어져 QLowEnergyCharacteristic 인스턴스가 유효하지 않게 된경우 , 현재 인스턴스에 포함된 정보는 연결이 끊어졌을 당시의 상태로 유지됩니다. 따라서 연결 끊김 이벤트 이후에도 해당 정보를 가져올 수 있습니다.
QString QLowEnergyCharacteristic::name() const
특성의 사람이 읽기 쉬운 이름을 반환합니다.
이 이름은 특성( uuid)을 기반으로 하며, 해당 특성은 표준화되어 있어야 합니다. 특성 유형의 전체 목록은 Bluetooth.org의 '특성(Characteristics)' 섹션에서 확인할 수 있습니다.
uuid()의 값이 알 수 없는 경우, 반환되는 문자열은 비어 있습니다.
QBluetoothUuid::characteristicToString()도 참조하십시오 .
QLowEnergyCharacteristic::PropertyTypes QLowEnergyCharacteristic::properties() const
특성의 속성을 반환합니다.
이 속성들은 특성별 접근 권한을 정의합니다.
QBluetoothUuid QLowEnergyCharacteristic::uuid() const
isValid()가 true 를 반환하는 경우 해당 특성의 UUID를 반환하고, 그렇지 않은 경우 null UUID를 반환합니다.
QByteArray QLowEnergyCharacteristic::value() const
특성의 캐시된 값을 반환합니다.
특성의 ` properties()` 메서드가 새 값의 쓰기를 허용하는 경우, ` QLowEnergyService::writeCharacteristic()`를 사용하여 값을 업데이트할 수 있습니다.
캐시는 관련 서비스의 detail discovery 중, read() 또는write 작업이 성공적으로 수행되었을 때, 또는 업데이트 알림을 수신했을 때 업데이트됩니다.
특성에 read permission 가 없는 경우, 반환된 QByteArray 은 항상 비어 있습니다. 이러한 경우, QLowEnergyService::characteristicChanged() 또는 QLowEnergyService::characteristicWritten()만이 해당 특성의 값에 대한 정보를 제공할 수 있습니다.
QLowEnergyCharacteristic &QLowEnergyCharacteristic::operator=(const QLowEnergyCharacteristic &other)
other 의 복사본을 생성하여 이 QLowEnergyCharacteristic 객체에 할당합니다. 두 복사본은 계속해서 동일한 서비스 및 컨트롤러 세부 정보를 공유합니다.
멤버 변수 문서
[since 6.2] const QByteArray QLowEnergyCharacteristic::CCCDDisable
알림과 표시를 모두 비활성화하기 위해 클라이언트 특성 구성 설명자에 기록해야 하는 비트 패턴입니다.
이 변수는 Qt 6.2에서 도입되었습니다.
QLowEnergyCharacteristic::clientCharacteristicConfiguration도 참조하십시오 .
[since 6.2] const QByteArray QLowEnergyCharacteristic::CCCDEnableIndication
표시 기능을 활성화하기 위해 클라이언트 특성 구성 설명자에 기록해야 하는 비트 패턴입니다.
이 변수는 Qt 6.2에서 도입되었습니다.
QLowEnergyCharacteristic::clientCharacteristicConfiguration도 참조하십시오 .
[since 6.2] const QByteArray QLowEnergyCharacteristic::CCCDEnableNotification
알림을 활성화하기 위해 클라이언트 특성 구성 설명자에 기록할 비트 패턴입니다.
이 변수는 Qt 6.2에서 도입되었습니다.
QLowEnergyCharacteristic::clientCharacteristicConfiguration도 참조하십시오 .
관련 비회원 변수
bool operator!=(const QLowEnergyCharacteristic &a, const QLowEnergyCharacteristic &b)
a 와 b 가 같지 않은 경우 true 을 반환하고, 그렇지 않은 경우 false 을 반환합니다.
두 개의 QLowEnergyCharacteristic 인스턴스는 동일한 원격 Bluetooth Low Energy 장치의 동일한 특성을 참조하거나, 두 인스턴스 모두 기본 생성된 경우 서로 동일한 것으로 간주됩니다.
bool operator==(const QLowEnergyCharacteristic &a, const QLowEnergyCharacteristic &b)
a 가 b 와 같으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
두 개의 QLowEnergyCharacteristic 인스턴스는 동일한 원격 Bluetooth Low Energy 장치의 동일한 특성을 참조하거나, 두 인스턴스 모두 기본 생성된 경우 서로 동일한 것으로 간주됩니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.