wip with light and mqtt working
This commit is contained in:
26
lib/communication/mqtt.h
Normal file
26
lib/communication/mqtt.h
Normal file
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <functional>
|
||||
#include <map>
|
||||
|
||||
typedef std::function<void(uint8_t*, int)> MqttCallback;
|
||||
|
||||
class Mqtt {
|
||||
public:
|
||||
static void connect(std::string brokerIp, uint16_t brokerPort, std::string clientId, std::string username="mqtt", std::string password="mqtt");
|
||||
static void poll();
|
||||
static void checkConnection();
|
||||
static void publish(const std::string& topic, const std::string& payload, bool retain = false);
|
||||
static void subscribe(const std::string& topic, MqttCallback callback);
|
||||
static void mqttCb(char* topic, uint8_t* payload, unsigned int length);
|
||||
|
||||
private:
|
||||
static std::string brokerIp;
|
||||
static uint16_t brokerPort;
|
||||
static std::string clientId;
|
||||
static std::string username;
|
||||
static std::string password;
|
||||
static bool initialized;
|
||||
static bool isConnected;
|
||||
static std::map<std::string, MqttCallback> callbacks;
|
||||
};
|
||||
Reference in New Issue
Block a user