使用 Firebase_Arduino_WiFiNINA 从 Arduino 连接到 Firebase 时出错



我正在使用Arduino WiFi Rev2进行探索。我想将 Arduino 与 Firebase 连接起来。使用 Firebase_Arduino_WiFiNINA,会给我一个错误,说"Firebase_Arduino_WiFiNINA_HTTPClient.h:没有这样的文件或目录">

我已经尝试了以下代码,该代码作为FirebaseArduino使用WifiNINA库下的示例提供。出于显而易见的原因,我没有包括Wifi信息和Firebase项目信息。

#include "Firebase_Arduino_WiFiNINA.h"
#define FIREBASE_HOST "YOUR_FIREBASE_PROJECT.firebaseio.com"
#define FIREBASE_AUTH "YOUR_FIREBASE_DATABASE_SECRET"
#define WIFI_SSID "YOUR_WIFI_AP"
#define WIFI_PASSWORD "YOUR_WIFI_PASSWORD"
//Define Firebase data object
FirebaseData firebaseData;
void setup()
{
Serial.begin(115200);
delay(100);
Serial.println();
Serial.print("Connecting to Wi-Fi");
int status = WL_IDLE_STATUS;
while (status != WL_CONNECTED)
{
status = WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print(".");
delay(300);
}
Serial.println();
Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();
//Provide the autntication data
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH, WIFI_SSID, WIFI_PASSWORD);
Firebase.reconnectWiFi(true);
String path = "/UNO_WiFi_REV2_Test";
String jsonStr;
Serial.println("-----------------------------------");
Serial.println("----------Begin Set Test-----------");
Serial.println("-----------------------------------");
Serial.println();
for (uint8_t i = 0; i < 10; i++)
{
if (Firebase.setInt(firebaseData, path + "/Int/Data" + (i + 1), (i + 1) * 10))
{
Serial.println("----------Set result-----------");
Serial.println("PATH: " + firebaseData.dataPath());
Serial.println("TYPE: " + firebaseData.dataType());
Serial.print("VALUE: ");
if (firebaseData.dataType() == "int")
Serial.println(firebaseData.intData());
else if (firebaseData.dataType() == "float")
Serial.println(firebaseData.floatData());
else if (firebaseData.dataType() == "boolean")
Serial.println(firebaseData.boolData() == 1 ? "true" : "false");
else if (firebaseData.dataType() == "string")
Serial.println(firebaseData.stringData());
else if (firebaseData.dataType() == "json")
Serial.println(firebaseData.jsonData());
Serial.println("--------------------------------");
Serial.println();
}
else
{
Serial.println("----------Can't set data--------");
Serial.println("REASON: " + firebaseData.errorReason());
Serial.println("--------------------------------");
Serial.println();
}
}
Serial.println("-----------------------------------");
Serial.println("----------Begin Get Test-----------");
Serial.println("-----------------------------------");
Serial.println();
for (uint8_t i = 0; i < 10; i++)
{
if (Firebase.getInt(firebaseData, path + "/Int/Data" + (i + 1)))
{
Serial.println("----------Get result-----------");
Serial.println("PATH: " + firebaseData.dataPath());
Serial.println("TYPE: " + firebaseData.dataType());
Serial.print("VALUE: ");
if (firebaseData.dataType() == "int")
Serial.println(firebaseData.intData());
else if (firebaseData.dataType() == "float")
Serial.println(firebaseData.floatData());
else if (firebaseData.dataType() == "boolean")
Serial.println(firebaseData.boolData() == 1 ? "true" : "false");
else if (firebaseData.dataType() == "string")
Serial.println(firebaseData.stringData());
else if (firebaseData.dataType() == "json")
Serial.println(firebaseData.jsonData());
Serial.println("--------------------------------");
Serial.println();
}
else
{
Serial.println("----------Can't get data--------");
Serial.println("REASON: " + firebaseData.errorReason());
Serial.println("--------------------------------");
Serial.println();
}
}
Serial.println("-----------------------------------");
Serial.println("----------Begin Push Test----------");
Serial.println("-----------------------------------");
Serial.println();
for (uint8_t i = 0; i < 5; i++)
{
if (Firebase.pushInt(firebaseData, path + "/Push/Int", (i + 1)))
{
Serial.println("----------Push result-----------");
Serial.println("PATH: " + firebaseData.dataPath());
Serial.print("PUSH NAME: ");
Serial.println(firebaseData.pushName());
Serial.println("--------------------------------");
Serial.println();
}
else
{
Serial.println("----------Can't push data--------");
Serial.println("REASON: " + firebaseData.errorReason());
Serial.println("--------------------------------");
Serial.println();
}
}
for (uint8_t i = 5; i < 10; i++)
{
jsonStr = "{"Data" + String(i + 1) + "":" + String(i + 1) + "}";
if (Firebase.pushJSON(firebaseData, path + "/Push/Int", jsonStr))
{
Serial.println("----------Push result-----------");
Serial.println("PATH: " + firebaseData.dataPath());
Serial.print("PUSH NAME: ");
Serial.println(firebaseData.pushName());
Serial.println("--------------------------------");
Serial.println();
}
else
{
Serial.println("----------Can't push data--------");
Serial.println("REASON: " + firebaseData.errorReason());
Serial.println("--------------------------------");
Serial.println();
}
}
Serial.println("-----------------------------------");
Serial.println("---------Begin Update Test----------");
Serial.println("-----------------------------------");
Serial.println();
for (uint8_t i = 0; i < 5; i++)
{
jsonStr = "{"Data" + String(i + 1) + "":" + String(i + 5.5) + "}";
if (Firebase.updateNode(firebaseData, path + "/Int", jsonStr))
{
Serial.println("----------Update result-----------");
Serial.println("PATH: " + firebaseData.dataPath());
Serial.println("TYPE: " + firebaseData.dataType());
Serial.print("VALUE: ");
if (firebaseData.dataType() == "int")
Serial.println(firebaseData.intData());
else if (firebaseData.dataType() == "float")
Serial.println(firebaseData.floatData());
else if (firebaseData.dataType() == "boolean")
Serial.println(firebaseData.boolData() == 1 ? "true" : "false");
else if (firebaseData.dataType() == "string")
Serial.println(firebaseData.stringData());
else if (firebaseData.dataType() == "json")
Serial.println(firebaseData.jsonData());
Serial.println("--------------------------------");
Serial.println();
}
else
{
Serial.println("----------Can't Update data--------");
Serial.println("REASON: " + firebaseData.errorReason());
Serial.println("--------------------------------");
Serial.println();
}
}
}

也许我迟到了,但我想我发现了问题所在。

Firebase_Arduino_WiFiNINA_HTTPClient in~/Arduino/libraries/Firebase_Arduino_based_on_WiFiNINA/src/中的文件命名不正确(Firebase_Arduino_WiFiNINA_HTTPCLient而不是Firebase_Arduino_WiFiNINA_HTTPClient(。

因此,您只需重命名 .h 和 .cpp 文件,它应该可以解决。

最新更新