first commit
This commit is contained in:
91
main/mqtt_service/mqtt_driver.c
Normal file
91
main/mqtt_service/mqtt_driver.c
Normal file
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
* 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);
|
||||
}
|
||||
Reference in New Issue
Block a user