.. _picrawler_skill: .. start_using_picrawler 21. 使用 OpenClaw 控制 PiCrawler =================================== **什么是 OpenClaw?** 您可以将其视为 ChatGPT 的升级版。传统聊天机器人只能说话(生成文本),而 OpenClaw 可以采取行动。它能理解您的自然语言指令,并在计算机上实际执行 操作,如运行命令、管理文件和调用各种工具。 以下是一些精彩的应用场景: * **个人全能助手:** 让它帮您管理日程、设置提醒和跟踪任务。您只需在聊天应用 (如 Telegram、WhatsApp)中告诉它,它就能记住并执行。 * **自动化"粘合剂":** 它可以充当各种服务的粘合剂。例如,让它监控网站价格 变化,一旦检测到降价,自动触发 n8n 自动化工作流向您发送邮件通知。 * **专属开发助手:** 让它管理服务器、运行脚本、检查日志。您只需说"帮我检查 系统负载",它就能 SSH 到服务器执行命令并返回结果。 * **硬件"玩伴":** 这是一个非常有趣的用例。您可以让 OpenClaw 控制连接在 树莓派上的硬件。例如,有开发者用它控制带机械臂的扫地机器人,甚至分析赛车 模拟器数据并显示在 LED 屏幕上。树莓派官方团队甚至仅通过对话就为一场婚礼 搭建了自动拍照亭,一行代码都没写! .. important:: 树莓派 Zero 2W 只有 512MB 内存,而 OpenClaw 最低需要 1GB。因此无法正常 运行。建议使用树莓派 4/5 或更高版本。 OpenClaw 快速入门 ------------------- 如果想尽快体验 OpenClaw 的强大功能,请使用此方法。它将自动安装 OpenClaw 并启动交互式设置向导。 1. 在树莓派上打开终端,直接运行以下命令。该命令从官网下载安装脚本并执行: .. code-block:: bash curl -fsSL https://openclaw.ai/install.sh | bash .. note:: 由于新版本更新很快,您的安装步骤可能略有不同,这是正常的。 2. 脚本将自动下载并安装 OpenClaw。 .. image:: /img/openclaw/install_open_claw.png 3. 您将看到安全提示,询问是否信任 OpenClaw。确认安全可靠后,使用箭头键 导航到"Yes"并按 Enter。 .. image:: /img/openclaw/security_open_claw.png 4. 选择 Quick Start,然后按 Enter。 .. image:: /img/openclaw/quickstart_open_claw.png 5. 选择您的模型,然后按 Enter。这里以 OpenAI 为例。 .. image:: /img/openclaw/model_provider_open_claw.png 6. 选择 OpenAI API Key。 .. image:: /img/openclaw/api_key_open_claw.png 7. 现在粘贴 API 密钥。 .. image:: /img/openclaw/paste_api_key_open_claw.png 8. 前往 |link_openai_platform| 并登录。在 **API keys** 页面,点击 **Create new secret key**。 .. image:: /img/openclaw/llm_openai_create.png 9. 填写详细信息,然后点击 **Create secret key**。 .. image:: /img/openclaw/llm_openai_create_confirm.png 10. 密钥创建后立即复制 — 您将无法再次查看。如果丢失,需要生成新的。 .. image:: /img/openclaw/llm_openai_copy.png 11. 将密钥粘贴到 OpenClaw 配置中。 .. image:: /img/openclaw/paste_api_key_enter_open_claw.png 12. 选择要使用的模型。本例使用 **Keep current**。 .. image:: /img/openclaw/model_config_open_claw.png 13. 接下来是频道选择。频道指 OpenClaw 支持的通信服务,如 Telegram、 WhatsApp、Discord 等。使用下箭头选择"Skip for now",按 Enter。 .. image:: /img/openclaw/channel_open_claw.png 14. 接下来提示立即配置技能。选择"Yes"并按 Enter。 .. image:: /img/openclaw/config_skill_open_claw.png 15. 安装所需技能。下例中选择"Skip for now"(按空格键选择),按 Enter。 .. image:: /img/openclaw/install_skill_open_claw.png 16. 接下来是 Hooks;选择"command-logger"和"session-memory"。 .. image:: /img/openclaw/hooks2_open_claw.png 17. 安装完成。选择"Hatch in TUI"并按 Enter 启动 OpenClaw。 .. image:: /img/openclaw/hatch_open_claw.png .. note:: 输入以下命令启动 OpenClaw: .. code-block:: bash openclaw tui 按两次 Ctrl+C 可退出 TUI 界面。 ------------------------------------------------------------------------ 让 OpenClaw 操控 PiCrawler ------------------------------ **什么是 PiCrawler Skill?** PiCrawler Skill 是 OpenClaw 的扩展,让您通过自然语言控制 SunFounder PiCrawler 机器人蜘蛛。无需编写 Python 脚本或记住坐标值,只需告诉 OpenClaw 您想要 PiCrawler 做什么 — 如"站起来"、"向前走三步"或"检查 前方是否有障碍物" — OpenClaw 将自动执行相应的 Python 代码。 您可以做以下事情: * **基本动作:** 前进、后退、左/右转、小角度转弯 * **姿态:** 站立、坐下 * **表情动作:** 挥动前腿、跳舞、俯卧撑、环顾四周 * **传感器:** 读取超声波距离传感器检测障碍物 * **声音:** 通过机器人扬声器播放音效和音乐 * **摄像头视觉:** 拍照、人脸检测、颜色跟踪、二维码和手势识别 ---------------------------------------------------------------- 前提条件 -------- 在使用 PiCrawler Skill 之前,请确保: 1. **PiCrawler** 已正确组装并连接到树莓派 2. **OpenClaw** 已安装并运行 3. 已安装以下 Python 库:``picrawler``、``robot_hat``、``vilib`` 验证安装: .. code-block:: bash python3 -c "import picrawler" 如果命令无错误运行,即可继续。 ---------------------------------------------------------------- 安装 PiCrawler Skill ---------------------- 1. **复制 PiCrawler 技能文件** 到 OpenClaw 技能目录: .. code-block:: bash cp -r ~/picrawler/picrawler-control ~/.openclaw/workspace/skills/ 2. **验证安装**: .. code-block:: bash ls ~/.openclaw/workspace/skills/picrawler-control/ 应看到 ``SKILL.md``、``install.sh``、``scripts/`` 和 ``references/``。 ---------------------------------------------------------------- 从命令行测试 PiCrawler Skill ------------------------------ **检查超声波距离:** .. code-block:: bash python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py sensor distance **让 PiCrawler 坐下/站立:** .. code-block:: bash python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose sit --speed 40 python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose stand --speed 40 **前进/转弯:** .. code-block:: bash python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py move forward --steps 2 --speed 60 python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py move "turn left" --steps 1 --speed 60 **播放音效:** .. code-block:: bash python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py sound play /home/pi/picrawler/examples/sounds/talk1.wav --volume 80 **舵机校准:** .. code-block:: bash python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py calibrate ---------------------------------------------------------------- 在 OpenClaw 中使用 PiCrawler Skill ---------------------------------------- 1. **启动 OpenClaw TUI**:``openclaw tui`` 2. **发送自然语言命令**,例如:"站起来"、"向前走三步"、"跳个舞"、"拍照"、"检测人脸"等 3. OpenClaw 自动将请求翻译为 Python 代码并在 PiCrawler 上执行 ---------------------------------------------------------------- 可用动作和命令 ----------------- **移动** (``pc.py move``):``forward``、``backward``、``turn left``、 ``turn right``、``turn left angle``、``turn right angle`` **姿态** (``pc.py pose``):``stand``、``sit`` **额外动作**:``dance``、``push_up``、``wave``、``look_left``、 ``look_right``、``look_up``、``look_down`` **传感器**:``sensor distance`` — 读取超声波距离(返回厘米) **声音** (``pc.py sound``):``sound play <文件>``、``sound music <文件>``、 ``sound volume <0-100>``、``sound stop`` **摄像头视觉**:拍照、人脸检测、颜色检测、手势识别、交通标志检测、QR 码扫描 ---------------------------------------------------------------- 故障排除 ---------- **OpenClaw 问题** - ``openclaw: command not found`` → 运行 ``echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc`` - ``not connected to gateway`` → 另开终端运行 ``openclaw gateway``,然后重启 TUI - 无法操控系统 → 编辑 ``~/.openclaw/openclaw.json``,将 ``tools.profile`` 设为 ``"coding"``,``tools.exec.security`` 设为 ``"full"``,然后 ``openclaw gateway restart`` **PiCrawler 问题** - 不响应命令 → 检查连接和电源,然后测试 ``pc.py pose sit --speed 40`` - ``import picrawler`` 失败 → 运行 ``bash ~/.openclaw/workspace/skills/picrawler-control/install.sh`` - OpenClaw 不识别技能 → 在 TUI 中说 *"Please rsync my skills"* 或重启 gateway - 动作不稳定 → 降低速度参数(如 ``--speed 40``)或在连续命令间添加短暂延迟 ---------------------------------------------------------------- .. end_using_picrawler