Gateway con agregar controles mediante firebase

Dependencies:   mbed mbed-http ESP01 Pulse RFDecoder

Revision:
4:8fed3705384e
Parent:
3:5dceee1c49fc
--- a/main.h	Tue Jun 11 00:24:59 2019 +0000
+++ b/main.h	Sun Sep 15 20:56:21 2019 +0000
@@ -7,6 +7,7 @@
 #include "https_request.h"
 #include "ESP8266Interface.h"
 #include "RFDecoder.h"
+#include "mbed_memory_status.h"
 
 #define ON  0
 #define OFF  1
@@ -16,11 +17,24 @@
 
 #define LEDS_OFF                led_azul = OFF; led_verde = OFF; led_rojo = OFF;
 
+//Configuraciones del Sistema
 #define SERVER_PORT             5558
-#define MAX_NUM_OF_CONNECTIONS  2
 #define TCPCOMMSBYTESMAX        10
 #define TCPSTATSBYTESMAX        5
-#define MAXTIMERXCONTROL        30000       //Tiempo maximo para recibir el codigo del control de 433MHz en milisegundos
+#define MAXTIMERXCONTROL        40000       //Tiempo maximo para recibir el codigo del control de 433MHz en milisegundos
+#define INTERVALFIREBASECHECK   15.0
+#define MAXWIFICONNCHECKS       3
+
+//Comandos de Firebase
+//Los comandos provenientes de la app al Gateway son de tipo String.
+#define NINGUNCOMANDO           "02"
+#define AGREGARCONTROL          "10"    //La funcion .compare solo acepta String
+
+// Las respuestas del Gateway a la App debe ser tipo CHAR
+#define WAITING_RF_CODE         10
+#define NEW_CONTROL_RESPONSE    11
+
+
 
 //Codigos de Status de TCP
 #define COMMANDREC              0x01        //Se recibio un comando valido por TCP
@@ -102,7 +116,10 @@
 //Port Definition
 DigitalOut led_rojo(LED_RED);
 DigitalOut led_verde(LED_GREEN);
-DigitalOut led_azul(LED_BLUE);    
+DigitalOut led_azul(LED_BLUE);
+
+DigitalIn esp01_en(D4);
+DigitalIn esp01_rst(D5);
 
 //Function Prototypes
 void wifiInit(void);
@@ -114,6 +131,9 @@
 
 void dump_response(HttpResponse* res);
 void http_demo(NetworkInterface *net);
+string getFirebaseCommand(NetworkInterface *network);
+void putFirebaseCommand(NetworkInterface *network, char comando, unsigned long numcode);
+void firebaseCheckTimeout(void);