-
-
Save TrickSumo/2f16c122b2f59c1e7b0846514dd945cd to your computer and use it in GitHub Desktop.
/* | |
Created by:- Rishi Tiwari | |
Website:- TrickSumo.com | |
Video Tutorial:- https://youtu.be/nLzC0-VaqDs | |
Libraries used:- | |
https://github.com/mobizt/Firebase-ESP8266/ | |
*/ | |
#include <ESP8266WiFi.h> | |
#include <FirebaseESP8266.h> | |
#define FIREBASE_HOST "test.firebaseio.com" //Your Firebase Project URL goes here without "http:" , "\" and "/" | |
#define FIREBASE_AUTH "83Z6iVjTlxjfhjsgjhwerhwqweZxrTXiy0C9" //Your Firebase Database Secret goes here | |
#define WIFI_SSID "Wifiname-here" //WiFi SSID to which you want NodeMCU to connect | |
#define WIFI_PASSWORD "Wifipassword-here" //Password of your wifi network | |
// Declare the Firebase Data object in the global scope | |
FirebaseData firebaseData; | |
// Declare global variable to store value | |
int val=0; | |
void setup() { | |
Serial.begin(115200); // Select the same baud rate if you want to see the datas on Serial Monitor | |
Serial.println("Serial communication started\n\n"); | |
WiFi.begin(WIFI_SSID, WIFI_PASSWORD); //try to connect with wifi | |
Serial.print("Connecting to "); | |
Serial.print(WIFI_SSID); | |
while (WiFi.status() != WL_CONNECTED) { | |
Serial.print("."); | |
delay(500); | |
} | |
Serial.println(); | |
Serial.print("Connected to "); | |
Serial.println(WIFI_SSID); | |
Serial.print("IP Address is : "); | |
Serial.println(WiFi.localIP()); //print local IP address | |
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); // connect to firebase | |
Firebase.reconnectWiFi(true); | |
delay(1000); | |
} | |
void loop() { | |
// Firebase Error Handling And Writing Data At Specifed Path************************************************ | |
if (Firebase.setInt(firebaseData, "/data", val)) { // On successful Write operation, function returns 1 | |
Serial.println("Value Uploaded Successfully"); | |
Serial.print("Val = "); | |
Serial.println(val); | |
Serial.println("\n"); | |
val++; | |
delay(1000); | |
} | |
else { | |
Serial.println(firebaseData.errorReason()); | |
} | |
} | |
/* NOTE: | |
* To upload value, command is ===> Firebase.setInt(firebaseData, "path", variable); | |
* Example ===> Firebase.setInt(firebaseData, "/data", val); | |
*/ | |
Check my last reply for the solution.
#include <FirebaseESP8266.h>
#include <ESP8266WiFi.h>
const char* ssid = "ASLAB 2024";
const char* password = "aslabfkom";
FirebaseData firebaseData;
int led = D6;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
digitalWrite(led, LOW); //nilai awal relay akan off
WifiConnect();
Firebase.begin("https://kendali-led-267ca-default-rtdb.asia-southeast1.firebasedatabase.app/", "3rq1K5m7xwS32bjFTTngTcQ7hgtaPhS6fx0cLTCo");
//Firebase.begin("firebase host", "firebase auth database");
}
void WifiConnect() {
WiFi.begin(ssid, password);
//memulai menghubungkan ke wifi router
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print("."); //status saat mengkoneksikan
}
Serial.println("Sukses terkoneksi wifi!");
Serial.println("IP Address:"); //alamat ip lokal
Serial.println(WiFi.localIP());
}
void loop() {
if (Firebase.getString(firebaseData, "/Led")) {
if (firebaseData.dataType() == "string")
{
String Status = firebaseData.stringData();
if (Status == "ON") {
Serial.println("Led Menyala");
digitalWrite(led, HIGH); }
else if (Status == "OFF") {
Serial.println("led Mati");
digitalWrite(led, LOW);
}
else {Serial.println("Silahkan hanya isi dengan ON atau OFF");}
}
}
}
C:\Users\farha\AppData\Local\Temp.arduinoIDE-unsaved2024326-74804-itov49.xzeip\sketch_apr26b\sketch_apr26b.ino: In function 'void setup()':
C:\Users\farha\AppData\Local\Temp.arduinoIDE-unsaved2024326-74804-itov49.xzeip\sketch_apr26b\sketch_apr26b.ino:3:23: error: cannot convert 'const char [55]' to 'FirebaseConfig*' {aka 'firebase_cfg_t*'}
3 | #define FIREBASE_HOST "https://kendali-led-5cd6c-default-rtdb.firebaseio.com/"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| const char [55]
C:\Users\farha\AppData\Local\Temp.arduinoIDE-unsaved2024326-74804-itov49.xzeip\sketch_apr26b\sketch_apr26b.ino:3:23: note: in definition of macro 'FIREBASE_HOST'
3 | #define FIREBASE_HOST "https://kendali-led-5cd6c-default-rtdb.firebaseio.com/"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from c:\Users\farha\OneDrive\Dokumen\Arduino\libraries\Firebase_ESP8266_Client\src/FirebaseESP8266.h:36,
from C:\Users\farha\AppData\Local\Temp.arduinoIDE-unsaved2024326-74804-itov49.xzeip\sketch_apr26b\sketch_apr26b.ino:1:
c:\Users\farha\OneDrive\Dokumen\Arduino\libraries\Firebase_ESP8266_Client\src/Firebase.h:130:30: note: initializing argument 1 of 'void FIREBASE_CLASS::begin(FirebaseConfig*, FirebaseAuth*)'
130 | void begin(FirebaseConfig *config, FirebaseAuth *auth);
| ~~~~~~~~~~~~~~~~^~~~~~
Multiple libraries were found for "SD.h"
Used: C:\Users\farha\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\SD
Not used: C:\Users\farha\AppData\Local\Arduino15\libraries\SD
exit status 1
Compilation error: cannot convert 'const char [55]' to 'FirebaseConfig*' {aka 'firebase_cfg_t*'}
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define FIREBASE_HOST "homeautomation-f5bc5-default-rtdb.firebaseio.com" //Without http:// or https:// schemes
#define FIREBASE_AUTH "abc"
#define WIFI_SSID "Redmi 8"
#define WIFI_PASSWORD "12345678"
FirebaseData firebaseData;
FirebaseAuth auth;
FirebaseConfig config;
FirebaseData voltage_data;
FirebaseJson json;
String voltage_reading;
String current_reading;
String power_reading;
String energy_reading;
String line1;
String line2;
int x = 0;
void setup() {
Serial.begin(115200);
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();
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.reconnectWiFi(true);
Wire.begin(D2, D1);
lcd.begin();
lcd.home();
lcd.print("Welcome to TM-IoT!!!");
}
void loop() {
if (Firebase.getString(voltage_data, "/TM_IOT/voltage")){
Serial.print("Voltage:- ");
Serial.println(voltage_data.stringData());
voltage_reading = voltage_data.stringData();
}
if (Firebase.getString(voltage_data, "/TM_IOT/current")){
Serial.print("Current:- ");
Serial.println(voltage_data.stringData());
current_reading = voltage_data.stringData();
}
if (Firebase.getString(voltage_data, "/TM_IOT/power")){
Serial.print("Power:- ");
Serial.println(voltage_data.stringData());
power_reading = voltage_data.stringData();
}
if (Firebase.getString(voltage_data, "/TM_IOT/frequency")){
Serial.print("Frequency:- ");
Serial.println(voltage_data.stringData());
frequency_reading = voltage_data.stringData();
}
if (Firebase.getString(voltage_data, "/TM_IOT/power_factor")){
Serial.print("Power Factor:- ");
Serial.println(voltage_data.stringData());
pf_reading = voltage_data.stringData();
}
if (Firebase.getString(voltage_data, "/TM_IOT/energy")){
Serial.print("Energy:- ");
Serial.println(voltage_data.stringData());
energy_reading = voltage_data.stringData();
}
if (x==0){
// line1 = "V: "+voltage_reading+" "+"I: "+current_reading;
// line2 = "P: "+power_reading+" "+"F: "+frequency_reading;
line1 = "V: "+voltage_reading;
line2 = "I: "+current_reading+" "+"F: "+frequency_reading;
lcd.clear();
lcd.setCursor(0,0);
lcd.print(line1);
lcd.setCursor(0,1);
lcd.print(line2);
delay(3000);
x = 1;
}
if (x==1){
line1 = "P: "+power_reading+" "+"PF: "+pf_reading;
line2 = "E: "+energy_reading;
lcd.clear();
lcd.setCursor(0,0);
lcd.print(line1);
lcd.setCursor(0,1);
lcd.print(line2);
delay(2000);
x = 0;
}
}
iam working on this code but iam getting error...please help me out urgently
Arduino: 1.8.19 (Windows 10), Board: "NodeMCU 0.9 (ESP-12 Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 115200"
C:\Users\Prathamesh\Desktop\nodemcu2\nodemcu2.ino: In function 'void setup()':
nodemcu2:7:23: error: cannot convert 'const char [49]' to 'FirebaseConfig*' {aka 'firebase_cfg_t*'}
C:\Users\Prathamesh\Desktop\nodemcu2\nodemcu2.ino:7:23: note: in definition of macro 'FIREBASE_HOST'
In file included from C:\Users\Prathamesh\Documents\Arduino\libraries\Firebase-ESP8266-master\src/FirebaseESP8266.h:36,
C:\Users\Prathamesh\Documents\Arduino\libraries\Firebase-ESP8266-master\src/Firebase.h:130:30: note: initializing argument 1 of 'void FIREBASE_CLASS::begin(FirebaseConfig*, FirebaseAuth*)'
130 | void begin(FirebaseConfig *config, FirebaseAuth *auth);
C:\Users\Prathamesh\Desktop\nodemcu2\nodemcu2.ino: In function 'void loop()':
nodemcu2:68:7: error: 'frequency_reading' was not declared in this scope; did you mean 'energy_reading'?
68 | frequency_reading = voltage_data.stringData();
nodemcu2:73:5: error: 'pf_reading' was not declared in this scope; did you mean 'power_reading'?
73 | pf_reading = voltage_data.stringData();
nodemcu2:84:45: error: 'frequency_reading' was not declared in this scope; did you mean 'energy_reading'?
84 | line2 = "I: "+current_reading+" "+"F: "+frequency_reading;
nodemcu2:94:44: error: 'pf_reading' was not declared in this scope; did you mean 'power_reading'?
94 | line1 = "P: "+power_reading+" "+"PF: "+pf_reading;
Multiple libraries were found for "SD.h"
Used: C:\Users\Prathamesh\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
exit status 1
cannot convert 'const char [49]' to 'FirebaseConfig*' {aka 'firebase_cfg_t*'}
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.