ledrgbesp8266arduino.ino

		
		#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));
		  }
		
		}