Files
uvr67_multical603_wifi_logger/main/mqtt_service/mqtt_driver.c
2026-06-12 21:45:31 +02:00

92 lines
2.6 KiB
C

/*
* mqtt_driver.c
*
* Created on: 26 May 2026
* Author: Christian Lind Vie Madsen
*/
#include "mqtt_driver.h"
#include "mqtt_client.h"
// Not important libs..
#include "esp_log.h"
static esp_mqtt_client_handle_t client;
uint8_t valid = 0;
static void mqtt_event_handler(void *handler_args,
esp_event_base_t base,
int32_t event_id,
void *event_data)
{
if (event_id == MQTT_EVENT_CONNECTED) {
ESP_LOGI("MQTT", "Connected!");
valid = 1;
}
}
int mqtt_driver_publish(const char *topic, const char *data){
if(!valid)return 1;
esp_mqtt_client_publish(
client,
topic, // topic
data, // payload
0, // length (0 = auto strlen)
1, // QoS (0,1,2)
0 // retain flag
);
return 0;
}
const char emqx_ca_cert[] = R"EOF(
-----BEGIN CERTIFICATE-----
MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
MrY=
-----END CERTIFICATE-----
)EOF";
void mqtt_start(void)
{
esp_mqtt_client_config_t cfg = {
.uri = "mqtts://s960411f.ala.eu-central-1.emqxsl.com:8883",
.username = "cma",
.password = "testcma",
.cert_pem = emqx_ca_cert,
};
client = esp_mqtt_client_init(&cfg);
esp_mqtt_client_register_event(
client,
ESP_EVENT_ANY_ID,
mqtt_event_handler,
NULL
);
esp_mqtt_client_start(client);
}