返回顶部
m

micropython-skillsMicroPython技能

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
130
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

micropython-skills

micropython-skills

AI Agent可编程协处理器技能集合。你(Agent)生成MicroPython代码,通过REPL将其推送到设备,解析结构化输出,并进行迭代——将硬件转化为你的扩展能力。

快速开始

Python命令:macOS/Linux使用python3,Windows使用python。
在Windows上,python3通常是Microsoft Store的存根程序,会静默失败(退出码49)。
在macOS/Linux上,python可能不存在或指向Python 2。

每次交互遵循以下流程:

  1. 1. 探测 — 运行python3 {SKILLDIR}/scripts/deviceprobe.py发现连接的设备
- status: ok → 设备有MicroPython,进入步骤2 - status: nofirmware → 检测到ESP芯片但没有MicroPython。请用户确认,然后刷写:python3 {SKILLDIR}/scripts/firmware_flash.py --port PORT --yes - status: no_device → 没有连接设备。引导用户连接硬件。 - status: permission_denied → 串口不可访问。Linux上:sudo chmod 666 /dev/ttyACM0。Windows上:检查设备管理器中的驱动问题。
  1. 2. 连接 — 默认:通过mpremote使用USB。可选:通过WebREPL使用WiFi(用户必须请求)
  2. 执行 — 生成MicroPython代码并推送到设备
  3. 解析 — 扫描stdout中的标记行(RESULT:/ERROR:/STATUS:/LOG:)
  4. 迭代 — 根据结果调整代码,重复步骤3-5

其中{SKILL_DIR}是包含此SKILL.md文件的目录。

连接管理

默认:USB(mpremote)

始终从探测设备开始:
bash
python3 {SKILLDIR}/scripts/deviceprobe.py

在设备上执行代码:
bash
mpremote exec import machine; print(RESULT: + str(machine.freq()))

运行脚本文件:
bash
mpremote run script.py

对于多行代码,在本地编写临时.py文件,然后mpremote run /path/to/task.py。

串口名称因平台而异:

平台端口格式示例
Linux/dev/ttyUSB0, /dev/ttyACM0mpremote connect /dev/ttyACM0
macOS
/dev/cu.usbserial-, /dev/cu.usbmodem | mpremote connect /dev/cu.usbmodem14101 |
| Windows | COM3, COM4, ... | mpremote connect COM3 |

脚本会自动检测端口——你很少需要手动指定。

可选:WiFi(WebREPL)

仅在用户明确请求时才切换到WiFi。切换流程:

  1. 1. 询问用户的WiFi SSID和密码
  2. 通过USB将WiFi + WebREPL配置推送到设备:
bash python3 {SKILLDIR}/scripts/wifisetup.py --ssid SSID --password PASS --webrepl-password repl123
  1. 3. 从输出中记下IP地址
  2. 此后,通过WiFi执行代码:
bash python3 {SKILLDIR}/scripts/webreplexec.py --host 192.168.1.100 --password repl123 --code print(hello)
  1. 5. USB线可以断开

详细命令参考,请阅读./references/connections.md。

子技能路由

根据用户意图,读取相应的子技能以获取领域特定模板:

用户意图关键词子技能路径安全等级
温度、湿度、DHT、BME280、气压、IMU、加速度计、ADC、模拟、超声波、光敏传感器、光敏电阻、读取传感器./skills/sensor/SKILL.md安全
GPIO、LED、闪烁、PWM、舵机、电机、步进电机、继电器、NeoPixel、WS2812、蜂鸣器、输出、控制、驱动
./skills/actuator/SKILL.md | 谨慎 |
| WiFi、MQTT、HTTP、BLE、蓝牙、NTP、WebSocket、AP模式、网络、连接互联网、发布、订阅 | ./skills/network/SKILL.md | 谨慎 |
| PID、滤波器、卡尔曼、状态机、调度器、数据记录、移动平均、控制循环、算法 | ./skills/algorithm/SKILL.md | 安全 |
| 扫描I2C、扫描SPI、设备信息、内存、文件系统、诊断、健康检查、基准测试、引脚状态、已连接什么 | ./skills/diagnostic/SKILL.md | 安全 |
| 保存到设备、save to device、开机自启、auto start、下次还能用、persist、断电保存 | 参见下方程序持久化部分 | 谨慎/危险 |
| 刷写固件、烧录固件、安装MicroPython、无固件、烧录、刷固件、刷机 | scripts/firmware_flash.py | 危险 |
| 恢复、无响应、卡住、boot.py、main.py、重新刷写、变砖 | ./references/safety.md | 危险 |

当任务跨越多个领域时(例如读取传感器并通过MQTT发布),读取所有相关的子技能。

结构化输出协议

你为设备生成的所有MicroPython代码必须使用标记输出行:

标记用途示例
RESULT:成功数据(JSON)RESULT:{temp:23.5,hum:61}
ERROR:
错误信息 | ERROR:OSError: [Errno 19] ENODEV |
| STATUS: | 状态指示 | STATUS:ok |
| LOG: | 调试信息 | LOG:sampling at 100Hz |

代码模板——你生成的每个代码片段应遵循此模式:
python
import json
from machine import Pin
try:
# ... 你的操作在这里 ...
print(RESULT: + json.dumps({key: value}))
except Exception as e:
print(ERROR: + str(e))

解析规则:

  • - 逐行扫描设备stdout
  • 提取以RESULT:、ERROR:、STATUS:、LOG:开头的行
  • 忽略所有其他输出(MicroPython启动消息、REPL提示等)
  • 如果发现ERROR:,诊断并用调整后的代码重试

安全规则

等级操作Agent行为
安全传感器读取、I2C/SPI扫描、内存检查、引脚读取、诊断直接执行
谨慎
GPIO输出、PWM、WiFi连接、设备上写文件 | 告知用户将要执行的操作,然后执行 | | 危险 | 覆盖boot.py/main.py、格式化文件系统、OTA更新、刷写固件 | 必须获得用户明确确认。始终先备份:mpremote fs cp :boot.py /tmp/boot.py.bak |

硬约束:

  • - 切勿在保存到设备的脚本中硬编码WiFi密码——使用变量或提示用户
  • 所有循环必须有迭代限制或超时——切勿生成没有退出条件的无限循环
  • 在覆盖boot.py或main.py之前,始终先备份现有文件
  • 在控制大电流设备(电机、继电器)之前,请用户确认接线

完整的恢复流程,请阅读./references/safety.md。

工作流程

作为操作此协处理器的Agent,遵循以下思维模型:

  1. 1. 理解意图 — 用户希望通过硬件实现什么?
  2. 检查连接 — 如果尚未运行,运行device_probe.py。了解设备的平台和能力。
  3. 路由到子技能 — 读取相关子技能的SKILL.md以获取代码模板和领域知识
  4. 生成代码 — 按照输出协议编写MicroPython代码。根据目标平台调整引脚编号和参数。
  5. 推送并捕获 — 通过mpremote或WebREPL执行,捕获完整stdout
  6. 解析结果 — 提取RESULT:/ERROR:行,解析JSON数据
  7. 决定下一步 — 如果是ERROR,诊断并调整。如果是RESULT,呈现给用户或用于下一步操作。
  8. 维护状态 — 记住哪些引脚正在使用,哪些外设已初始化,设备的平台是什么
  9. 提供持久化 — 程序成功运行后,询问用户是否要保存到设备或设置为开机自启

程序持久化

程序成功运行后,为用户提供两个选项:

选项1:保存到设备(供后续手动使用)

将脚本保存

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 micropython-skills-1776022950 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 micropython-skills-1776022950 技能

通过命令行安装

skillhub install micropython-skills-1776022950

下载

⬇ 下载 micropython-skills v1.0.0(免费)

文件大小: 40.32 KB | 发布时间: 2026-4-13 11:02

v1.0.0 最新 2026-4-13 11:02
Initial release of micropython-skills v1.0.0:

- Enables AI-driven MicroPython code generation and execution for a wide range of embedded boards (ESP32 series, ESP8266, RP2040, STM32, etc.).
- Includes scripts for device probing, firmware flashing, WiFi/WebREPL setup, code deployment, and board diagnostics.
- Structured system for safe hardware interaction: clearly defined “Safe”, “Cautious”, and “Dangerous” operation tiers with strong safety and confirmation rules.
- Modular sub-skill routing for sensors, actuators, networking, algorithms, and diagnostics.
- Requires Python 3, mpremote, and esptool; supports Linux, macOS, and Windows.
- Implements a standardized tagged output protocol for reliable parsing and automation.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部