Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <FirebaseArduino.h>
- #include <ESP8266WiFi.h>
- #include <Wire.h>
- #include <BH1750.h>
- const char* ssid = /*"chaiyawat6636"*/"My ASUS";
- const char* password = /*"0878202424"*/"Jesus123";
- #define FIREBASE_HOST "espdemo-551fa.firebaseio.com"
- #define FIREBASE_AUTH "XWjA9bS3HxjNSBieqKWzAPXMEps2pDUR92dlqzwH"
- //BH1750 lightMeter;
- void setup()
- {
- Initialization();
- wifiConfig();
- Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
- Firebase.stream("/Lightstatus");
- }
- void loop()
- {
- onOffLight(int pin);
- delay(1000);
- }
- void Initialization()
- {
- Serial.begin(9600);
- pinMode(13, OUTPUT); // Initialize the I2C bus (BH1750 library doesn't do this automatically)
- Wire.begin(2,0); // On esp8266 you can select SCL and SDA pins using Wire.begin(D4, D3);
- // lightMeter.begin();
- Serial.println(F("Measure Light Test begin"));
- }
- void wifiConfig()
- {
- int count = 0;
- Serial.println("Starting....");
- WiFi.begin(ssid, password);
- Serial.println("Connecting wifi..");
- while (WiFi.status() != WL_CONNECTED)
- {
- delay(250);
- Serial.print(".");
- count++;
- if(count == 30)
- {
- Serial.println("Wifi Connection Failed");
- exit;
- }
- }
- Serial.println("WiFi connected");
- Serial.println("IP address: ");
- Serial.println(WiFi.localIP());
- if(WiFi.status() == WL_CONNECTED)
- { Serial.println("Wifi Connection Success"); }
- else
- { Serial.println("Wifi Connection Failed"); exit; }
- }
- bool onOffLight(int pin)
- {
- int light;
- Firebase.getInt("/Lightstatus",&light);
- if(light){ digitalWrite(pin,lightCommand); return true; }
- else{ Serial.print("onOffLight ERROR"); return false; }
- }
- void measureLight()
- {
- float lux = lightMeter.readLightLevel();
- Firebase.setFloat("/Lux",lux);
- Serial.print("Light: ");
- Serial.print(lux);
- Serial.println(" lx");
- analogWrite(13,255);
- if(lux < 50)
- {
- Serial.println("too less light");
- analogWrite(13,255);
- }
- if(lux > 100)
- {
- Serial.println("too much light");
- analogWrite(13,0);
- analogWrite(13,255);
- }
- // float lux_ratio = (40.0-lux)/40.0;
- // if(lux_ratio < 0) lux_ratio = 0;
- // analogWrite(13,255*lux_ratio);
- // Serial.println(255*lux_ratio);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement