You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

引入FirebaseArduino库报错:ArduinoJson.h不存在,如何解决?

解决 fatal error: ArduinoJson.h: No such file or directory 错误

这个问题很典型,核心原因是FirebaseArduino库依赖ArduinoJson库处理JSON数据,但你的Arduino开发环境里还没安装这个必需的依赖库。下面是具体的解决步骤和代码修正建议:

步骤1:安装ArduinoJson依赖库

打开你的Arduino IDE,按以下操作完成安装:

  • 点击顶部菜单「项目」→「加载库」→「管理库」
  • 在弹出的库管理器搜索框中输入 ArduinoJson
  • 找到ArduinoJson库(建议选择v6.x版本,旧版FirebaseArduino对v7.x兼容性可能不佳),点击「安装」
  • 安装完成后,重启Arduino IDE再尝试编译代码

步骤2:修正代码中的小问题

除了依赖缺失,你的代码里还有几处拼写和变量定义错误,不修正也会导致编译失败:

  • erial.begin(9600); 少了字母S,应为 Serial.begin(9600);
  • Frirebase.setInt 拼写错误,正确写法是 Firebase.setInt
  • count 变量未声明,需要提前定义

修正后的完整代码如下:

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>

#define FIREBASE_HOST "example.firebaseio.com"
#define FIREBASE_AUTH "token_or_secret"
#define WIFI_SSID "SSID"
#define WIFI_PASSWORD "PASSWORD"

int count = 0; // 声明count变量

void setup() {
  Serial.begin(9600); 
  
  // 连接WiFi
  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);
}

void loop() {
  Firebase.setInt("Count", count++);
  delay(1000);
}

现在重新编译,应该就能顺利通过了。

内容的提问来源于stack exchange,提问作者MaTaDoRcpe

火山引擎 最新活动