21. 使用 OpenClaw 控制 PiDog

什么是 OpenClaw?

你可以把它看作 ChatGPT 的升级版。传统聊天机器人只能聊天(生成文本),而 OpenClaw 能够**执行操作**。它能理解你的自然语言指令,并在你的计算机上实际执行操作,例如运行命令、管理文件和调用各种工具。

以下是一些精彩的应用场景:

  • 个人全能助手: 让它帮你管理日程、设置提醒和跟踪任务。你只需在聊天应用(如 Telegram、WhatsApp)中告诉它,它就会记住并执行。

  • 自动化”胶水”: 它可以作为连接各种服务的粘合剂。例如,你可以让它监控某个网站的价格变化。一旦检测到降价,它可以自动触发 n8n 自动化工作流,向你发送邮件通知。

  • 专属开发助手: 让它帮你管理服务器、运行脚本和检查日志。你只需说”帮我检查一下系统负载”,它就能 SSH 到你的服务器,执行命令并返回结果。

  • 硬件”玩伴”: 这是一个非常有趣的用途。你可以让 OpenClaw 控制连接到 Raspberry Pi 的硬件。例如,有开发者用它控制带机械臂的扫地机器人,甚至用它分析赛车模拟器数据并显示在 LED 屏幕上。官方 Raspberry Pi 团队甚至用它为一场婚礼搭建了自动拍照亭,全程只需对话,无需编写一行代码!

重要

Raspberry Pi Zero 2W 只有 512MB 内存,而 OpenClaw 最低需要 1GB。因此,它无法正常运行。建议使用 Raspberry Pi 4/5 或更高版本。

快速开始 OpenClaw

如果你想尽快体验 OpenClaw 的强大功能,请使用此方法。它将自动安装并启动一个交互式设置向导。

  1. 打开 Raspberry Pi 的终端,直接运行以下命令。此命令将从官方网站下载安装脚本并执行:

    curl -fsSL https://openclaw.ai/install.sh | bash
    

    备注

    由于新版本更新较快,你的安装步骤可能略有不同,这属于正常情况。

  2. 脚本将自动下载并安装 OpenClaw。

    _images/install_open_claw.png
  3. 随后你会看到一个安全提示,询问你是否信任 OpenClaw。确认安全可靠后,使用方向键选择”Yes”并按 Enter。

    _images/security_open_claw.png
  4. 选择 Quick Start,然后按 Enter。

    _images/quickstart_open_claw.png
  5. 选择你的 Model,然后按 Enter。这里我们以 OpenAI 为例。

    _images/model_provider_open_claw.png
  6. 选择 OpenAI API Key。

    _images/api_key_open_claw.png
  7. 现在粘贴 API key。

    _images/paste_api_key_open_claw.png
  1. 前往 OpenAI Platform 并登录。在 API keys 页面,点击 Create new secret key

    _images/llm_openai_create1.png
  2. 填写详细信息(Owner、Name、Project 以及权限,如果需要),然后点击 Create secret key

    _images/llm_openai_create_confirm1.png
  3. 密钥创建后,请立即复制——你之后将无法再次查看。如果丢失,需要重新生成一个新的。

_images/llm_openai_copy1.png
  1. 将密钥粘贴到 OpenCLaw 的配置中。

_images/paste_api_key_enter_open_claw.png
  1. 选择你想要使用的 Model。在此示例中,我们将选择 Keep current

_images/model_config_open_claw.png
  1. 接下来是渠道选择。渠道指 OpenClaw 支持的通信服务,例如 Telegram、WhatsApp、Discord 等。使用方向键选择”Skip for now”选项,然后按 Enter。

_images/channel_open_claw.png
  1. 接下来,系统会提示你是否立即配置技能。选择”Yes”并按 Enter。

_images/config_skill_open_claw.png
  1. 安装你需要的技能。在以下示例中,我们选择”Skip for now”选项(按空格键选择),然后按 Enter。

_images/install_skill_open_claw.png
  1. 接下来是 Hooks;我们将勾选”command-logger”和”session-memory”。

_images/hooks2_open_claw.png
  1. 安装现已完成。选择”Hatch in TUI”并按 Enter 即可启动 OpenClaw。

_images/hatch_open_claw.png

备注

你可以通过输入以下命令启动 OpenClaw:

openclaw tui

你可以按两次 ctrl+c 退出 tui 界面。


让 OpenClaw 操控 PiDog

什么是 PiDog Skill?

PiDog Skill 是 OpenClaw 的一个扩展,让你可以通过自然语言控制 SunFounder PiDog V2 机器狗。无需记住复杂的命令行参数,只需告诉 OpenClaw 你希望 PiDog 做什么——例如”让狗坐下”或”把 LED 灯变成紫色”——OpenClaw 就会自动执行相应的命令。

以下是 PiDog Skill 可以实现的功能:

  • 基础动作: 让 PiDog 站立、坐下、躺下、摇尾巴、吠叫、向前/向后走或左转/右转

  • 姿态保持: 让 PiDog 长时间保持特定姿态(如站立)

  • LED 灯光控制: 改变眼睛颜色,支持呼吸、聆听、爆闪或常亮等效果

  • 颜色定制: 可选择红、绿、蓝、黄、紫、粉、青、白、橙,或自定义十六进制颜色


先决条件

在将 PiDog Skill 与 OpenClaw 结合使用之前,请确保你已具备以下条件:

  1. 已正确组装 PiDog V2 并连接到 Raspberry Pi

  2. 已安装并正在运行 OpenClaw

  3. 你的系统中存在以下目录:

    • ~/pidog

    • ~/robot-hat

    • ~/vilib

你可以通过运行以下命令来验证安装:

python3 -c "import pidog"

如果该命令运行无错误,说明已准备就绪。


安装 PiDog Skill

按照以下步骤为 OpenClaw 安装 PiDog Skill:

  1. 创建技能目录(如果尚不存在):

    mkdir -p ~/.openclaw/workspace/skills/
    
  2. 将 PiDog 技能文件复制到 OpenClaw 技能目录:

    cp -r ~/pidog/pidog-control ~/.openclaw/workspace/skills/pidog-control/
    

    备注

    请将 ~/pidog-skill 替换为你的 PiDog 技能文件所在的实际路径。

  3. 验证安装,检查技能文件:

    ls ~/.openclaw/workspace/skills/pidog-control/scripts/
    

    你应当能在输出中看到 pidog_ctl.pypidog_rgb_ctl.py


测试 PiDog Skill

在 OpenClaw 中使用该技能之前,建议先在终端中测试基本功能。

第 1 步:检查 PiDog 状态

python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_ctl.py status

第 2 步:运行安全测试

python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_ctl.py safe-test

第 3 步:测试基础动作

让 PiDog 坐下:

python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_ctl.py action sit

让 PiDog 站立并保持姿态:

python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_ctl.py action stand --hold

让 PiDog 吠叫:

python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_ctl.py action bark

第 4 步:测试 LED 灯光

使用紫色测试爆闪灯效:

python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_rgb_ctl.py light boom --color purple

测试其他灯效:

# 红色呼吸效果
python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_rgb_ctl.py light breath --color red

# 蓝色聆听效果
python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_rgb_ctl.py light listen --color blue

# 关闭灯光
python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_rgb_ctl.py light off

在 OpenClaw 中使用 PiDog Skill

确认 PiDog Skill 可以在命令行正常工作后,即可开始在 OpenClaw 中使用它。

  1. 启动 OpenClaw TUI

    openclaw tui
    
  2. 发送自然语言命令来控制 PiDog。以下是一些示例:

    • “让狗坐下”

    • “让 PiDog 站着别动”

    • “摇摇狗的尾巴”

    • “让狗叫一声”

    • “把 LED 灯变成紫色爆闪效果”

    • “把眼睛灯设为红色呼吸效果”

    • “让 PiDog 向前走”

  3. OpenClaw 将自动把你的请求转换为相应的命令并在 PiDog 上执行。


可用动作与命令

以下是 PiDog Skill 支持的动作完整列表:

动作

描述

stand

让 PiDog 站立

sit

让 PiDog 坐下

lie

让 PiDog 躺下

wag-tail

摇动 PiDog 的尾巴

bark

发出吠叫声

forward

向前行走

backward

向后行走

姿态保持:

在任何动作后添加 --hold 可让 PiDog 保持该姿态。例如:”stand –hold”

灯光效果:

效果

描述

off

关闭所有 LED 灯

breath

温和的呼吸/脉冲效果

listen

响应式聆听模式

boom

动态爆闪效果(最明显)

solid

恒定常亮(建议使用 boom 效果更佳)

支持的颜色:

red、green、blue、yellow、purple、pink、cyan、white、orange 或十六进制颜色代码如 #FF5733


故障排除

OpenClaw 问题

问:安装过程中出现错误 Error: systemctl is-enabled unavailable: Command failed: systemctl --user is-enabled openclaw-gateway.service,该怎么办?

你可以暂时忽略此错误,但后续步骤可能会遇到问题。届时请逐一排查。

问:运行 openclaw tui 时出现错误 -bash: openclaw: command not found,该怎么办?

执行以下命令:

echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

现在你应该可以用 openclaw tui 启动 tui 界面了。

问:在 openclaw tui 中遇到 not connected to gateway message not sentgateway disconnected: closed 消息。

这是因为你的 OpenClaw Gateway 服务未启动。打开另一个终端,执行以下命令启动 OpenClaw Gateway:

openclaw gateway

然后重启 openclaw tui,即可正常使用。

问:我想让 OpenClaw Gateway 服务在后台运行 / 开机自启动,该怎么做?

通常情况下,OpenClaw Gateway 服务应在开机时自动启动。如果没有自动启动,你可以通过以下命令手动启动。

  1. 创建 ~/.config/systemd/user 目录:

mkdir -p ~/.config/systemd/user
  1. 创建 openclaw-gateway.service 文件:

cat > ~/.config/systemd/user/openclaw-gateway.service << EOF
[Unit]
Description=OpenClaw Gateway
After=network.target

[Service]
Type=simple
ExecStart=$HOME/.npm-global/bin/openclaw gateway run
Restart=on-failure
RestartSec=10
Environment="PATH=$HOME/.npm-global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin"
Environment="NODE_ENV=production"

[Install]
WantedBy=default.target
EOF
  1. 然后重新加载 systemd 配置:

systemctl --user daemon-reload
  1. 启动服务:

systemctl --user start openclaw-gateway

此时,重启 openclaw tui,即可正常使用。

  1. 启用开机自启动:

systemctl --user enable openclaw-gateway

问:我的 OpenClaw 无法操作系统,该怎么办?

新安装的 OpenClaw 默认可能没有操作 Raspberry Pi 系统的权限,只能进行对话。我们需要手动配置权限。

  1. 打开 OpenClaw 配置文件:

    nano ~/.openclaw/openclaw.json
    
  2. 找到 tools 选项,按照下方所示修改 profileexec

    "tools": {
        "profile": "coding",
        "exec": {
            "secrity": "full"
        }
    },
    
  3. 保存并退出。

  4. 在终端中输入以下命令重启 OpenClaw Gateway:

    openclaw gateway restart
    

现在,OpenClaw 应该拥有读写权限,能够操作你的 Raspberry Pi 系统了。

PiDog 问题

问:PiDog 对命令无响应,该怎么办?

首先确认 PiDog 已正确连接并开机。然后测试基本命令:

python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_ctl.py status

如果此命令失败,请检查所需目录是否存在:

  • ~/pidog

  • ~/robot-hat

  • ~/vilib

问:import pidog 测试失败。

这意味着 PiDog Python 库未正确安装。请参考 PiDog V2 官方安装指南安装必要的库。

问:LED 灯工作不正常。

如果常亮效果不明显,请改用 boom 效果——它的显示效果最突出:

python3 ~/.openclaw/workspace/skills/pidog-control/scripts/pidog_rgb_ctl.py light boom --color purple

问:OpenClaw 无法识别 PiDog 技能。

在 TUI 中对 OpenClaw 说:”Please rsync my skills” 来提醒它同步技能,或重启 OpenClaw gateway:

openclaw gateway restart

问:bark 动作的声音不对劲。

bark 动作默认使用 single_bark_1 声音。这是 PiDog V2 的正常行为。