#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
// LibrerÃa del Firebase
#include "FirebaseESP8266.h"
// Host del Firebase
#define FIREBASE_HOST "fir-ledesp8266-default-rtdb.firebaseio.com"
// Token del Firebase
#define FIREBASE_AUTH "lsuZM58UWu096zGQiQry3GAboaBRRyNcLmH5i4x1"
// Conexion a punto de acceso wifi
#define WIFI_SSID "end"
#define WIFI_PASSWORD "devend56"
WiFiClient client;
FirebaseData firebaseData;
// Pin rgb de un LED
#define pinR 5
#define pinG 4
#define pinB 2
#define pinS 14
void setup {
Serial.begin(9600);
WiFi.begin (WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println ("");
Serial.println ("Se conectó al wifi!");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
pinMode(pinR,OUTPUT);
pinMode(pinG,OUTPUT);
pinMode(pinB,OUTPUT);
pinMode(pinS,OUTPUT);
}
void loop {
Firebase.getInt(firebaseData,"/red");
int red = firebaseData.intData();
Firebase.getInt(firebaseData,"/green");
int green = firebaseData.intData();
Firebase.getInt(firebaseData,"/blue");
int blue = firebaseData.intData();
Firebase.getInt(firebaseData,"/state");
int state = firebaseData.intData();
Firebase.getInt(firebaseData,"/cycle");
int cycle = firebaseData.intData();
digitalWrite(pinS, state);
if (cycle == 0) {
analogWrite(pinR, red);
analogWrite(pinG, green);
analogWrite(pinB, blue);
} else {
analogWrite(pinR, random(0,255));
analogWrite(pinG, random(0,255));
analogWrite(pinB, random(0,255));
}
}