找不到为什么Firebase.getFloat返回错误值

阿尼鲁德辛贾德贾
#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返回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);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章