Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带firebase的节点MCU(ESP 8266)_Firebase_Firebase Realtime Database_Arduino_Nodemcu_Arduino Esp8266 - Fatal编程技术网

带firebase的节点MCU(ESP 8266)

带firebase的节点MCU(ESP 8266),firebase,firebase-realtime-database,arduino,nodemcu,arduino-esp8266,Firebase,Firebase Realtime Database,Arduino,Nodemcu,Arduino Esp8266,这是我上传到ESP8266以连接firebase的代码 #包括 #包括 #定义FIREBASE_主机“******.firebaseio.com” #定义FIREBASE_AUTH“68GM*************m4k0IPLXF4G1” #定义WIFI_SSID“IDR” #定义WIFI_密码“***” #定义LED 2 无效设置(){ 引脚模式(LED,输出); 数字写入(LED,0); 数字写入(LED,0); Serial.begin(9600); WiFi.begin(WiFi\u

这是我上传到ESP8266以连接firebase的代码

#包括
#包括
#定义FIREBASE_主机“******.firebaseio.com”
#定义FIREBASE_AUTH“68GM*************m4k0IPLXF4G1”
#定义WIFI_SSID“IDR”
#定义WIFI_密码“***”
#定义LED 2
无效设置(){
引脚模式(LED,输出);
数字写入(LED,0);
数字写入(LED,0);
Serial.begin(9600);
WiFi.begin(WiFi\u SSID、WiFi\u密码);
串行打印(“连接”);
while(WiFi.status()!=WL_已连接){
连续打印(“.”);
延迟(500);
}
Serial.println();
串行打印(“已连接:”);
Serial.println(WiFi.localIP());
Firebase.begin(Firebase\u主机,Firebase\u身份验证);
Firebase.setInt(“LEDStatus”,0);
}   
void循环(){
if(Firebase.getInt(“LEDStatus”))
{                            
数字写入(LED,高电平);
}
其他的
{
数字写入(LED,低电平);
}
延迟(1000);
}
有了这段代码,我的NodeMCU可以毫无问题地连接到互联网。
问题在于firebase数据库中的
LEDStatus
没有更新

我的FirebaseArduino.h参考库有什么问题吗


任何帮助都将不胜感激。

Google Firebase数据库机密现在已被弃用。因此,您需要继续使用Firebase Admin SDK。看这个

试试这个

  Firebase.setInt("LEDStatus",0); 
     if (Firebase.failed()) {
     Serial.print("failed:");
     Serial.println(Firebase.error());  
     return;
  }
如果它在串行监视器上打印“failed”,请仔细检查“FIREBASE\u主机”和“FIREBASE\u AUTH”

对我来说,这样做没有帮助。帮助的是更改“FirebaseHttpClient.h”文件中“static const char kFirebaseFingerprint[]”中的指纹 “C:\Users\xxxxxxxx\Documents\Arduino\libraries\firebase Arduino master\src”

您可以通过放置FIREBASE_主机(ie)来查找您的表单“”的指纹

另外,不要在指纹上写(:)

  • 首先检查您是否已授予写入数据库规则的权限
  • 或者根据此更改FirebaseFingerPrint修复了我的问题
  • (可选)使用6位SSID、密码,但字符串不要太长。有时,由于命名约定不当,我在制作软AP时遇到问题

  • 在。

    中,我回答了一个类似的问题

    基本上,由于数据库机密已被解密(正如a中所指出的),而且我找不到支持新Firebase Admin SDK的Arduino库,因此我使用http触发器来存储和检索实时数据库中的数据


    您可以在链接的答案中看到Arduino草图和云函数的示例。

    感谢@Isuru Nuwanthilaka,我完成了工作,我的nodeMcu成功地将数据发送到firebase,尽管数据库机密已被弃用。所以我寻找了一种向firebase发送数据的替代方法,我发现REST witch更容易,并且可用于任何支持https请求的设备


    使用REST(witch只是一个https请求),您可以通过发送https请求来使用firebase。不需要SDK,也不需要云功能。在您的情况下,您将只包含和其他支持HTTPS客户端的库。节点上不需要firebaseSDK:cu

    谢谢sandun。我会检查它。