找不到 Firebase.getFloat 返回错误值的原因

Can't find why Firebase.getFloat returning wrong value

#include <FirebaseArduino.h>
#include <ESP8266WiFi.h>
#define FIREBASE_HOST "myproject07.firebaseio.com"
#define FIREBASE_AUTH "Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvfig"
#define WIFI_SSID "xyz" 
#define WIFI_PASSWORD "12xxxxxx" 

float mv;
String fireStatus = ""; 
void setup() {
  Serial.begin(9600);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("Connecting to ");
  Serial.print(WIFI_SSID);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".\n");
    delay(500);}

  Serial.println();
  Serial.print("Connected to ");
  Serial.println(WIFI_SSID);
  Serial.print("IP Address is : ");
  Serial.println(WiFi.localIP());
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

  Firebase.pushFloat("/Num/number", 42.0); 
  // handle error 
  if (Firebase.failed()) { 
      Serial.print("setting /number failed:"); 
      Serial.println(Firebase.error());   
      return; 
  } 

  Serial.print("number: "); 
  Serial.println(Firebase.getFloat("/Num/number")); 
  delay(1000);

}

void loop() {

}

我找不到这段代码有什么问题。我使用 setFloat 设置值并使用 getFloat 获取值。它更新我的数据库。意思是它正在创建一个 Num 节点并将数字值设置为 42,但是当我使用 getFloat 时它显示 0.0。我不知道如何解决这个问题。

据我所知,似乎是这个问题Firebase.getFloat returning 0.0

检查您是否可以检索字符串形式的值。如果是这样,那就是错误,如果不是,请更新您的问题。

一个例子:

// You did your push then
Serial.print("number: ");
float f = Firebase.getFloat("/Num/number");
char err[] = Firebase.error();
Serial.println(f);
Serial.println(err);
delay(1000);