diff --git a/examples/bluetooth/nimble/bleprph/main/main.c b/examples/bluetooth/nimble/bleprph/main/main.c index 479d37ba82..fecd6de5f4 100644 --- a/examples/bluetooth/nimble/bleprph/main/main.c +++ b/examples/bluetooth/nimble/bleprph/main/main.c @@ -28,6 +28,9 @@ #include "services/gap/ble_svc_gap.h" #include "bleprph.h" +#include "driver/temperature_sensor.h" +static const char *TAG = "example"; + #if CONFIG_EXAMPLE_EXTENDED_ADV static uint8_t ext_adv_pattern_1[] = { 0x02, 0x01, 0x06, @@ -505,11 +508,38 @@ app_main(void) } ESP_ERROR_CHECK(ret); + ESP_LOGI(TAG, "Install temperature sensor, expected temp ranger range: 10~50 ℃"); + temperature_sensor_handle_t temp_sensor = NULL; + temperature_sensor_config_t temp_sensor_config = TEMPERATURE_SENSOR_CONFIG_DEFAULT(10, 50); + ESP_ERROR_CHECK(temperature_sensor_install(&temp_sensor_config, &temp_sensor)); + + ESP_LOGI(TAG, "Enable temperature sensor"); + //ESP_ERROR_CHECK(temperature_sensor_enable(temp_sensor)); + + ESP_LOGI(TAG, "Read temperature"); + int cnt = 10; + float tsens_value; + while (cnt--) { + temperature_sensor_enable(temp_sensor); + ESP_ERROR_CHECK(temperature_sensor_get_celsius(temp_sensor, &tsens_value)); + ESP_LOGI(TAG, "Temperature value %.02f ℃", tsens_value); + vTaskDelay(pdMS_TO_TICKS(1000)); + temperature_sensor_disable(temp_sensor); + } ret = nimble_port_init(); if (ret != ESP_OK) { ESP_LOGE(tag, "Failed to init nimble %d ", ret); return; } + +cnt=10; + while (cnt--) { + temperature_sensor_enable(temp_sensor); + ESP_ERROR_CHECK(temperature_sensor_get_celsius(temp_sensor, &tsens_value)); + ESP_LOGI(TAG, "Temperature value %.02f ℃", tsens_value); + vTaskDelay(pdMS_TO_TICKS(1000)); + temperature_sensor_disable(temp_sensor); + } /* Initialize the NimBLE host configuration. */ ble_hs_cfg.reset_cb = bleprph_on_reset; ble_hs_cfg.sync_cb = bleprph_on_sync; @@ -542,6 +572,14 @@ app_main(void) rc = gatt_svr_init(); assert(rc == 0); +cnt=10; + while (cnt--) { + temperature_sensor_enable(temp_sensor); + ESP_ERROR_CHECK(temperature_sensor_get_celsius(temp_sensor, &tsens_value)); + ESP_LOGI(TAG, "Temperature value %.02f ℃", tsens_value); + vTaskDelay(pdMS_TO_TICKS(1000)); + temperature_sensor_disable(temp_sensor); + } /* Set the default device name. */ rc = ble_svc_gap_device_name_set("nimble-bleprph"); assert(rc == 0); @@ -556,4 +594,13 @@ app_main(void) if (rc != ESP_OK) { ESP_LOGE(tag, "scli_init() failed"); } +cnt=10; + while (cnt--) { + temperature_sensor_enable(temp_sensor); + ESP_ERROR_CHECK(temperature_sensor_get_celsius(temp_sensor, &tsens_value)); + ESP_LOGI(TAG, "Temperature value %.02f ℃", tsens_value); + vTaskDelay(pdMS_TO_TICKS(1000)); + temperature_sensor_disable(temp_sensor); + } + }