diff --git a/src/tasks/user_dht_task.c b/src/tasks/user_dht_task.c index 64d367f..e31a4f9 100644 --- a/src/tasks/user_dht_task.c +++ b/src/tasks/user_dht_task.c @@ -1,9 +1,9 @@ #include -#include "user_common.h" #include "impl/user_bme280_impl.h" #include "tasks/user_task_lvgl_common.h" #include "tasks/user_task_mqtt_common.h" +#include "user_common.h" void *user_dht_task(void *arguments); pthread_t user_dht_task_thread; @@ -38,18 +38,13 @@ void *user_dht_task(void *arguments) { return NULL; } - bme280_t bme = { - .cb = - { - .read_register_cb = - (bme280_ret_t(*)(void *, uint8_t, uint8_t *, - uint8_t))user_bme280_impl_read_register_cb, - .write_register_cb = (bme280_ret_t(*)(void *, uint8_t, uint8_t)) - user_bme280_impl_write_register_cb, - .delay_cb = (bme280_ret_t(*)( - void *, uint32_t))user_bme280_impl_delay_cb, - }, - .user_data = &bme_impl}; + bme280_t bme = {.cb = + { + .read_register_cb = (bme280_ret_t(*)(void *, uint8_t, uint8_t *, uint8_t))user_bme280_impl_read_register_cb, + .write_register_cb = (bme280_ret_t(*)(void *, uint8_t, uint8_t))user_bme280_impl_write_register_cb, + .delay_cb = (bme280_ret_t(*)(void *, uint32_t))user_bme280_impl_delay_cb, + }, + .user_data = &bme_impl}; bme280_config_t cfg; @@ -80,13 +75,17 @@ void *user_dht_task(void *arguments) { while(g_running) { bme280_measure(&bme, &res); + USER_LOG(USER_LOG_DEBUG, "BME: T: %.02f, H: %.02f, P: %.02f%%", res.temperature, res.humidity, res.pressure); + snprintf(temperature_buf, 32, "%.02f", res.temperature); snprintf(humidity_buf, 32, "%.02f", res.humidity); snprintf(pressure_buf, 32, "%.02f", res.pressure); meas_item[0].value = temperature_buf; meas_item[1].value = humidity_buf; meas_item[2].value = pressure_buf; + mqtt_influx_publish_measurement(&g_mqtt_influx, &meas); + sleep(1); } diff --git a/src/tasks/user_tvoc_task.c b/src/tasks/user_tvoc_task.c index 66a898d..829f925 100644 --- a/src/tasks/user_tvoc_task.c +++ b/src/tasks/user_tvoc_task.c @@ -1,8 +1,9 @@ #include -#include "user_common.h" #include "impl/user_ccs811_impl.h" #include "tasks/user_task_lvgl_common.h" +#include "tasks/user_task_mqtt_common.h" +#include "user_common.h" void *user_tvoc_task(void *arguments); pthread_t user_tvoc_task_thread; @@ -34,9 +35,9 @@ void *user_tvoc_task(void *arguments) { ccs811_t ccs = { .cb = { - .write_register_cb = (ccs811_ret_t (*)(void *, uint8_t, uint8_t *, uint8_t))user_ccs811_impl_write_register_cb, - .read_register_cb = (ccs811_ret_t(*)(void *, uint8_t, uint8_t *, uint8_t))user_ccs811_impl_read_register_cb, - .delay_ms_cb = (ccs811_ret_t (*)(void *, uint32_t))user_ccs811_impl_delay_ms_cb, + .write_register_cb = (ccs811_ret_t(*)(void *, uint8_t, uint8_t *, uint8_t))user_ccs811_impl_write_register_cb, + .read_register_cb = (ccs811_ret_t(*)(void *, uint8_t, uint8_t *, uint8_t))user_ccs811_impl_read_register_cb, + .delay_ms_cb = (ccs811_ret_t(*)(void *, uint32_t))user_ccs811_impl_delay_ms_cb, }, .user_data = &impl, }; @@ -48,10 +49,32 @@ void *user_tvoc_task(void *arguments) { sleep(1); } + ccs811_result_t result; + mqtt_influx_measure_t meas; + mqtt_influx_measure_item_t meas_item[2]; + char etvoc_buf[32]; + char eco2_buf[32]; + + meas.measurement = "tvoc"; + meas.first_item = meas_item; + + meas_item[0].key = "tvoc"; + meas_item[0].next = &meas_item[1]; + + meas_item[1].key = "eco2"; + meas_item[1].next = NULL; + while(g_running) { - ccs811_result_t result; ccs811_measure(&ccs, &result); - USER_LOG(USER_LOG_INFO, "CCS: eTVOC: %dppb, eCO2: %dppm", result.tvoc, result.eco2); + USER_LOG(USER_LOG_DEBUG, "CCS: eTVOC: %dppb, eCO2: %dppm", result.tvoc, result.eco2); + + snprintf(etvoc_buf, 32, "%u", result.tvoc); + snprintf(eco2_buf, 32, "%u", result.eco2); + meas_item[0].value = etvoc_buf; + meas_item[1].value = eco2_buf; + + mqtt_influx_publish_measurement(&g_mqtt_influx, &meas); + sleep(1); }