mcpField
A
arduino

arduino

github.com/alphaonedev开发67 次安装
代码仓库

关于 arduino

arduino 是面向 IoT 和嵌入式项目的 Arduino 兼容微控制器编程与管理技能。它通过 Arduino CLI 编译和上传草图,并管理开发板、核心、库及串口通信。

主要功能

  1. 01使用 Arduino CLI 编译并上传草图
  2. 02管理开发板、核心和库
  3. 03通过串口调试或交换数据
  4. 04借助库连接传感器和执行器
  5. 05支持 AVR、ARM 和 ESP 系列开发板

适用场景

  1. 01构建传感器 IoT 原型
  2. 02用微控制器控制 LED 或电机
  3. 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"

代码片段:

  1. 编译并上传基础闪烁草图:

    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

  2. 在脚本中管理库:

    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 功能

评论

支持 Markdown