关于 arduino
arduino 是面向 IoT 和嵌入式项目的 Arduino 兼容微控制器编程与管理技能。它通过 Arduino CLI 编译和上传草图,并管理开发板、核心、库及串口通信。
主要功能
- 01使用 Arduino CLI 编译并上传草图
- 02管理开发板、核心和库
- 03通过串口调试或交换数据
- 04借助库连接传感器和执行器
- 05支持 AVR、ARM 和 ESP 系列开发板
适用场景
- 01构建传感器 IoT 原型
- 02用微控制器控制 LED 或电机
- 03通过串口调试草图
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill arduino安装后在 Claude Code 中输入/arduino确认已加载。
详细介绍
arduino
用途
此技能提供用于编程和管理 Arduino 微控制器的工具,专注于 IoT 和嵌入式系统开发。它利用 Arduino 生态系统,在 Arduino Uno 或 ESP32 等硬件上编译、上传和运行草图。
适用场景
构建 IoT 原型(例如传感器网络或自动化设备)且需要对微控制器进行编程时,可使用此技能。它适用于读取传感器数据(例如通过 DHT11 读取温度)或控制执行器(例如 LED、电机)等任务,尤其适用于涉及实时数据处理或与 Raspberry Pi 等平台集成硬件的项目。
主要功能
- 使用 CLI 命令编译并上传 Arduino 草图到开发板。
- 管理各种 Arduino 兼容硬件的开发板、核心和库。
- 处理串行通信,用于 IoT 环境中的调试或数据交换。
- 通过标准 Arduino 库与外部传感器和执行器集成。
- 支持多个平台,包括 AVR、ARM 和基于 ESP 的开发板。
使用模式
若要使用此技能,请在脚本中或 AI 工作流中直接调用 Arduino CLI 命令。请始终通过 curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh 确保已安装 Arduino CLI。进行自动化时,可将命令封装在 shell 脚本或 Python subprocess 调用中。所有操作都要指定完全限定的开发板名称(FQBN),例如 "arduino:avr:uno"。如果要集成到更大的 AI Agent 流程中,请先使用 arduino-cli board list 检查开发板是否已连接。
常用命令/API
使用 Arduino CLI 执行核心操作。主要命令包括:
- 安装开发板核心:
arduino-cli core install arduino:avr - 编译草图:
arduino-cli compile --fqbn arduino:avr:uno --output-dir /tmp/build path/to/sketch.ino - 上传草图:
arduino-cli upload -b arduino:avr:uno -p /dev/ttyUSB0 path/to/sketch.ino - 列出可用开发板:
arduino-cli board list - 添加库:
arduino-cli lib install "DHT sensor library"
代码片段:
-
编译并上传基础闪烁草图:
void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); }运行:
arduino-cli compile --fqbn arduino:avr:uno blink.ino && arduino-cli upload -b arduino:avr:uno -p /dev/ttyUSB0 blink.ino -
在脚本中管理库:
arduino-cli lib search DHT && arduino-cli lib install "DHT sensor library"
配置格式:CLI 配置文件使用 JSON(例如,arduino-cli config init 会创建一个 directories.json)。配置文件示例片段:
{
"board_manager": {
"additional_urls": ["https://downloads.arduino.cc/packages"]
}
}
如果需要集成 Arduino Cloud(例如用于 IoT 服务),请通过环境变量设置身份验证:export ARDUINO_API_KEY=$ARDUINO_API_KEY。
集成说明
集成此技能时,请确保 Arduino CLI 已加入 PATH。若要跨平台使用,请动态检测串行端口(例如,Linux 上的 /dev/ttyUSB0 或 Windows 上的 COM3)。与其他 IoT 工具结合使用时,可将输出传递给 jq 等解析器来处理 JSON。例如,在 bash 脚本中:arduino-cli board list | jq '.boards[] | select(.port == "/dev/ttyUSB0")'。如果使用 Arduino Cloud API,请使用 $ARDUINO_API_KEY 进行身份验证,并向 https://api2.arduino.cc/iot/v2/things 等端点发送请求。执行命令前,请务必确认硬件连接正常,以避免失败。
错误处理
请始终检查 CLI 退出代码;非零代码表示失败(例如,if [ $? -ne 0 ]; then echo "Compilation failed"; fi)。请解析错误输出以查明具体问题,例如缺少库:"error: 'DHT' not declared"。常见问题包括 FQBN 错误——请使用 arduino-cli board listall 验证——或端口冲突;使用 ls /dev/tty* 列出端口。上传出错时,请确保开发板处于引导加载程序模式。如果使用 Python 等语言编写脚本,请使用 try-catch 块封装命令:
import subprocess
try:
subprocess.run(['arduino-cli', 'compile', '--fqbn', 'arduino:avr:uno', 'sketch.ino'], check=True)
except subprocess.CalledProcessError as e:
print(f"Error: {e.output}")
记录详细错误信息,以便调试 IoT 部署。
图关系
- 集群:iot(与 iot 集群中的其他技能直接关联)
- 标签:iot(与带有 iot 标签的技能关联,例如用于组合式 IoT 工作流的技能)、arduino(与专用嵌入式系统技能关联)
- 相关技能:任何带有 iot 标签的技能,例如用于 Raspberry Pi 或 ESP32 的技能,可扩展 IoT 功能