首页 > 解决方案 > Node MCU无法连接firebase但不返回任何错误代码

问题描述

我需要通过 NODE MCU 将我的数据发送到 firebase。我创建了一个应用程序,用于打开和关闭节点 mcu 中的 LED。我的节点 mcu 与 wifi 网络连接,但不向 firebase 发送数据。执行if(firebase.failed()),但不返回错误代码。在串行监视器中它只是打印setting/number failed:。我怎样才能解决这个问题?

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#include <ArduinoJson.h>

#define FIREBASE_HOST "http://temphu*****.firebaseio.com/"
#define FIREBASE_AUTH "VblTNS************OmWTW6n"
#define WIFI_SSID "A****"
#define WIFI_PASSWORD "9*****"
#define LED 2

void setup() {
    pinMode(LED,OUTPUT);
    digitalWrite(LED,0);
    Serial.begin(9600);
    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());
    Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH);
    Firebase.setInt("LEDStatus",0);
}

void loop() {
    if(Firebase.getInt("LEDStatus")) {
        digitalWrite(LED,HIGH);
    }
    else {
        digitalWrite(LED,LOW);
    }
    if (Firebase.failed()) { // Check for errors 
        Serial.print("setting /number failed:");
        Serial.println(Firebase.error());
        return;
    }
    delay(1000);
}

标签: firebase-realtime-databasenodemcu

解决方案


在源代码中,它清楚地表明(https://raw.githubusercontent.com/FirebaseExtended/firebase-arduino/master/src/FirebaseError.h)除了常规的 HTTP 错误代码外,还使用了两个错误代码。因此,即使 Firebase 拒绝失败,它也可能不会引发错误。

所以检查firebase规则并将读/写更改为true。


推荐阅读