固件上载

本指南适用于初学者。 让您更轻松地开始使用机器人(Nybble / Bittle)。

** 下载最新版的桌面应用程序 Petoi Desktop App **

  • 下载完成压缩文件(.zip)后,请对其解压缩后再使用。

  • Windows用户,请不要将 UI.exe 移动到其他文件目录。

电脑端桌面应用程序 Petoi Desktop App 适用于 机器人 Nybble 和 Bittle,机器人主板 NyBoard采用Arduino UNO ATmega328P主控芯片, 主板 BiBoard 采用 ESP32 主控芯片。

关于NyBoard更详细的规格参数请参考 NyBoard V1_0NyBoard V1_1 或 NyBoard V1_2 (电子原件布局与 NyBoard V1_2 相似)。

关于BiBoard更详细的规格参数请参考 BiBoard V0 快速上手指南

  • NyBoard

NyBoard 主板型号

NyBoard 主板型号(版本信息),请见主板上的丝印。

NyBoard V1_1 主板型号(版本信息),可参考图示位置:

将I2C开关(SW2)拨到“Arduino

I2C 开关改变 I2C 设备(陀螺仪/加速度计、伺服驱动器、外部 EEPROM)的主控。 默认“Arduino”时,NyBoard 使用板载 ATmega328P 作为主芯片; 拨到“RPi”端时,NyBoard 使用通过 I2C 端口(SDA、SCL)连接的外部芯片作为主芯片。

注意:

  • 有时,如果您无法启动Bittle / Nybble,比如在串口连续打印:Init IMU\r\n,则可能是您不小心将开关拨到了“RPi”端。

  • 在上传固件前,请确保不要在主板的I2C接口连接任何I2C设备,否则会导致固件上载失败。I2C接口位置如下图示(红框内):

  • BiBoard

BiBoard 主板型号

BiBoard 主板型号(版本信息),可参考图示位置:

在预组装的Bittle / Bittle X上,您可以这样查看BiBoard的版本信息:

使用 Petoi Desktop APP 上载固件

下载最新版桌面应用程序

不同计算机可能存在一些操作系统平台兼容性问题。 但您仍然可以直接从终端(windows: Command Prompt; Linux / Mac OS: Terminal )运行该应用程序:

  1. 在终端中将文件路径切换到 OpenCat/pyUI/。

  2. 为你的 Python3 安装 pyserial,Pillow 。 你也可以创建一个干净的 Anaconda Python3虚拟环境和使用使用命令 pip3 install pyserial Pillow 安装必要的库文件。

  3. 运行 python3 UI.py 命令启动应用程序。

对于NyBoard,固件上传主要是调用应用程序 avrdude 来为主板上传固件文件。

对于BiBoard,固件上传主要是调用应用程序 esptool 来为主板上传固件文件。

Linux系统中安装 avrdude

对于Linux系统用户,除了上述步骤,你还需要执行以下步骤:

1. 安装 avrdude

  • Fedora : dnf install avrdude

  • CentOS : yum install avrdude

  • Debian / Ubuntu : apt install avrdude

2. 修改FirmwareUploader.py中的变量 avrdudeconfPath

  • Fedora / CentOS : avrdudeconfPath = '/etc/avrdude/'

  • Debian / Ubuntu : avrdudeconfPath = '/etc/'

连接USB上载器

具体步骤可参考USB上载模块中连接NyBoard部分。

打开 Petoi Desktop App

USB上载器正确连接后,打开 Petoi Desktop App(Windows:UI.exe / Mac:Petoi Desktop App / Linux: Petoi-opencat),选择 产品 语言

Petoi Desktop App中的菜单栏

产品类型
语言
帮助

法语,日语……等版本还未完成翻译。欢迎为我们的 GitHub 代码仓库做贡献:OpenCat/pyUI/translate.py。

点击“固件上载”按钮

主界面
固件上载器界面

选择正确的选项

注意:1.0 版软件无法与 关节校准技能创作坊 及其他 API 一起正常工作。此版本固件仅在您需要使用 CodeCraft(我们的合作伙伴 TinkerGen 提供的图形化编程工具)时使用。

选项可供选值备注

软件版本

1.0 2.0(默认)

1.0 版本将过时

主板型号

NyBoard_V1_0 NyBoard_V1_1 NyBoard_V1_2(默认) BiBoard_V0_1 BiBoard_V0_2

Bittle X 使用 BiBoard_V0_1 或者 BiBoard_V0_2

产品

Bittle(默认) Nybble Bittle X

模式

标准(默认) 随机 语音 Mind+ 摄像头( Bittle) 超声波(Nybble) 随机_ 超声波(Nybble)

某些模式仅适用于特定产品,当您在产品和主板型号之间切换时,它应该会自动更新允许的模式列表。

串口

自动检测或手动选择

您可以通过重新拔插电脑端的USB接口找到

主板型号(硬件版本)和 软件版本 之间没有任何关联。

固件上载选项按钮

固件上载流程

单击“上传”按钮后,上传过程立即开始。 底部状态栏会实时显示当前进度,以及关键流程的结果。

参数固件上传成功后,主板开始自动运行配置程序。 会依次弹出一些消息窗口供您确认或取消:

  1. 舵机校准参数清零? (Y/N)

选择点击“是(Y)”,程序会将所有舵机校准参数清零,状态栏会实时更新相应的过程和结果。

选择点击“否(N)”,程序将跳过此步骤。

对于 1.0 版本软件,会弹出 “更新技能? (Y/N)” 的警告信息窗口,如下所示:

选择“是(Y)”,程序会更新所有技能配置参数,状态栏会实时更新相应的流程和结果。

选择“否(N)”,程序将跳过此步骤。

如果您是第一次上传这个版本的软件,请务必选择点击 “是(Y)”!

对于 2.0 版本软件 ,此选项会在后台自动处理为 Y。

2. 校准 IMU? (Y/N)

选择点击“是(Y)”,程序会校准陀螺仪(IMU),状态栏会实时更新相应的过程和结果。

选择点击“否(N)”,程序将跳过此步骤。

注意:

  1. 在点击“是(Y)”按钮之前,请确保将 主板 水平放置

  2. 首次上传不同的版本固件时,请务必点击“是(Y)”按钮!

完成所有步骤后,将弹出一个消息窗口,显示“参数初始化完成!” 您需要确认进行第二轮上传主程序固件。

校准舵机驱动芯片

在校准 IMU后有一步可选的操作来校准舵机驱动:

Optional: Connect PWM 3 -> Grove pin A3 to calibrate PCA9685

您可以通过校准舵机驱动芯片(PCA9685 chip)来让角度控制更加精准。用一根跳线连接 PWM 引脚3(舵机控制脚的信号脚之一 )和 Grove 引脚 A3,并把线按稳。

您不需要专门的跳线来完成这一步。任何能连通引脚的细金属线都可以,比如拉直的回形针。

程序会测量信号脉宽,在连续三次测量到相同读数后自动校准芯片。校准修正值会被存入控制板并在下次启动时生效。然后您可以继续进行下一步。

如果机器人的某个舵机停止转动,但将电池断电重启后又能转动,很可能就是因为舵机驱动信号不准,这一步就不可跳过。

主程序固件上传完成后,状态栏会更新固件上传成功或失败等相应结果。 如果上传成功,则会弹出“固件上传完成!”消息窗口。

注意:

  • 首次打开桌面应用软件上传固件时,程序会先上载“参数”固件,再上载“主程序”固件。 如果上载成功后重新上传,只是修改了“模式”选项,应用软件只上载“主程序”固件。

  • 如果 NyBoard 未连接电池或者未打开电源供电,固件上传成功后,您会听到重复的下降旋律,表示电池电量低。 您需要连接电池并打开其电源供电。

如果您有 Arduino IDE 编程经验,可以参考使用 Arduino IDE 上载程序固件。

Last updated