You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wemos D1 mini Airgradient编译报错SoftwareSerial.h找不到解决方法

问题根因

这个报错和头文件搜索路径配置错误无关,本质是当前Arduino IDE选中的开发板架构,与SoftwareSerial库的适用架构不匹配。
你找到的SoftwareSerial.h位于hardware/arduino/avr/路径下,属于AVR架构(Arduino Uno、Nano等ATmega主控板)的内置核心库,只有选中AVR架构开发板时,IDE才会将该路径加入头文件搜索范围。
AirGradient DIY套件全系列采用ESP8266(老款)或ESP32(新款)主控,属于ESP架构,编译时不会扫描AVR目录下的库文件,自然触发找不到头文件的报错。之前能正常编译上传,通常是改代码过程中误切换了开发板选项,或是使用的AirGradient库版本没有做跨架构适配。

解决步骤
  • 核对主控型号,切换正确开发板
    先确认手上套件的主控:老款为ESP8266(Wemos D1 Mini版型),新款为ESP32。打开IDE顶部工具->开发板菜单,选中对应板型:
    • ESP8266款选择LOLIN(WEMOS) D1 R2 & mini
    • ESP32款选择ESP32 Dev Module
      选完后确认对应串口号选中,再重新触发编译。
  • 升级适配版本的依赖库
    如果选对板卡仍报错,说明你使用的AirGradient库版本过老,硬编码引用了AVR专属的SoftwareSerial库:
    直接将AirGradient库升级到官方最新版本,新版已经做了ESP架构适配,不会强制引用AVR专属头文件。
    要是不想升级库,可以手动修改AirGradient.h里的头文件引用逻辑:ESP8266/ESP32核心都自带软串口实现,不需要依赖AVR版的SoftwareSerial,删掉#include <SoftwareSerial.h>的引用,替换为对应架构自带的软串口头文件即可。
  • 排查库冲突
    如果你之前手动往Arduino第三方库目录存放过第三方移植版SoftwareSerial,先将其删除,避免和板卡核心自带的软串口库产生命名冲突。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 10:27:18