Upload files to "/"
This commit is contained in:
parent
25256de5c4
commit
823f988ab3
|
@ -0,0 +1,178 @@
|
|||
#include <Firebase_ESP_Client.h>
|
||||
#include <Arduino.h>
|
||||
#include <ESP8266WiFi.h>
|
||||
//Provide the token generation process info.
|
||||
#include "addons/TokenHelper.h"
|
||||
//Provide the RTDB payload printing info and other helper functions.
|
||||
#include "addons/RTDBHelper.h"
|
||||
|
||||
// Insert your network credentials
|
||||
#define WIFI_SSID "Comingsoon"
|
||||
#define WIFI_PASSWORD "hilmi123"
|
||||
|
||||
// Insert Firebase project API Key
|
||||
#define API_KEY "AIzaSyCmquF32M-zZDpW_Hswg9ZvREgikmteJMY"
|
||||
|
||||
// Insert RTDB URLefine the RTDB URL */
|
||||
#define DATABASE_URL "https://smart-home-e64ae-default-rtdb.firebaseio.com/"
|
||||
|
||||
// Pin untuk mengontrol lampu
|
||||
#define TENGAH 5
|
||||
#define DEPAN 16
|
||||
#define SAMPING 4
|
||||
|
||||
//Define Firebase Data object
|
||||
FirebaseData fbdo;
|
||||
|
||||
FirebaseAuth auth;
|
||||
FirebaseConfig config;
|
||||
|
||||
//some importent variables
|
||||
String sValue, sValue2, sValue3;
|
||||
bool signupOK = false;
|
||||
|
||||
bool depanState = false;
|
||||
bool sampingState = false;
|
||||
bool tengahState = false;
|
||||
|
||||
unsigned long lastResponseTimeHigh = 0;
|
||||
unsigned long lastResponseTimeLow = 0;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
pinMode(DEPAN,OUTPUT);
|
||||
pinMode(TENGAH,OUTPUT);
|
||||
pinMode(SAMPING,OUTPUT);
|
||||
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
|
||||
Serial.print("Connecting to Wi-Fi");
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
Serial.print(".");
|
||||
delay(300);
|
||||
}
|
||||
Serial.println();
|
||||
Serial.print("Connected with IP: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
Serial.println();
|
||||
|
||||
/* Assign the api key (required) */
|
||||
config.api_key = API_KEY;
|
||||
|
||||
/* Assign the RTDB URL (required) */
|
||||
config.database_url = DATABASE_URL;
|
||||
|
||||
/* Sign up */
|
||||
if (Firebase.signUp(&config, &auth, "", "")) {
|
||||
Serial.println("ok");
|
||||
signupOK = true;
|
||||
}
|
||||
else {
|
||||
Serial.printf("%s\n", config.signer.signupError.message.c_str());
|
||||
}
|
||||
|
||||
/* Assign the callback function for the long running token generation task */
|
||||
config.token_status_callback = tokenStatusCallback; //see addons/TokenHelper.h
|
||||
|
||||
Firebase.begin(&config, &auth);
|
||||
Firebase.reconnectWiFi(true);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (Firebase.ready() && signupOK ) {
|
||||
if (Firebase.RTDB.getString(&fbdo, "/DEPAN")) {
|
||||
if (fbdo.dataType() == "string") {
|
||||
sValue = fbdo.stringData();
|
||||
int a = sValue.toInt();
|
||||
Serial.println(a);
|
||||
if (a == 1){
|
||||
digitalWrite(DEPAN,HIGH);
|
||||
if (!depanState) {
|
||||
unsigned long now = millis();
|
||||
Serial.print("DEPAN switched to HIGH, response time: ");
|
||||
Serial.print(now - lastResponseTimeLow);
|
||||
Serial.println(" ms");
|
||||
lastResponseTimeHigh = now;
|
||||
}
|
||||
depanState = true;
|
||||
}else{
|
||||
digitalWrite(DEPAN,LOW);
|
||||
if (depanState) {
|
||||
unsigned long now = millis();
|
||||
Serial.print("DEPAN switched to LOW, response time: ");
|
||||
Serial.print(now - lastResponseTimeHigh);
|
||||
Serial.println(" ms");
|
||||
lastResponseTimeLow = now;
|
||||
}
|
||||
depanState = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
Serial.println(fbdo.errorReason());
|
||||
}
|
||||
|
||||
if (Firebase.RTDB.getString(&fbdo, "/SAMPING")) {
|
||||
if (fbdo.dataType() == "string") {
|
||||
sValue2 = fbdo.stringData();
|
||||
int b = sValue2.toInt();
|
||||
Serial.println(b);
|
||||
if (b == 1){
|
||||
digitalWrite(SAMPING,HIGH);
|
||||
if (!sampingState) {
|
||||
unsigned long now = millis();
|
||||
Serial.print("SAMPING switched to HIGH, response time: ");
|
||||
Serial.print(now - lastResponseTimeLow);
|
||||
Serial.println(" ms");
|
||||
lastResponseTimeHigh = now;
|
||||
}
|
||||
sampingState = true;
|
||||
}else{
|
||||
digitalWrite(SAMPING,LOW);
|
||||
if (sampingState) {
|
||||
unsigned long now = millis();
|
||||
Serial.print("SAMPING switched to LOW, response time: ");
|
||||
Serial.print(now - lastResponseTimeHigh);
|
||||
Serial.println(" ms");
|
||||
lastResponseTimeLow = now;
|
||||
}
|
||||
sampingState = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
Serial.println(fbdo.errorReason());
|
||||
}
|
||||
|
||||
if (Firebase.RTDB.getString(&fbdo, "/TENGAH")) {
|
||||
if (fbdo.dataType() == "string") {
|
||||
sValue3 = fbdo.stringData();
|
||||
int c = sValue3.toInt();
|
||||
Serial.println(c);
|
||||
if (c == 1){
|
||||
digitalWrite(TENGAH,HIGH);
|
||||
if (!tengahState) {
|
||||
unsigned long now = millis();
|
||||
Serial.print("TENGAH switched to HIGH, response time: ");
|
||||
Serial.print(now - lastResponseTimeLow);
|
||||
Serial.println(" ms");
|
||||
lastResponseTimeHigh = now;
|
||||
}
|
||||
tengahState = true;
|
||||
}else{
|
||||
digitalWrite(TENGAH,LOW);
|
||||
if (tengahState) {
|
||||
unsigned long now = millis();
|
||||
Serial.print("TENGAH switched to LOW, response time: ");
|
||||
Serial.print(now - lastResponseTimeHigh);
|
||||
Serial.println(" ms");
|
||||
lastResponseTimeLow = now;
|
||||
}
|
||||
tengahState = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
Serial.println(fbdo.errorReason());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue