Added TVOC measurement report.
Signed-off-by: Yilin Sun <imi415@imi.moe>
This commit is contained in:
parent
1ee00a9254
commit
69990fb5da
|
@ -1,9 +1,9 @@
|
|||
#include <stdint.h>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
#include <stdint.h>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue