Я выполнил отчет ZCL, чтобы реализовать функцию, которая может принимать данные, отправленные с датчика.Функция обратного вызова модуля zigbee несовместима с спецификацией ZCL
В SDk, она определяется следующим образом:
void ZbZclReportFunc{
struct ZbZclClusterT * clusterPtr,
zbApsdeDataInt * dataIndPtr,
uint16_t attributeId,
const uint8_t * data
}
Реализуя функцию обратного вызова, как показано выше, я могу получить всю информацию, кроме данных.
В спецификации ZCL кластер измерения температуры определяет «16-разрядное целое число« Измеренное значение ».
я распечатать данные, используя следующий формат:
printf("Degree: 0x%04x", *data);
Как я ожидал, данные, приведенные в «0x002b» в качестве примера.
Отбрасывая его на 16-битное целое число, это не помогает.
printf("Degree: 0x%04x", (int16_t)*data);
Любая идея?
Благодаря
Спасибо. Использует ли влажность так же, как и для преобразования? – Sam