为BiBoard上传程序
本章节内容面向具有编程经验的高级用户。
1. 阅读快速上手指南
BiBoard 各功能模块具体参数,请根据主板型号,参考相关技术文档。
2. 下载和安装软件环境
2.1 准备ESP32开发环境
详情请参考 BiBoard V0 快速上手指南第3.2.1 章节。
2.2 修改库代码文件
sdkconfig.h
Windows 路径:
C:\Users\{username}\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.*\tools\sdk\esp32\qio_qspi\include\sdkconfig.h
Mac 路径:
/Users/{username}/Library/Arduino15/packages/esp32/hardware/esp32/2.0.*/tools/sdk/esp32/qio_qspi/include/sdkconfig.h
在文档最后追加一行代码:
2.3 配置开发板参数
请参考下图中选项列表设置主板的上传速度(Upload Speed)、CPU 频率(CPU Frequency)等参数。 选项中关于 Flash Size 和 Partition Scheme 的设置,请参阅下一节。
2.4 设置硬件分区方案
BiBoard V0 使用带有 16M 闪存的 ESP32。为简化起见,您可以使用默认的 4 MB 分区参数,因为这个配置方案目前已有足够的空间用来上传OpenCatEsp32 固件。
BiBoard V1 使用带有 4M 闪存的 ESP32。
4MB 分区方案
您可以使用默认的带有 spiffs 4MB分区方案。您也可以使用 4 MB 闪存限制下的其他分区方案,例如“无 OTA”或“Huge APP”。
16MB 分区方案
如果您想充分利用 BiBoard 的 16 MB 闪存(这是不必要的,并且需要更长的上传时间)。您可以阅读 Arduino IDE增加硬件分区配置选项。
2.5 下载OpenCatEsp32代码包并安装库文件
我们一直将代码更新为一个开源项目。您可以加星标并关注我们的GitHub代码仓库以获取最新功能和错误修复。您还可以与全球OpenCatEsp32用户共享代码。
欢迎提交代码!
从GitHub下载最新的OpenCatEsp32代码包:https://github.com/PetoiCamp/OpenCatEsp32。 建议使用GitHub桌面应用程序进行版本控制。否则,请确保每次下载全部的OpenCatEsp32代码压缩包。所有代码文件必须在同一版本中,才能正常编译使用。
解压缩代码压缩包(zip文件)。 解压缩后将获得一个OpenCatEsp32-main文件夹。您需要在打开OpenCatEsp32.ino之前,将其重命名为OpenCatEsp32(Arduino IDE 要求工程项目代码文件必须放在同名文件夹中)。
无论您将文件夹保存在何处,文件结构应如下图所示:
ModuleTests文件夹中有几个名为testX(X代表功能模块,比如蜂鸣器Buzzer,陀螺仪MPU).ino的代码。您可以上传它们分别测试对应模块的功能。打开任何带有前缀“ test”的testX.ino的工程。 (建议您使用testBuzzer.ino作为第一个测试项目)。
在库管理器中安装最新版本的库文件(ArduinoJson)。
2.6 使用USB type-C数据线连接电脑与主板
连接成功后,可以在工具菜单下查看串口名称(如下图所示):
如果连接到电脑后找不到对应的串口名称,可以尝试通过以下几种方式解决问题:
如果连接到电脑后找不到对应的串口名称,可以尝试通过以下几种方式解决问题:
对于 BiBoard V0: 您需要下载安装 CP210x 芯片的驱动程序。
对于 BiBoard V1: 您需要按如下方式下载安装驱动程序:
如果主板使用电池供电,请长按电池上的按钮 >=3 秒关闭主板电源,这样主板仅通过 USB 数据线供电,并且只有蓝色 LED 亮起。
2.7 编译并上传程序
在OpenCatEsp32.ino文件中,根据您所使用的设备类型,修改设备类型宏定义。
根据您所使用的主板的型号,修改主板型号宏定义。
如果机器人带有机械臂(Bittle R),您还应该激活以下宏定义:
否则,请注释此行代码。
修改完成后,点击上传按钮(如下图所示)上传程序,代码中的更改部分会自动保存。
2.8 程序初始化
如果当前上传程序代码的版本日期比机器人主板固件的版本日期更新时,程序上传完成后,会自动进入初始化启动模式。
您可以在源代码文件(OpenCatEsp32/src/OpenCat.h)中查看当前上传程序代码的版本日期:
#define DATE "250218" // YYMMDD
您可以在串口监视器中,发送串口命令 “?” (英文字符) 查看机器人主板固件的版本日期:
在主板上电启动时,打开串口监视器,您将看到相关的启动信息:
如果您打开串口监视器后,没有看到相关启动信息,请短按一下主板上的复位(Reset)按钮。
接下来您将看到以下提示问题:
发送英文字符“Y”,把所有舵机的修正值归零。
发送英文字符“n”, 跳过此步骤。
如您需保留之前的关节校准数据,请发送英文字符“‘n’。
发送英文字符“Y”,校准 IMU(陀螺仪/加速度计传感器)。
发送英文字符“n”, 跳过此步骤。
如您需保留之前的校准陀螺仪数据,请发送英文字符“‘n’。
将BiBoard平放在水平桌面上,校准时不要触摸它。
有时程序可能会在连接阶段中止。 您可以关闭串口监视器并重新打开它,或按 BiBoard 上的复位(Reset)按钮,重新启动程序。
程序在播放6次音效后开始校准IMU。
发送英文字符“n”, 跳过此步骤。或者您什么也不需要做,程序将在 5 秒后自动跳过此步骤。
与提示问题相关的串口打印信息详情如下:
当看到串口监视器中输出字符串“Ready!”时,程序将进入常规启动模式。
主板在每次上电启动时,通过比对EEPROM 中的BIRTHMARK,判断程序有没有被初始化过。如果程序已被初始化,则不会再次进入初始化启动模式。
注意:主板在上电启动时,常规启动模式与初始化启动模式,播放的音乐旋律是截然不同的。这样方便用户(不需要打开串口监视器),也能识别出主板的启动模式。
如果你需要清除舵机的校准参数,并重新校准关节舵机,或者重新校准IMU,您可以在串口监视器中发送串口命令 “!” (英文字符),程序会重新进入初始化启动模式。
2.9 发送串口命令切换工作模式(选做)
程序默认运行语音模式。如果您想切换模式,请打开串口监视器并发送以下串行命令:
XA
语音模式(默认模式)。对于BiBoard V0主板,需要将扩展板上的拨动开关拨到 Voice command 一侧。
XU
超声波模式。对于BiBoard V0主板,需要将扩展板上的拨动开关拨到 Uart2一侧。
XC
摄像头模式
XL
光强传感器模式
XT
触摸传感器模式
XI
人体移动探测器模式
XG
手势识别传感器模式
XD
红外测距传感器模式
XQ
简单演示模式
XS
开启第二串口(Tx2, Rx2)。 对于BiBoard V0主板,需要将扩展板上的拨动开关拨到 Uart2一侧。
XB
开启背部触摸功能
X
关闭上述所有模式功能
z
开启/关闭机器人随机动作(开启后,每隔一定时间做各种随机动作)
官方模块的行为在 OpenCatEsp32/src 中的单独头文件中定义。您可以在 OpenCatEsp32/src/moduleManager.h -> readSignal() 中找到它们。简单演示模式的行为在 OpenCatEsp32/OpenCatEsp32.ino -> quickDemo() 中定义。您可以研究示例代码来编写您的函数。
您可以通过扩展模块了解每个模块的功能。
2.10 上电开机
长按电池上的电源按钮,保持机器人身体侧立开机(如下图所示),主板程序在常规启动模式下会自动进入关节校准状态。 下图是安装好身体各部件后,机器人进入关节校准状态后的身体姿态。
当机器人上电时,身体正放(背部朝上),主板程序在常规启动模式下,机器人将从“休息”姿势(四肢收缩,并且所有舵机处于释放状态)启动。
3. 使用移动App操控
BiBoard 内置蓝牙,您可以将其与移动App (Petoi) 连接,进行关节校准 与 遥控。
您可以在 ChangeLog.md 中查阅程序更新历史信息。
Last updated
Was this helpful?