这是我上传到ESP8266以连接firebase的代码
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#define FIREBASE_HOST "*******.firebaseio.com"
#define FIREBASE_AUTH "68GM**************m4k0IPLXF4G1"
#define WIFI_SSID "IDR"
#define WIFI_PASSWORD "****"
#define LED 2
void setup() {
pinMode(LED,OUTPUT);
digitalWrite(LED,0);
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);
}
`delay(1000);`}
NODE mcu连接互联网没有任何问题。但是LEDStatus没有在firebase中更新。
我的参考图书馆出了问题
FirebaseArduino.h
请帮助
答案 0 :(得分:1)
答案 1 :(得分:1)
尝试这样做
Firebase.setInt("LEDStatus",0);
if (Firebase.failed()) {
Serial.print("failed:");
Serial.println(Firebase.error());
return;
}
如果它在串行监视器上打印“失败”,请再次检查“ FIREBASE_HOST”和“ FIREBASE_AUTH”
对我来说,这样做并没有帮助。有用的是从以下位置更改“ FirebaseHttpClient.h”文件中“静态常量char kFirebaseFingerprint []”中的指纹 “ C:\ Users \ xxxxxxxx \ Documents \ Arduino \ libraries \ firebase-arduino-master \ src”
通过放置FIREBASE_HOST(即https://www.grc.com/fingerprints.htm),您可以找到一种形式为“ https://xxxxxxx.firebaseio.com/”的指纹
PS。不要在指纹中放入(:)
答案 2 :(得分:1)
IN。
答案 3 :(得分:1)
我回答了类似的问题here。
基本上,由于数据库秘密已被废除(如previus answer中所指出),而且我找不到支持新Firebase Admin SDK的Arduino库,因此我使用了{{3} },使用 http触发器从实时数据库中存储和检索数据。
您可以在链接的答案中看到Arduino草图和云函数的示例。
答案 4 :(得分:0)
感谢@Isuru Nuwanthilaka,我完成了工作,尽管不推荐使用数据库机密,但我的 nodeMcu 已成功将数据发送到 firebase。所以我寻找了一种将数据发送到 firebase 的替代方法,我发现 REST 女巫更容易并且可用于任何设备支持 https 请求。
使用 REST(witch 只是一个 https 请求),您只需发送 https 请求即可使用您的 Firebase。不需要SDK,也没有云功能。在您的情况下,您只需 #include