105 lines
1.9 KiB
C++
105 lines
1.9 KiB
C++
#ifndef UtilesDef
|
|
#define UtilesDef 1
|
|
#include "defines.h"
|
|
class PubSubClient;
|
|
class WiFiClient;
|
|
|
|
class MqttUtiles
|
|
{
|
|
public:
|
|
static void resetFunc();
|
|
};
|
|
|
|
class Ctimer
|
|
{
|
|
unsigned long t;
|
|
unsigned long incre;
|
|
public:
|
|
Ctimer();
|
|
|
|
void set(int incremento_seg);
|
|
void setmilis(int milis);
|
|
|
|
|
|
void inicia();//inicia contador de incremento
|
|
bool onTimer();//devuelve true si ha pasado el tiempo
|
|
bool onTimerReset();//pasa incremento y si ha pasado se reinicia
|
|
};
|
|
|
|
class MqttOnVarChangeListenner
|
|
{
|
|
public:
|
|
virtual void OnVarChange(int ivar)=0;
|
|
};
|
|
|
|
class WifiManager
|
|
{
|
|
public:
|
|
|
|
char nred[32];
|
|
char pass[32];
|
|
char idArduino[32];
|
|
WiFiClient *espClient;
|
|
|
|
WifiManager();
|
|
bool conecta();
|
|
void inicia( WiFiClient *espClient, char *ssid, char* key, char *idArduino);
|
|
bool loop();
|
|
|
|
};
|
|
|
|
|
|
|
|
static MqttReceiver* Mqttlistener;
|
|
class MqttManager
|
|
{
|
|
public:
|
|
|
|
private:
|
|
|
|
char idEsp[32];
|
|
public:
|
|
|
|
PubSubClient *client_mqtt;
|
|
MqttReceiver *mqttlisener;
|
|
MqttManager();
|
|
|
|
/*
|
|
WiFiClient espClient;//conexion a wifi
|
|
PubSubClient client_qqtt(espClient);//para conexion con mqtt
|
|
*/
|
|
void inicia(PubSubClient *mqttClient,char *ideEsp, char *host, int port, MqttReceiver* classReceiver);
|
|
bool loop();
|
|
|
|
//void desconecta();
|
|
|
|
//auxiliar------------------
|
|
static void OnMqtt(char* topic, uint8_t * payload, unsigned int length);
|
|
void subscribe_mqtt();
|
|
};
|
|
|
|
class MelodiaBuzzer
|
|
{
|
|
public:
|
|
//melodia se compone de notas (primera letra y tiempo de duracion) silecio es #
|
|
char melodia[MAX_CHAR_MELODIA];
|
|
MelodiaBuzzer();
|
|
int st2nota(char st);
|
|
int str2t(char* st, int *t);
|
|
|
|
void Toca(int pin);
|
|
};
|
|
|
|
class SonidoBuzzer
|
|
{
|
|
public:
|
|
MelodiaBuzzer mel[MAX_MELODIAS];
|
|
int n;
|
|
SonidoBuzzer();
|
|
void Toca(int pin, int melodia);
|
|
void Set(int i, char* melo);
|
|
char* getMelSubSt(char* orig, char caracter, int lim, char* bufOut);
|
|
};
|
|
|
|
|
|
#endif |