项目>Petoi Bittle X>四条编程路径:Blocks、Web Blocks、C++、Python

四条编程路径:Blocks、Web Blocks、C++、Python

摘要:按自己的目的选一条能跑起来的编程路径,知道 Web Blocks 的 Chrome / 2.4GHz 频段前置条件,以及 Python 脚本在哪个仓库。

四条编程路径怎么选

官方 Control & Programming 页列出的编程入口有:Petoi Web Coding Blocks、Petoi Coding Blocks、Python、C++(Arduino IDE),配合 Petoi Desktop App 做可视化技能搭建,另有 feedback servos 与传感器模块等进阶 API。四条路径的区别主要在三点:要不要装本地软件、要不要连 WiFi、脚本放在哪个仓库。官方提醒:部分教学视频由旧型号机器人录制,setup 环节可能不同,但编程概念通用。

先分清两个仓库

这是动手前最容易被带偏的一步:legacy 仓库星数更高、看上去更像「主仓库」,但官方口径是三分法。

要做的事 用哪个仓库
给 Bittle X V2(BiBoard V1)编译烧录固件 ESP32 仓库 OpenCatEsp32-Quadruped-Robot(current-generation 代码库)
跑 Python API 脚本(OpenCatPythonAPI 目录) legacy 仓库 OpenCat-Quadruped-Robot
查串口协议命令定义(OpenCat.h、InstinctBittle.h 等) 官方 serial-protocol 页与 python-api 页的链接都指向 legacy 仓库

所以不存在「只有一个仓库」:烧录用 ESP32 仓库,Python 脚本在 legacy 仓库的 OpenCatPythonAPI 目录,串口协议两代硬件通用。legacy 仓库 README 开头才补一句「current-gen 硬件请去 ESP32 仓库」——按星数找仓库,是新手最容易走的弯路。

路径一:Petoi Coding Blocks(Mind+ 积木)

  • 装 Mind+:官方推荐 V1.X 而非 V2.X——新版 V2.X 改了大量 UI 与底层驱动,与官方手册不匹配。
  • 导入扩展库:在导入界面粘贴 https://github.com/PetoiCamp/Petoi_MindPlusLib,或下载 *.mpext 文件后导入。
  • 连接:USB Type-C 数据线直连主板,或用主板内置蓝牙。
  • 运行:不需要编译上传,点 Run 在电脑端解释执行、往机器人串口发指令;程序骨架是开串口、控制机器人、关串口。

两个易错点:双击 Mind+ 图标打开时不会自动加载扩展库,每次都要手动重新导入;通过带 mp 或 sb3 后缀的代码文件打开才会自动加载。BiBoard 产品——老款 Bittle X(BiBoard V0)、Bittle X V2(BiBoard V1)等——无需任何软件修改,功能积木默认全支持。

路径二:Petoi Web Coding Blocks(浏览器)

入口二选一:直接访问 code.petoi.com,选语言后进入 Petoi Web Coding Blocks;或下载本地版,解压出 PetoiWebCoding-[version] 文件夹后用 Google Chrome 打开 main.html。有线无线都能连时,官方优先走串口通信以获得更好性能。两个前置条件:

  • 电池必须接好并长按开机:不接电池去连网页或 WiFi 可能失败;连上串口后机器人可能自动重启,等它重启完再操作。
  • 走 WiFi 首次要拆分频段:路由器把 2.4GHz 与 5GHz 拆成两个名字(如 xxx-2.4G / xxx-5G),电脑连 5G、给机器人填 2.4GHz 的 SSID 和密码,大小写敏感;只配一次,机器人会记住。

路径三:C++(Arduino IDE)

入口是 Arduino IDE 加 OpenCatEsp32-Quadruped-Robot 仓库源码:改主 sketch 宏定义、编译、烧录进 BiBoard V1。这是四条路径里唯一要配 IDE 环境的:ESP32 板卡包版本、sdkconfig 修改、板型参数都有硬约束,细节见本项目 Arduino IDE 环境页与烧录页。

路径四:Python

前置:Python ≥ 3.6、pyserial 3.5。官方 Python API 页给的可运行入口:

cd OpenCatPythonAPI
pip install -r requirements.txt
python3 petoiRobotExample.py

脚本启动时自动识别串口名并完成连接。示例脚本 ardSerialExample.py 的 testSchedule 列表演示各命令写法,第二项是命令完成后的延时秒数、可为浮点:

写法 含义
['kup', 2] 站立,2 秒后继续
['m', [0, 45, 0, -45, 0, 45, 0, -45], 2] 关节 0 依次转到 45 / -45 / 45 / -45 度(ASCII 编码、顺序执行)
['i', [8, -15, 9, -20], 2] 关节 8、9 同时转到 -15、-20 度
['c', [0, -9], 2] 进校准模式,关节 0 转 -9 度
['d', 2] 趴下并关闭舵机

大小写语义不同:小写 m / i 把关节索引与角度存成 ASCII 字符串,人可以直接读;大写 M / I 存成二进制字节串,效率更高。

怎么选

你的情况 建议路径
什么都不想装,浏览器里拖积木 Petoi Web Coding Blocks,串口线直连最省事
要跟官方积木课程、要本地工具 Petoi Coding Blocks(Mind+ V1.X)
要改固件行为、做底层扩展 C++(Arduino IDE + ESP32 仓库)
在电脑侧写控制脚本、接自己的算法 Python(legacy 仓库 OpenCatPythonAPI 目录)

资料来源

  • Control and Programming 官方页
  • Python API 官方页
  • Web Coding Blocks 入门官方页
  • OpenCat-Quadruped-Robot README