Petoi Doc Center
🇨🇳中文版
🇨🇳中文版
  • 欢迎查阅派拓艺文档中心
  • 快速上手指南
  • Petoi 机器人关节序号
  • 蓝牙连接
  • 上传固件
  • 关节校准
  • 红外遥控
    • 遥控器
  • 手机应用
    • 总览
    • 关节校准
    • 控制面板
  • 桌面应用
    • 总览
    • 固件上载
    • 关节校准
    • 技能创作坊
    • 调试器
  • 图形化编程
    • Petoi 编程积木
    • Mind+中的Python代码模式
    • Arduino UNO 编程积木
  • Arduino IDE
    • 为NyBoard上传程序
    • 为BiBoard上传程序
    • 使用Arduino IDE校准舵机
    • 串口监视器
  • API
    • 🖇️串口协议
    • 🐍Python serialMaster使用指南
    • 🐛MicroPython控制器
      • MicroPython上手玩
      • 配置WebREPL
      • 使用ESP-NOW协议
    • 🍓通过树莓派控制机器人
    • 🤖ROS
  • NYBOARD
    • 总述
    • NyBoard V1_0
    • NyBoard V1_1 & NyBoard V1_2
  • BiBoard
    • BiBoard V0 快速上手指南
    • 例程介绍
      • 1. GPIO例程
      • 2. 串口
      • 3. 模拟-数字转换器
      • 4. 数字-模拟转换器
      • 5. EEPROM(电擦除存储器)
      • 6. 陀螺仪IMU(MPU6050)
      • 7. 红外遥控
      • 8. PWM
      • 9. 舵机(施工)
      • 10. 经典蓝牙串口SPP
      • 11. 蓝牙低功耗(BLE)串口透传
      • 12. 文件系统SPIFFS
      • 13. Arduino IDE增加硬件分区配置选项
      • 14. 播放MP3
      • 15. WiFi和OTA的使用
    • BiBoard V1 用户指南
  • 通信模块
    • 通信模块概要说明
    • USB上载模块(CH340C)
    • 双模蓝牙模块
    • WiFi模块(ESP8266)
      • 使用ESP8266 + Python 脚本实现无线群控
  • 扩展模块
    • 扩展模块概要说明
    • MU摄像头模块
    • 超声波传感器
    • 光强传感器
    • 触摸传感器
    • 手势传感器
    • 人体移动探测器
    • 语音指令模块
    • Petoi AI Vision摄像头模块
    • 深度开发应用AI视觉模块
      • 🏋️模型训练
      • ⚖️模型量化
      • 🏌️模型部署
      • COCO数据集DIY训练
    • 机械臂
      • 升级旧款 Bittle/Bittle X
    • Micro:bit 游戏手柄
  • 应用实例
    • 技能创作
    • 姿势模仿教程
    • 可编程木偶角色
  • 历史文档
    • 为NyBoard上传1.0版本程序
  • 技术支持
    • 🛠️配套应用软件
    • 🙋‍♂️常见问题 (FAQ)
    • 烧录Bootloader
  • 资源链接 🕸
    • 🔭Official Site of Petoi
    • 💿GitHub of OpenCat
    • 📀GitHub of OpenCatEsp32
    • 🎪PetoiCamp (Forum)
Powered by GitBook
On this page
  • 1. 阅读快速上手指南
  • 2. 下载和安装软件环境
  • 2.1 准备ESP32开发环境
  • 2.2 修改库代码文件
  • 2.3 配置开发板参数
  • 2.4 设置硬件分区方案
  • 2.5 下载OpenCatEsp32代码包并安装库文件
  • 2.6 使用USB type-C数据线连接电脑与主板
  • 2.7 编译并上传程序
  • 2.8 程序初始化
  • 2.9 发送串口命令切换工作模式(选做)
  • 2.10 上电开机
  • 3. 使用移动App操控

Was this helpful?

Export as PDF
  1. Arduino IDE

为BiBoard上传程序

本章节内容面向具有编程经验的高级用户。

Previous为NyBoard上传程序Next使用Arduino IDE校准舵机

Last updated 28 days ago

Was this helpful?

1. 阅读快速上手指南

BiBoard 各功能模块具体参数,请根据主板型号,参考相关技术文档。

2. 下载和安装软件环境

2.1 准备ESP32开发环境

详情请参考 BiBoard V0 快速上手指南。

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

在文档最后追加一行代码:

#define CONFIG_DISABLE_HAL_LOCKS 1

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 分区方案

2.5 下载OpenCatEsp32代码包并安装库文件

我们一直将代码更新为一个开源项目。您可以加星标并关注我们的GitHub代码仓库以获取最新功能和错误修复。您还可以与全球OpenCatEsp32用户共享代码。

欢迎提交代码!

  1. 解压缩代码压缩包(zip文件)。 解压缩后将获得一个OpenCatEsp32-main文件夹。您需要在打开OpenCatEsp32.ino之前,将其重命名为OpenCatEsp32(Arduino IDE 要求工程项目代码文件必须放在同名文件夹中)。

无论您将文件夹保存在何处,文件结构应如下图所示:

  • ModuleTests文件夹中有几个名为testX(X代表功能模块,比如蜂鸣器Buzzer,陀螺仪MPU).ino的代码。您可以上传它们分别测试对应模块的功能。打开任何带有前缀“ test”的testX.ino的工程。 (建议您使用testBuzzer.ino作为第一个测试项目)。

  1. b. 安装最新版本的ArduinoJson

2.6 使用USB type-C数据线连接电脑与主板

连接成功后,可以在工具菜单下查看串口名称(如下图所示):

如果连接到电脑后找不到对应的串口名称,可以尝试通过以下几种方式解决问题:

如果连接到电脑后找不到对应的串口名称,可以尝试通过以下几种方式解决问题:

  • 对于 BiBoard V1: 您需要按如下方式下载安装驱动程序:

  • 如果主板使用电池供电,请长按电池上的按钮 >=3 秒关闭主板电源,这样主板仅通过 USB 数据线供电,并且只有蓝色 LED 亮起。

2.7 编译并上传程序

在OpenCatEsp32.ino文件中,根据您所使用的设备类型,修改设备类型宏定义。

#define BITTLE    //Petoi 9 DOF robot dog: 1 on head + 8 on leg
//#define NYBBLE  //Petoi 11 DOF robot cat: 2 on head + 1 on tail + 8 on leg
//#define CUB
// #define BiBoard_V0_1  //ESP32 Board with 12 channels of built-in PWM for joints
#define BiBoard_V0_2
// #define BiBoard_V1_0

如果机器人带有机械臂(Bittle X+Arm),您还应该激活以下宏定义:

 #define ROBOT_ARM                 // for attaching head clip arm 

否则,请注释此行代码。

修改完成后,点击上传按钮(如下图所示)上传程序,代码中的更改部分会自动保存。

2.8 程序初始化

如果当前上传程序代码的版本日期比机器人主板固件的版本日期更新时,程序上传完成后,会自动进入初始化启动模式。

  • 您可以在源代码文件(OpenCatEsp32/src/OpenCat.h)中查看当前上传程序代码的版本日期: #define DATE "250218" // YYMMDD

  • 您可以在串口监视器中,发送串口命令 “?” (英文字符) 查看机器人主板固件的版本日期:

在主板上电启动时,打开串口监视器,您将看到相关的启动信息:

ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13964
load:0x40080400,len:3600
entry 0x400805f0
k
Flush the serial buffer...

* Start *
Bittle X
Software version: B02_250121
Scanning I2C network...
- I2C device found at address 0x54:	EEPROM
- I2C device found at address 0x5C:	Misc.
- I2C device found at address 0x68:	MPU6050
- I2C device found at address 0x69:	ICM42670
- I2C device found at address 0x7E:	Misc.
- done
GroveVisionQ	0
MuQ	0
Set up the new board...
Unmute and set volume to 5/10
Using constants from I2C EEPROM
- Name the new robot as: Bittle45

如果您打开串口监视器后,没有看到相关启动信息,请短按一下主板上的复位(Reset)按钮。

接下来您将看到以下提示问题:

Reset the joints' calibration offsets? (Y/n):  // 是否清除所有舵机的校准参数?‌‌
  • 发送英文字符“Y”,把所有舵机的修正值归零。

  • 发送英文字符“n”, 跳过此步骤。

如您需保留之前的关节校准数据,请发送英文字符“‘n’。

- Calibrate the Inertial Measurement Unit (IMU)? (Y/n):  // 是否校准IMU(MPU6050)?
  • 发送英文字符“Y”,校准 IMU(陀螺仪/加速度计传感器)。

  • 发送英文字符“n”, 跳过此步骤。

如您需保留之前的校准陀螺仪数据,请发送英文字符“‘n’。

将BiBoard平放在水平桌面上,校准时不要触摸它。

有时程序可能会在连接阶段中止。 您可以关闭串口监视器并重新打开它,或按 BiBoard 上的复位(Reset)按钮,重新启动程序。

程序在播放6次音效后开始校准IMU。

Run factory quality assurance program? (Y/n)        // 运行工厂质检程序

发送英文字符“n”, 跳过此步骤。或者您什么也不需要做,程序将在 5 秒后自动跳过此步骤。

与提示问题相关的串口打印信息详情如下:

* Start *
Scanning I2C network...
- I2C device found at address 0x54  !
- I2C device found at address 0x68  !
- done
Set up the new board...
// 蓝牙连接时使用的设备名称
- Name the new robot as: BittleED    
Reset the joints' calibration offsets? (Y/n): 
Y
Buzzer volume: 5/10
- Calibrate the Inertial Measurement Unit (IMU)? (Y/n): 
Y

Put the robot FLAT on the table and don't touch it during calibration.

Initializing MPU6050...
OK
If the program stucks, reinstall Arduino ESP32 boards version 2.0.12. Newer version may cause bugs!
- Testing MPU connections...attempt 0
- MPU6050 connection successful
- Initializing DMP...
MPU offsets: 2691	1893	1181	72	-57	0	
Calibrate MPU6050...
>....................>....................
MPU offsets:
//           X Accel  Y Accel  Z Accel   X Gyro   Y Gyro   Z Gyro
//OFFSETS     2759,    1871,    1173,      73,     -56,      -4
- Enabling DMP...
- DMP ready! Waiting for the first interrupt...
BLE:		Bittle45_BLE
Waiting for a BLE client connection to notify...
SSP:		Bittle45_SSP
The SSP device is started, now you can pair it with Bluetooth!
Setup ESP32 PWM servo driver...
Calibrated Zero Position
135	225	135	135	190	80	190	80	190	80	80	190	
Build skill list...88
Run factory quality assurance program? (Y/n)
(Auto skip in 5 seconds)
5...4...3...2...1...n
TaskQ
rest
11
Init voice
Number of customized voice commands on the main board: 
10
Turn on the audio response
Show Petoi Logo color
S,	A,	T,	L,	D,	I,	B,	U,	G,	C,	Q,	
0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	
Ready!
g
rest
d
XAaXAc
Switch English

当看到串口监视器中输出字符串“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 的 16 MB 闪存(这是不必要的,并且需要更长的上传时间)。您可以阅读 。

从GitHub下载最新的OpenCatEsp32代码包:。 建议使用GitHub桌面应用程序进行版本控制。否则,请确保每次下载全部的OpenCatEsp32代码压缩包。所有代码文件必须在同一版本中,才能正常编译使用。

安装库文件 a. 下载 并将其加载到您的 Arduino IDE 中

对于 BiBoard V0: 您需要下载安装 。

Windows:

Mac:

根据您所使用的主板的,修改主板型号宏定义。

请打开串口监视器,并将参数设置为 115200 波特率 并且 没有结束符。

您可以通过了解每个模块的功能。

详细的关节校准流程请参考 和 。

BiBoard 内置蓝牙,您可以将其与移动App () 连接,进行 与 。

您可以在 中查阅程序更新历史信息。

Arduino IDE增加硬件分区配置选项
https://github.com/PetoiCamp/OpenCatEsp32
MU Vision Sensor库
CP210x 芯片的驱动程序
https://www.wch.cn/downloads/CH343SER_EXE.html
https://www.wch.cn/downloads/CH34XSER_MAC_ZIP.html
扩展模块
第5章🔌连线
第6章📐校准
Petoi
关节校准
遥控
ChangeLog.md
BiBoard V0 快速上手指南
BiBoard V1 用户指南
型号
第3.2.1 章节