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

树莓派SSH环境下Arduino CLI缺失标准库,如何安装?

问题:树莓派SSH环境下使用arduino-cli调用Arduino标准库报错

已通过SSH在树莓派上用arduino-cli完成基础闪烁程序烧写,但引入Arduino IDE默认自带的Wire.h、Servo.h、Firmata.h等标准库时,出现编译错误:

fatal error: Servo.h: No such file or directory
#include <Servo.h>
^~~~~~~~~
compilation terminated

已知第三方库可通过以下命令安装:

arduino-cli lib search <library>
arduino-cli lib install <library>

但Wire、Servo这类标准库无法在搜索结果中找到,需要解决在纯SSH环境下(无需IDE或HDMI连接)添加这些库的方法,且不影响后续使用(arduino-cli通过指定教程安装)。

解决方案

1. 安装对应开发板的核心板包

Wire、Servo这类属于Arduino的核心库,和第三方库不同,它们绑定在对应开发板的核心板包中,无法通过lib search搜到。首先确认你使用的开发板板包是否安装:

  • 查看已安装板包:
arduino-cli core list
  • 如果未找到目标板包(比如常用的AVR系列板对应arduino:avr),执行安装命令:
arduino-cli core install arduino:avr

提示:替换arduino:avr为你实际使用的开发板板包标识,比如ESP32系列是esp32:esp32,可通过arduino-cli core search <板型关键词>查询具体标识

2. 验证核心库路径

安装板包后,核心库会自动存放在arduino-cli的系统库目录中。可通过以下命令查看配置的库路径:

arduino-cli config dump

找到directories.data对应的路径,核心库通常位于[data路径]/packages/[厂商]/hardware/[架构]/[版本]/libraries下。如果路径异常,可重新初始化配置:

arduino-cli config init

3. 手动补充核心库(仅当上述步骤无效时)

如果板包安装后仍无法识别库,可从装有Arduino IDE的设备上,找到对应板包的核心库文件夹(比如Windows下路径为C:\Users\<用户名>\AppData\Local\Arduino15\packages\arduino\hardware\avr\<版本>\libraries),通过SCP命令传到树莓派的用户库目录:

  • 树莓派用户库路径一般为~/.arduino15/libraries或~/Arduino/libraries,可通过arduino-cli lib list确认。
  • SCP传输示例(本地到树莓派):
scp -r /本地电脑的Servo库路径 pi@你的树莓派IP:~/.arduino15/libraries/

4. 验证安装结果

执行以下命令查看已识别的库列表,确认Wire、Servo等核心库已存在:

arduino-cli lib list

之后重新编译你的程序即可正常调用这些库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 17:25:28