firebase-realtime-database - 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);
}
解决方案
在源代码中,它清楚地表明(https://raw.githubusercontent.com/FirebaseExtended/firebase-arduino/master/src/FirebaseError.h)除了常规的 HTTP 错误代码外,还使用了两个错误代码。因此,即使 Firebase 拒绝失败,它也可能不会引发错误。
所以检查firebase规则并将读/写更改为true。
推荐阅读
- laravel - Trix 在我的 Laravel 应用程序中不起作用
- linux - 如何评估多行导出命令设置环境变量
- java - 如何在 Spring Data R2DBC 中将一对多/一对一映射到 POJO
- python - 如何知道我的神经网络模型的准确性?
- r - 难以理解 `[[a, b, c]]` 语法(在 igraph 中)
- crystal-reports - 我想让第一个 hypen(-) 之后的 5 个字符比 Crystal Report 中的其余句子大
- c++ - 错误:请求从“const char [5]”转换为非标量类型“String”
- python - KeyError:在 Appium 中使用 Python 的“touchAction”
- ansible - Ansible:用多个空格作为分隔符拆分字符串
- flutter - 为什么我的 FAB 快速拨号在我的抽屉顶部?