|
|
本帖最后由 yaoting38 于 2026-9-26 11:08 编辑
分享我使用铁塔拓邦BMS主板遇到的问题,我本来使用 BMS Tool v1.55、v1.59 设置参数时,会提示“设置失败”。遇到这种情况根据论坛资料搜索到可以换用附件中的 BMS Tool 3.35 版本尝试。本工具仅供使用同款配套主板的用户调试设备。管理员密码:PASSWORD
附我保护板bms实拍:
使用方法- 下载并安装附件中的 BMS Tool 3.35。
- 打开软件,查看并复制“本机序列码”。
- 将下面的代码保存为 register.py。
- 在脚本所在目录打开 PowerShell。
- 输入以下命令生成对应的用户zhuce码:
- py -3 .\register.py 你的本机序列码例如:
- py -3 .\register.py ABCD12345678如果软件还显示了 pollCode,可以使用:
- py -3 .\register.py 你的本机序列码 pollCode示例:
- py -3 .\register.py ABCD12345678 00000000Python 脚本import sysdef crc16(data): if not data: return 0 value = 0xFFFF for byte in data: value ^= byte for _ in range(8): if value & 1: value = (value >> 1) ^ 0xA001 else: value >>= 1 return valuedef generate_mac_password(serial_number): data = bytearray(serial_number.encode("ascii")) value = crc16(data) text = f"{value * 7:04X}" return text[-4:]def generate_password(serial_number, index): base_password = generate_mac_password(serial_number) text = base_password + f"{index:02X}" checksum = crc16(bytearray(text.encode("ascii"))) return text + f"{checksum & 0xFF:02X}"def main(): if len(sys.argv) not in (2, 3): print(f"用法: py -3 {sys.argv[0]} <本机序列码> [pollCode]") return 1 serial_number = sys.argv[1].strip() poll_code = sys.argv[2].strip() if len(sys.argv) == 3 else "00000000" if len(poll_code) < 6: print("错误:pollCode 长度不能少于 6 位") return 2 try: index = int(poll_code[4:6], 16) except ValueError: print("错误:pollCode 的第 5、6 位必须是十六进制字符") return 2 registration_code = generate_password(serial_number, index) print(f"本机序列码:{serial_number}") print(f"对应用户注册码:{registration_code}") return 0if __name__ == "__main__": raise SystemExit(main())运行成功后会显示:
- 本机序列码:XXXXXXXXXXXX对应用户注册码:XXXXXXXX将生成的用户注册码填写到 BMS Tool 3.35 的注册界面即可。
复制代码
常见问题:如果输入 python 或 python3 没有反应,请改用:
py -3 .\register.py 你的本机序列码如果提示找不到 py,需要先安装 Python 3,并在安装时勾选 Python Launcher。
如果终端中文乱码,可以先运行:
$env:PYTHONUTF8="1"然后重新运行注册脚本。
提醒:修改保护参数前建议记录原始配置。写入完成后重新读取一次,确认参数已经正确保存。不同主板型号的参数范围可能不同,请勿直接照搬其他型号的配置。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|