ESPMegaPRO-v3-SDK/ESPMegaPRO-firmware/lib/ESPMegaPRO/IoTComponent.hpp

22 lines
693 B
C++
Raw Normal View History

2023-12-28 05:46:39 +00:00
#pragma once
#include <ExpansionCard.hpp>
#include <PubSubClient.h>
2023-12-31 16:29:40 +00:00
#include <esp_log.h>
2023-12-28 05:46:39 +00:00
class IoTComponent {
public:
2023-12-28 16:28:21 +00:00
virtual bool begin(uint8_t card_id, ExpansionCard *card, PubSubClient *mqtt, char *base_topic);
2023-12-28 05:46:39 +00:00
virtual void handleMqttMessage(char *topic, char *payload);
void setMqttClient(PubSubClient *mqtt);
2023-12-28 06:14:18 +00:00
virtual void publishReport();
virtual uint8_t getType();
2023-12-28 07:52:52 +00:00
virtual void subscribe();
2023-12-28 07:52:52 +00:00
void loop();
2023-12-28 06:14:18 +00:00
protected:
2023-12-28 06:34:51 +00:00
char *base_topic;
void publishRelative(const char *topic, const char *payload);
void subscribeRelative(const char *topic);
2023-12-28 05:46:39 +00:00
PubSubClient *mqtt;
2023-12-28 07:08:10 +00:00
uint8_t card_id;
2023-12-28 05:46:39 +00:00
};