我正在尝试将Firebase的实时数据库中的整数值读取到Arduino中。但是,当我读取它时,它始终读取为“ 0”,而不是存储在数据库中的整数。我还使数据库规则在Firebase中公开。下面是我在Arduino中的代码。我正在使用NodeMCU。
#include<ESP8266WiFi.h>
#include<FirebaseArduino.h>
#define FIREBASE_HOST "##########"
#define FIREBASE_AUTH "##########"
#define WIFI_SSID "##########"
#define WIFI_PASSWORD "##########"
int pin1 = 12;
int pin2 = 14;
int pin3 = 4;
int pin4 = 5;
void setup() {
Serial.begin(115200);
pinMode(pin1, OUTPUT);
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
delay(700);
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}
void loop() {
int sw1 = Firebase.getInt("switch1");
int sw2 = Firebase.getInt("switch2");
int sw3 = Firebase.getInt("switch3");
int sw4 = Firebase.getInt("switch4");
Serial.println(sw1);
Serial.println(sw2);
Serial.println(sw3);
Serial.println(sw4);
Serial.println("Test");
if (Firebase.failed()) {
Serial.print("setting /number failed:");
Serial.println(Firebase.error());
return;
}
}
在下面的代码中,即使我尝试启动Firebase的错误,它也不会打印任何内容。我在串行监视器中得到以下输出。
connecting:....
connected: 192.168.1.7
0
0
0
0
Test
setting /number failed:
0
0
0
0
Test
setting /number failed:
答案 0 :(得分:0)
在使用Firebase时,我也遇到了相同的问题,但我解决了该问题。可能有多种原因:
1。您应该从FIREBASE_HOST中删除https://
和/
。尝试运行代码,看看它是否对我有用。
2。如果这样做不起作用,则应更新Firebase库。