Explorar o código

All is working and enabled.

Thomas Chef %!s(int64=2) %!d(string=hai) anos
pai
achega
b09df6a672
Modificáronse 6 ficheiros con 29 adicións e 16 borrados
  1. 5 5
      main/config.h
  2. 5 0
      main/http_client.c
  3. 2 2
      main/kWhCounter.c
  4. 10 1
      main/mqtt.c
  5. 1 1
      main/wifi.c
  6. 6 7
      sdkconfig.defaults

+ 5 - 5
main/config.h

@@ -6,12 +6,14 @@
 #define SW_VERSION "1.0"
 
 // These defines configures which code to generate (to save download time during development)
-//#define WIFI_ENABLED
-//#define HTTP_ENABLED
-//#define MQTT_ENABLED
+#define WIFI_ENABLED
+#define HTTP_ENABLED
+#define MQTT_ENABLED
 #define ENABLE_KWH_COUNTER
 #define ENABLE_DS18B20
 
+//#define MQTT_DEBUG              // Add an extra debug string to the topic-string
+
 #define VVB_RELAY_OUTPUT_IO      GPIO_NUM_22   // Output GPIO of a relay control of VVB
 
 #define KWH_COUNTER_INPUT_IO      GPIO_NUM_16   // Input
@@ -19,6 +21,4 @@
 #define ONE_WIRE_BUS_IO           GPIO_NUM_26   // Temp sensors
 
 
-
-
 #endif

+ 5 - 0
main/http_client.c

@@ -8,6 +8,7 @@
 
 #include "wifi.h"
 #include "config.h"
+#include "mqtt.h"
 
 static const char *TAG = "HTTP_CLIENT";
 
@@ -135,6 +136,10 @@ void http_rest_with_url()
 
     ESP_LOGI(TAG, "Set kontaktor state: %u",kontaktor);
     gpio_set_level(VVB_RELAY_OUTPUT_IO, kontaktor);
+
+    char txt[10];
+    sprintf(txt,"%u",kontaktor);
+    sendMQTTMessage("basement/boiler/contactor", txt);
 }
 
 #else

+ 2 - 2
main/kWhCounter.c

@@ -49,7 +49,7 @@ void counterControlTask(void *pvParameters) {
             vTaskDelayUntil( &vLastWakeTime, 5000 / portTICK_PERIOD_MS ); // Sleep 5s
 
             // Start temp measuring task
-            xTaskCreate(readAndSendTemps, "readAndSendTemps", 1024*10, NULL, 2, NULL);
+            xTaskCreatePinnedToCore(readAndSendTemps, "readAndSendTemps", 1024*10, NULL, 2, NULL,1);
 
             vTaskDelayUntil( &vLastWakeTime, 5000 / portTICK_PERIOD_MS ); // Sleep 5s
 
@@ -71,7 +71,7 @@ void kWhCounter_init()
 
     gpio_set_direction(KWH_COUNTER_INPUT_IO, GPIO_MODE_INPUT);
 
-    xTaskCreate(counterControlTask, "counterControlTask", 1024*10, NULL, 2, NULL);
+    xTaskCreatePinnedToCore(counterControlTask, "counterControlTask", 1024*10, NULL, 2, NULL,1);
 }
 
 #endif

+ 10 - 1
main/mqtt.c

@@ -105,14 +105,23 @@ void mqttTask(void *pvParameters) {
 
 void mqtt_init(void)
 {
-    xTaskCreate(mqttTask, "MQTT-Task", 1024*10, NULL, 2, NULL);
+    xTaskCreatePinnedToCore(mqttTask, "MQTT-Task", 1024*10, NULL, 2, NULL,0);
 
 }
 
 void sendMQTTMessage(const char * topic, const char * data) {
     if( connected ) {
+
         int msg_id;
+        
+#ifdef MQTT_DEBUG
+        char topic_debug_str[100];
+        sprintf(topic_debug_str,"debug_env/%s",topic);
+        msg_id = esp_mqtt_client_publish(client, topic_debug_str, data, 0, 1, 0);
+#else
         msg_id = esp_mqtt_client_publish(client, topic, data, 0, 1, 0);
+#endif
+
         ESP_LOGI(TAG, "sent publish successful, msg_id=%d   %s   %s", msg_id, topic, data);
     }
     else {

+ 1 - 1
main/wifi.c

@@ -177,7 +177,7 @@ void wifiTask(void *pvParameters)
 
 void initWifi(void)
 {
-    xTaskCreate(wifiTask, "WiFi-Task", 1024*10, NULL, 2, NULL);
+    xTaskCreatePinnedToCore(wifiTask, "WiFi-Task", 1024*10, NULL, 2, NULL,0);
 }
 
 #endif

+ 6 - 7
sdkconfig.defaults

@@ -1,10 +1,9 @@
-CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y
+#CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_80=y
 
-CONFIG_FREERTOS_USE_TRACE_FACILITY=y
-CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
-CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
+CONFIG_FREERTOS_USE_TRACE_FACILITY=n
+CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=n
+CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=n
 
-CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
+CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=n
 
-# CONFIG_FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER=y
-CONFIG_FREERTOS_RUN_TIME_STATS_USING_CPU_CLK=y