带firebase的节点MCU(ESP 8266)
这是我上传到ESP8266以连接firebase的代码带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
#包括
#包括
#定义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)来查找您的表单“”的指纹
另外,不要在指纹上写(:)
在。中,我回答了一个类似的问题 基本上,由于数据库机密已被解密(正如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。我会检查它。