From f530efe9688f1b6f7ff524225066796093f731db Mon Sep 17 00:00:00 2001 From: SylvanArnold <89144178+SylvanArnold@users.noreply.github.com> Date: Tue, 20 May 2025 10:58:50 +0200 Subject: [PATCH] feat(pico-sensor): send sensor values on get-measurement mqtt messages --- pico-sensor/src/application.c | 7 ++++++- pico-sensor/src/mqtt_client.c | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pico-sensor/src/application.c b/pico-sensor/src/application.c index d118256..4e4a20e 100644 --- a/pico-sensor/src/application.c +++ b/pico-sensor/src/application.c @@ -132,12 +132,17 @@ static void MqttTask(void *pv) { McuLog_error("failed publishing sensor values"); } } - vTaskDelay(pdMS_TO_TICKS(1000)); + vTaskDelay(pdMS_TO_TICKS(10000)); } /* for */ } static void MyMqttMessageCallback(topic_ID_e topic, const unsigned char *payload, size_t len) { McuLog_info("MQTT message received, topic: %d, payload: %.*s", topic, (int)len, payload); + if (topic==Topic_ID_Send_Measurement) { + if (MqttClient_Publish_SensorValues(Sensor_GetTemperature(), Sensor_GetHumidity())!=ERR_OK) { + McuLog_error("failed publishing sensor values"); + } + } } #endif diff --git a/pico-sensor/src/mqtt_client.c b/pico-sensor/src/mqtt_client.c index caab7ef..ce035a8 100644 --- a/pico-sensor/src/mqtt_client.c +++ b/pico-sensor/src/mqtt_client.c @@ -301,6 +301,8 @@ static void mqtt_incoming_publish_cb(void *arg, const char *topic, u32_t tot_len #elif MQTT_CLIENT_IS_SENSOR if (McuUtility_strcmp(topic, mqtt.sensors_update_topic)==0) { mqtt.in_pub_ID = Topic_ID_Sensor_Update; + } else if (McuUtility_strcmp(topic, mqtt.send_measurement_topic)==0) { + mqtt.in_pub_ID = Topic_ID_Send_Measurement; #endif } else { /* unknown */ McuLog_trace("MQTT client \"%s\" publish cb: topic %s, len %d", client_info->client_id, topic, (int)tot_len);