Library for ESP8266 STM32 Nucleo F103RB L152RE

Dependencies:   mbed-mqtt-GSOE1

Dependents:   mqtt_Autofaehrschiff MQTT_Nucleo_dht11 mqtt_Testprogramm_FritzBox mqtt_TestprogrammWorkshop ... more

PubSubClient.h

Committer:
jack1930
Date:
2021-07-13
Revision:
3:d8582413a5a1
Parent:
2:08ce999855c3
Child:
4:1c121432898d

File content as of revision 3:d8582413a5a1:

#include "mbed.h"
#include "ESP8266Interface.h"
#include "string"

// Library to use https://github.com/ARMmbed/mbed-mqtt
#include <MQTTClientMbedOs.h>
using namespace MQTT;

class PubSubClient
{
    private:
    ESP8266Interface *esp;
    SocketAddress deviceIP;
    SocketAddress MQTTBroker;    
    TCPSocket *socket;
    MQTTClient *client;
    MQTT::Message msg;
    MQTTPacket_connectData data;
    
    //Subscriptions
    /*
    static int hs_count;
    static char hs[10][40];    //Topics
    static Callback< void(string)> cbs[10]; //Callbacks
    static int topicNr;
    */
    public:
    void init();
    PubSubClient(Callback< void()> func);
    PubSubClient();
    bool connect(char* clientName);
    int publish(const char* topic, const char* buf);
    int subscribe(const char* topicFilter, MQTT::QoS qos, MQTTClient::messageHandler mh);
    //int subscribe(const char* topic,Callback< void(string)> func);
    //static void subscribeCallback(MessageData& mymessage);
    //static void loop();
    int yield(unsigned long timeout_ms = 1000L);
    int loop(unsigned long timeout_ms = 1000L);
    string gibPayload(MessageData& mymessage);
};