Skip to content

cuihuir/bmcu_klipper

Repository files navigation

BMCU Klipper 项目

将 Bambu Lab 的 BMCU (AMS 控制器) 集成到 Klipper 3D打印固件的开源项目。

🎯 项目目标

让 Klipper 3D打印机能够使用 Bambu Lab 的 BMCU 硬件进行多色打印,无需依赖原厂固件。

📁 项目结构

bmcu_klipper/
├── src/           # C语言源代码
│   ├── bmcu_comm.c                  # 主要通信工具(交互式菜单)
│   ├── test_ams_lite_init.c        # AMS Lite 设备初始化测试
│   ├── save_raw_stream.c           # 原始数据流抓包工具
│   ├── capture_raw_realtime.c      # 实时数据监听
│   └── ...                         # 其他测试和诊断工具
├── tools/         # Python分析工具
│   ├── analyze_9bit.py             # 9位UART编码分析
│   ├── analyze_capture.py          # 抓包数据分析
│   └── ...                         # 其他Python工具
├── scripts/       # Shell脚本
│   ├── capture_a1.sh               # A1 mini通信抓包
│   ├── quick_test.sh               # 快速测试脚本
│   └── ...                         # 其他辅助脚本
├── docs/          # 文档
│   ├── TECHNICAL_SUMMARY.md        # 技术总结(本文档)
│   ├── DIAGNOSIS_LED_RED.md        # LED红灯诊断
│   └── ...                         # 其他文档
└── data/          # 抓包数据和二进制文件
    └── bmcu_raw.bin                # A1 mini原始通信数据

⚡ 快速开始

1. 编译主要工具

cd bmcu_klipper/src
gcc -o bmcu_comm bmcu_comm.c -Wall
gcc -o test_ams_lite_init test_ams_lite_init.c -Wall
gcc -o save_raw_stream save_raw_stream.c -Wall

2. 测试BMCU连接

# 确保BMCU通过USB-485连接到 /dev/ttyUSB0
./bmcu_comm

3. 尝试初始化

./test_ams_lite_init
# 观察BMCU LED颜色变化

🔬 技术要点

  • 通信协议: BambuBus (基于RS485, 1.25 Mbaud)
  • 硬件挑战: 9位UART + 偶校验
  • 设备地址:
    • AMS: 0x0700
    • AMS Lite: 0x1200 (A1 mini使用)
  • CRC校验: CRC8 (poly=0x39, init=0x66) + CRC16 (poly=0x1021, init=0x913D)

详见 技术总结文档

📊 当前状态

✅ 已实现

  • ✓ 成功接收BMCU广播数据(100% CRC16验证通过)
  • ✓ 完整解析BambuBus协议包结构
  • ✓ 从A1 mini抓取真实通信数据
  • ✓ 识别AMS Lite设备初始化序列
  • ✓ 理解9位UART编码方式

⚠️ 待解决

  • ❌ BMCU不识别我们发送的命令(LED保持红色)
  • ❌ 9位UART发送问题(接收工作,发送不工作)
  • ❌ 需要验证完整初始化流程

详见 待办事项

🤝 贡献指南

本项目尚在开发初期,欢迎贡献:

  1. 硬件测试和数据抓包
  2. 9位UART发送方案(可能需要Arduino等硬件)
  3. 协议逆向分析
  4. Klipper模块开发

📄 许可证

待定(建议使用 GPL-3.0 或 MIT)

📮 联系方式

GitHub Issues: (待创建仓库)

🙏 致谢

  • BMCU370 - 开源BMCU固件,提供了协议参考
  • Bambu Lab - 原始硬件设计
  • Klipper 社区

⚠️ 注意: 本项目处于早期开发阶段,尚未实现完整功能。仅供学习和研究用途。

About

Open-source integration of Bambu Lab BMCU with Klipper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors