使用小龙虾来操作猿编程的遥控车摘要给孩子报的猿编程Python C1的课程最近学到了用Python来控制组装的遥控车。正赶上最近OpenClaw很火很多人都用它来做很多你想不到的事情所以我就想是否可以用小龙虾来操作这个遥控车呢龙虾就位我自己已经有一个部署好了的OpenClaw为了省钱购买的火山引擎Coding Plan。比较幸运的是正赶上最近腾讯的小龙虾QClaw也上线了我发现其不只部署很容易而且安装技能也很简单甚至每天腾讯都会给几百万的token让你去用。于是给孩子部署了QClaw决定围绕这个平台来做相关的操作。方案研究首先大致研究了下猿编程的遥控车发现其目前尚未暴露出可操作的编程接口所有的包都只能在猿编程的app里面用拿不出来在网上也找不到任何可用的包能在其它IDE里用。这个就很犯难因为OpenClaw必须通过命令CLI的方式来操作所以只能尝试其它简介的方法。方案一最直接的方案以前部分手机都有红外模块可以捕获比如电视和空调的红外信号来充当万能遥控器的功能。那么最直接的方法就是让Python来模拟遥控车的遥控器操作让其python捕获遥控器对应按钮的信号然后再发给遥控车。然而目前的电脑不像2000年那阵的电脑基本都没有现成的红外硬件。查了下可以在网上买那种外接的红外模块虽然不是很贵但实在是懒得折腾了更主要的是买来的硬件是否是python能调用的那种还需要不断的去尝试。方案二小龙虾直接操作屏幕于是开始尝试第二种方法通过Python来操作GUI让Python有能力去点击我指定屏幕上的某个按钮的能力然后再将这个封装成SKILL让小龙虾来依次点击相应的按钮来模拟孩子在猿编程app里写代码并且运行。于是打开AI IDE让AI来帮我生成能操作GUI的方法这个过程中我了解到可以用pyautogui以及openCV。于是测试了一下比如让其点击猿编程界面的一个按钮发现识别误差太大比如我测试让它去点击猿编程app左面的赛考按钮结果它总是错误的点击到学习或者创作的按钮上。后续也尝试了其它开源方案比如easyocr他可以识别屏幕上所有文字的位置然后通过这个位置来计算出鼠标应该具体去点击屏幕的哪个位置测试了下精准度没问题但容易产生的问题是按钮上的文字可能在其它位置也出现了这样就容易导致按钮位置识别的失败。最主要的是通过OCR的方式代码会异常的复杂孩子目前还无法参与并且理解这个过程。所以我开始尝试其它的方法毕竟这个过程想让孩子参与进来所以绝对不能过于复杂。方案三越简单越好最终我想到了一个方案具体是这么拆解的。让孩子在猿编程里提前写好控制遥控车的代码在界面里输入1车就前进输入2车就后退。这样后续我们只要有另外一个独立的Python代码来往这个界面里输入1或者2就可以间接的实现了。这段代码测试好之后直接封装成龙虾的SKILL。其实这个python控制键盘的代码我也不会写不过我们有AI IDE在AI IDE里我和孩子们可以把需求告诉AI然后让AI来帮我们生成。这次的方案拆解使得这部分的控制代码异常的简单和简洁。跟孩子一起快速的测试成功后接下来的就是需要让小龙虾也可以这么操作而方法就是把Python写成小龙虾的SKILL。这是一个繁琐的过程好在我们有AI我和孩子们直接给AI下指令让它把这段Python代码直接转换成小龙虾的SKILL然后回到小龙虾那里直接命令小龙虾安装这个技能。到这里整体编程的工作就完成了。最后激活猿编程的app, 运行孩子写的代码然后用手机打开我的飞书它已经连接好了小龙虾在飞书里下达指令遥控车前进。终于我们的遥控车得到指令开始前进了。总结条条大道通罗马当一条路发现不适合我们或者压根走不通的时候我们就要努力的去寻找另外一条适合我们的路。这条路上不可能由我去实现所有的一切所以找到一条路能让孩子们也能参与进来用他们学到的东西参与进来这个是最重要的。更重要的是在这个过程中让他们巩固了学到的知识并且真正了解了AI而且认识到AI原来可以帮我们做这么多事情。相应的演示视频可以在B站的这里查看https://www.bilibili.com/video/BV1zQQUBYEyC/?spm_id_from333.337.search-card.all.click相关代码分享以下是小朋友写的代码结合目前C1的课程里他们学到的。# 猿编程 app部分的代码 import ybc_robot import time mybc_robot.Motor(S1) while True: i input() if i1: m.run(10) time.sleep(1) m.run(0) print(Forward) else: m.run(-10) time.sleep(1) m.run(0) print(Backard)以下是给小龙虾安装的SKILL。现在AI里生成Python代码测试成功后再让AI封装成如下的SKILL。--- name: remote-car-control description: Controls a remote car using keyboard inputs. Invoke when user wants to control a remote car with前进 (forward) and 后退 (backward) commands. --- # 遥控车控制技能 ## 功能描述 此技能用于控制遥控车通过模拟键盘输入来实现前进和后退操作。 ## 实现原理 - **前进**模拟键盘输入 1 然后按回车键 - **后退**模拟键盘输入 2 然后按回车键 ## 使用方法 当用户需要控制遥控车时可以使用以下命令 - 控制遥控车前进调用 press_1_and_enter() 方法 - 控制遥控车后退调用 press_2_and_enter() 方法 ## 代码实现 python import pyautogui import time def press_1_and_enter(): 模拟键盘输入 1 然后回车用于控制遥控车前进 print( 正在模拟输入 1 并回车...) # 小延迟确保操作可靠 time.sleep(0.5) # 输入数字 1 pyautogui.press(1) print(✅ 已输入: 1) # 小延迟 time.sleep(0.2) # 按回车键 pyautogui.press(enter) print(✅ 已按回车键) # 小延迟 time.sleep(0.5) print(✅ 操作完成: 输入 1 并回车) def press_2_and_enter(): 模拟键盘输入 2 然后回车用于控制遥控车后退 print( 正在模拟输入 2 并回车...) # 小延迟确保操作可靠 time.sleep(0.5) # 输入数字 2 pyautogui.press(2) print(✅ 已输入: 2) # 小延迟 time.sleep(0.2) # 按回车键 pyautogui.press(enter) print(✅ 已按回车键) # 小延迟 time.sleep(0.5) print(✅ 操作完成: 输入 2 并回车) ## 依赖项 - pyautogui用于模拟键盘输入 - time用于添加适当的延迟 ## 安装依赖 bash pip install pyautogui ## 注意事项 1. 确保在运行此技能时焦点在正确的应用程序窗口上 2. 操作之间添加了适当的延迟以确保命令能够正确执行 3. 此技能通过模拟键盘输入来控制遥控车具体效果取决于遥控车的控制软件如何响应这些输入