固件升级命令行工具操作说明
1. 简介
通过命令行实现固件升级操作。用户可以通过简单的命令行参数,指定固件文件路径、目标机器人节点、升级的固件版本等进行操作。工具能够处理特定节点的固件升级,并提供错误反馈机制,以确保用户及时了解升级过程中可能发生的问题。
本工具支持在 Linux 和 Windows 环境下运行,用户只需根据操作系统的不同,选择相应的执行文件。
2. 命令行选项和参数
选项 | 说明 | 示例 | |
---|---|---|---|
-h\ | --help | 显示帮助信息。介绍所有可用选项和参数的详细说明。 | -h |
-f\ | --file | 指定固件文件的路径。此参数为必填项,且所指定的固件文件必须存在于控制柜中。 | -f /tmp/firmware_update-1.0.42-rc.10+9030ebb.firm |
-n\ | --node | 指定要升级的节点。节点名称以逗号分隔,示例中的master_mcu、slave_mcu、joint1、joint2、joint3、joint4、joint5、joint6、base和tool分别代表机器人的主板、从板、关节1、关节2、关节3、关节4、关节5、关节6、基座和工具节点。all表示所有节点都会进行升级。 | -n master_mcu,slave_mcu,joint1,joint2,joint3,joint4,joint5,joint6,base,tool |
-i\ | --ip | 设置目标机器人的IP地址。 | -i 192.168.1.46 |
-F\ | --force | 强制所有节点升级到指定的目标版本。即使某些节点已经处于该版本。 | -F |
3. 升级前准备
- SDK 开发包:
- 下载链接 Index of /sdk (aubo-robotics.cn)
- 注意:需要安装 v0.25.0-rc.1 及以上的版本
- 下载固件安装包 .firm 文件,并拷贝到控制柜目录中:
4. 运行操作
4.1 Linux 环境下的操作
操作步骤如下:
打开终端,转到SDK开发包的 bin 目录下
运行 firmware_install,输入下面命令
./firmware_install -h
输出结果如下图所示,说明运行成功
4.2 Windows 环境下的操作
操作步骤如下:
打开 CMD,转到SDK开发包的 bin 目录下
输入下面命令
set PATH=..\lib;%PATH%
运行 firmware_install.exe,输入下面命令
firmware_install.exe -h
输出结果如下图所示,说明运行成功
5. 升级命令示例
5.1 Linux 环境
假定机器人的 IP 地址为 172.16.26.203,固件安装包 .firm 文件在控制柜的目录为 /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm。
带校验版本地升级节点:在升级该节点前,会先判断当前版本和目标版本是否相同,如果相同就不升级该节点。
强制(不带版本校验)地升级所有的固件节点:在升级该节点前,不会先判断当前版本和目标版本是否相同,直接强制升级。
5.1.1 示例1:带版本校验地升级所有的固件节点
升级命令:
./firmware_install -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n all
5.1.2 示例2:强制(不带版本校验)地升级所有的固件节点
升级命令:
./firmware_install -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n all!
5.1.3 示例3:带版本校验地升级特定的固件节点
如果只升级主板节点,则升级命令如下:
./firmware_install -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n master_mcu
5.1.4 示例4:强制(不带版本校验)地升级特定的固件节点
升级命令:
./firmware_install -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n master_mcu!
5.2 Windows 环境
假定机器人的 IP 地址为 172.16.26.203,固件安装包 .firm 文件在控制柜的目录为 /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm。
带校验版本地升级节点:在升级该节点前,会先判断当前版本和目标版本是否相同,如果相同就不升级该节点。
强制(不带版本校验)地升级所有的固件节点:在升级该节点前,不会先判断当前版本和目标版本是否相同,直接强制升级。
5.2.1 示例1:带版本校验地升级所有的固件节点
升级命令:
firmware_install.exe -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n all
5.2.2 示例2:强制(不带版本校验)地升级所有的固件节点
升级命令:
firmware_install.exe -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n all!
5.2.3 示例3:带版本校验地升级特定的固件节点
如果只升级主板节点,则升级命令如下:
firmware_install.exe -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n master_mcu
5.2.4 示例4:强制(不带版本校验)地升级特定的固件节点
如果只升级主板节点,则升级命令如下:
firmware_install.exe -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n master_mcu!
6. 运行结果
固件升级成功:在终端会打印出
firmware update success
。如下图所示:程序运行失败:在终端会打印出对应的报错信息。下面列举出运行失败的情况:
- RPC 连接失败:打印
rpc connect error, reconnect now
- RPC 登录失败:打印
rpc login error
- 未提供固件安装包路径:打印
firmware update ERROR! please enter the - f parameter
- 固件升级请求失败:打印
update firmware error!ret :
- 固件升级失败:打印
firmware update failed!
- 获取固件升级进度失败:打印
getFirmwareUpdateProcess error
- 固件安装失败:打印
firmware update failed
- RPC 连接失败:打印