10 #include "mbedtls/aes.h" 11 #include "mbedtls/base64.h" 15 #define MBEDTLS_AES_ALT 20 namespace ble_presence {
82 if (this->
uuid_ == uuid) {
147 uint8_t ecb_plaintext[16];
148 uint8_t ecb_ciphertext[16];
150 memcpy(&ecb_key, irk, 16);
151 memset(&ecb_plaintext, 0, 16);
153 ecb_plaintext[13] = (addr64 >> 40) & 0xff;
154 ecb_plaintext[14] = (addr64 >> 32) & 0xff;
155 ecb_plaintext[15] = (addr64 >> 24) & 0xff;
157 mbedtls_aes_context ctx = {0, 0, {0}};
158 mbedtls_aes_init(&ctx);
160 if (mbedtls_aes_setkey_enc(&ctx, ecb_key, 128) != 0) {
161 mbedtls_aes_free(&ctx);
165 if (mbedtls_aes_crypt_ecb(&ctx,
168 #elif defined(USE_ESP_IDF)
171 ecb_plaintext, ecb_ciphertext) != 0) {
172 mbedtls_aes_free(&ctx);
176 mbedtls_aes_free(&ctx);
178 return ecb_ciphertext[15] == (addr64 & 0xff) && ecb_ciphertext[14] == ((addr64 >> 8) & 0xff) &&
179 ecb_ciphertext[13] == ((addr64 >> 16) & 0xff);
optional< ESPBLEiBeacon > get_ibeacon() const
const float DATA
For components that import data from directly connected sensors like DHT.
void set_address(uint64_t address)
bool parse_device(const esp32_ble_tracker::ESPBTDevice &device) override
bool check_ibeacon_major_
void set_service_uuid32(uint32_t uuid)
void set_ibeacon_major(uint16_t major)
const std::vector< ESPBTUUID > & get_service_uuids() const
uint32_t IRAM_ATTR HOT millis()
esp32_ble_tracker::ESPBTUUID uuid_
float get_setup_priority() const override
bool check_ibeacon_minor_
bool resolve_irk_(uint64_t addr64, const uint8_t *irk)
static ESPBTUUID from_uint32(uint32_t uuid)
void set_irk(uint8_t *irk)
void set_minimum_rssi(int rssi)
static ESPBTUUID from_uint16(uint16_t uuid)
bool state
The current reported state of the binary sensor.
void publish_state(bool state)
Publish a new state to the front-end.
void set_found_(bool state)
uint64_t address_uint64() const
void set_ibeacon_minor(uint16_t minor)
void set_timeout(uint32_t timeout)
This is a workaround until we can figure out a way to get the tflite-micro idf component code availab...
esp32_ble_tracker::ESPBTUUID ibeacon_uuid_
static ESPBTUUID from_raw(const uint8_t *data)
void set_ibeacon_uuid(uint8_t *uuid)
void set_service_uuid16(uint16_t uuid)
void set_service_uuid128(uint8_t *uuid)
esp_bt_uuid_t get_uuid() const
void dump_config() override