QLowEnergyCharacteristic Class

QLowEnergyCharacteristic 클래스는 Bluetooth 저에너지 서비스 특성에 대한 정보를 저장합니다. 더 보기...

Header: #include <QLowEnergyCharacteristic>
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은 블루투스 저에너지 서비스 특성의 name(), uuid(), value(), properties() 및 descriptors()에 대한 정보를 제공합니다. 특성 사양 및 정보를 얻으려면 QLowEnergyServiceQLowEnergyController 클래스를 사용하여 장치에 연결해야 합니다.

특성 값은 해당 특성이 속한 서비스를 관리하는 QLowEnergyService 인스턴스를 통해 작성할 수 있습니다. QLowEnergyService::writeCharacteristic () 함수는 새 값을 씁니다. 성공하면 QLowEnergyService::characteristicWritten() 신호가 전송됩니다. 이 개체의 value()는 그에 따라 자동으로 업데이트됩니다.

특성에는 설명자가 없거나 하나 이상의 설명자가 포함될 수 있습니다. 이러한 설명자는 descriptor() 함수를 사용하여 개별적으로 검색할 수 있습니다. descriptors () 함수는 모든 설명자를 목록으로 반환합니다. 설명자의 일반적인 목적은 특성에 문맥 정보를 추가하는 것입니다. 예를 들어, 설명자는 특성 값을 해석하는 방법을 지정하는 형식 또는 범위 정보를 제공할 수 있습니다.

QLowEnergyServiceQLowEnergyDescriptor참조하세요 .

멤버 유형 문서

열거형 QLowEnergyCharacteristic::PropertyType
플래그 QLowEnergyCharacteristic::PropertyTypes

이 열거형은 특성의 속성을 설명합니다.

Constant설명
QLowEnergyCharacteristic::Unknown0x00유형을 알 수 없습니다.
QLowEnergyCharacteristic::Broadcasting0x01일반 속성(GATT) 특성 값의 브로드캐스팅을 허용합니다.
QLowEnergyCharacteristic::Read0x02특성 값을 읽을 수 있도록 허용합니다.
QLowEnergyCharacteristic::WriteNoResponse0x04응답이 없는 특성 값을 쓸 수 있도록 허용합니다.
QLowEnergyCharacteristic::Write0x08특성 값 쓰기를 허용합니다.
QLowEnergyCharacteristic::Notify0x10특성 값의 알림을 허용합니다.
QLowEnergyCharacteristic::Indicate0x20특성 값의 표시를 허용합니다.
QLowEnergyCharacteristic::WriteSigned0x40GATT 특성 값의 서명된 쓰기를 허용합니다.
QLowEnergyCharacteristic::ExtendedProperty0x80추가 특성 속성은 특성의 확장 특성 설명자에 정의됩니다.

기본 블루투스 스택 동작은 플랫폼마다 다르므로 동일한 특성에 알림 및 표시 속성을 모두 설정하지 않는 것이 좋습니다. 다음을 참조하세요. 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 특성은 알림 및/또는 표시를 지원할 수 있습니다. 두 경우 모두, 주변 장치는 특성 값이 변경될 때마다 중앙 장치에 알립니다. 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) 을 호출하는 것과 동일합니다.

참고: 동일한 특성에 대해 알림과 표시를 모두 사용하지 않는 것이 좋습니다. 이는 특성을 설정할 때 서버 측과 활성화할 때 클라이언트 측 모두에 적용됩니다. 블루투스 스택 동작은 플랫폼마다 다르며 플랫폼 간 동작이 일관되지 않을 수 있습니다. 예를 들어 블루즈 리눅스 클라이언트는 두 가지 메커니즘이 모두 지원되는 경우 무조건 두 메커니즘을 모두 활성화하려고 시도하는 반면, 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 저에너지 장치와의 연결이 끊어지는 등의 이유로 연결된 서비스가 더 이상 유효하지 않은 경우입니다. 개체가 유효하지 않게 되면 더 이상 유효하게 될 수 없습니다.

참고: 기본 장치와의 연결이 끊어져 QLowEnergyCharacteristic 인스턴스가 유효하지 않게 되면 현재 인스턴스에 의해 캡슐화된 정보는 연결이 끊어진 시점에 그대로 유지됩니다. 따라서 연결 해제 이벤트 후에 검색할 수 있습니다.

QString QLowEnergyCharacteristic::name() const

사람이 읽을 수 있는 특성 이름을 반환합니다.

이름은 표준화된 특성 uuid()을 기반으로 합니다. 특성 유형의 전체 목록은 Bluetooth.org 특성에서 확인할 수 있습니다.

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 작업이 성공하거나 업데이트 알림이 수신될 때 업데이트됩니다.

반환된 QByteArray 은 특성에 read permission 이 없는 경우 항상 비어 있습니다. 이러한 경우 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)

ab 이 같지 않으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

동일한 원격 블루투스 저에너지 장치에서 동일한 특성을 참조하거나 두 인스턴스가 모두 기본으로 구성된 경우 두 QLowEnergyCharcteristic 인스턴스는 동일한 것으로 간주됩니다.

bool operator==(const QLowEnergyCharacteristic &a, const QLowEnergyCharacteristic &b)

ab 과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

두 개의 QLowEnergyCharacteristic 인스턴스가 동일한 원격 Bluetooth 저에너지 장치에서 동일한 특성을 참조하거나 두 인스턴스가 모두 기본으로 구성된 경우 동일한 것으로 간주됩니다.

© 2025 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.