跳到主要内容

有线连接Klipper配置

须知
  • 需要给STM32F072刷固件后连接到Klipper否则不支持有线连接操作

开始编译

固件编译简明指南

注意事项

  • 网络: 确保上位机(树莓派等)已联网
  • 登录方式: 必须使用 SSH 通过网络登录,禁用串口
  • 输入法: 保持键盘为英文半角模式

SSH登录与用户切换

使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。

切换用户:

  • 普通系统(树莓派官方系统等)
    禁止使用 root,需切换到普通用户:
    su <用户名>
  • FLY上位机(FlyOS-FAST系统)
    仅支持 root 用户登录(密码: mellow)

固件编译操作指南

在 Klipper 固件配置界面中仅支持键盘操作,无法使用鼠标。

按键功能
↑ / ↓上下移动光标,选择菜单项
Enter / 空格确认选择、勾选选项或进入子菜单
ESC返回上一级菜单
Q退出配置界面
Y退出时,如有提示则按 Y 保存配置

开始固件编译

下面介绍如何编译固件:

  1. 连接到 SSH,输入下面的命令并按 Enter

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig

    其中,rm -rf ~/klipper/.config && rm -rf ~/klipper/out 用于清除之前的编译配置与固件; make menuconfig 用于打开 Klipper 固件配置界面。

  2. 按照下方顺序逐项设置,每完成一项再继续下一项。

    1启用 Enable extra low-level configuration options
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    2Micro-controller Architecture 选择 STMicroelectronics STM32
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    3Processor model 选择 STM32F072
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    4Bootloader offset 选择 No bootloader
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    5Clock Reference 选择 8 MHz crystal
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    6Communication interface 选择 USB (on PA11/PA12)
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    7USB ids 保持默认,无需进入
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    8启用 Optimize stepper code for 'step on both edges'
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    9GPIO pins to set at micro-controller startup 保持为空
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    10GPIO state at micro-controller startup 选择 Not set

    此项是 FLYOS-Klipper 功能。通常保持 Not set;如需设置全部 GPIO 的启动状态,请先阅读 GPIO 启动状态使用说明

    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    11Q 键退出配置界面
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32) --->
    Processor model (STM32F072) --->
    Bootloader offset (No bootloader) --->
    Clock Reference (8 MHz crystal) --->
    Communication interface (USB (on PA11/PA12)) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    12出现 Save configuration 时按 Y 保存配置
    Quit
    Save configuration?
    (Y)es(N)o(C)ancel
  3. 完成上方最后两个步骤,按 Q 退出配置界面,再按 Y 保存配置。

  4. 返回命令行后输入下面的命令并按 Enter 开始编译:

    make -j4
    root@flyos-11e5f8 ~/klipper # make -j4
    Compiling out/src/stm32/stm32f0_adc.o
    Compiling out/src/stm32/spi.o
    Compiling out/src/stm32/stm32f0_i2c.o
    Compiling out/src/stm32/usbfs.o
    Compiling out/src/stm32/chipid.o
    Compiling out/src/generic/usb_cdc.o
    Compiling out/src/stm32/hard_pwm.o
    Preprocessing out/src/generic/armcm_link.ld
    Building out/compile_time_request.o
    Version: XXXX
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

    终端末尾出现 Linking out/klipper.elf Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。

进入烧录模式

  • 在AirClick断电情况下按住STM32的BOOT将STM32的烧录口通过Type-C与上位机进行连接
    Loading...

烧录固件

  1. 安装烧录工具
  • FLY上位机无需安装烧录工具
  • 如果你需要安装请注意:上位机需要能上网才可以正常安装
  • 如果已经安装过则无需安装
sudo apt update
sudo apt install dfu-util -y
  1. 执行下面的命令查看是否连接成功。
lsusb
  • 如果没有DFU设备请尝试重新进入烧录模式

  • 因系统版本问题可能显示其他名字,如果有0483:df11则代表进入烧录模式

    Loading...
  1. 烧录固件
  • 执行下方代码开始烧录,请将 <固件文件完整路径> 替换为实际固件文件路径
sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D <固件文件完整路径>
  1. 出现下图内容File downloaded successfully则烧录成功
Loading...
提示

烧录完成后,需要给主板彻底断电一次。

搜索USBID

  • 需要将AirClick的烧录口与上位机的USB口进行连接,请不要按住BOOT按钮否则无法搜索ID
    Loading...

注意事项

重要须知
  • 必须通过SSH连接到上位机,请使用网络登录方式连接上位机(树莓派等设备)
  • 操作前请确保主板已刷入 USB固件
  • 本教程仅适用于主板ID搜索,不适用于工具板ID搜索
  • 请确认主板使用TYPEC连接到上位机的USB口
  • 如需查看工具板ID,请至对应产品目录下查阅相关教程

操作步骤

搜索USB设备ID

  • 执行以下命令列出所有USB串口设备ID:
    ls /dev/serial/by-id/*

⚠️ 重要提示:不可用的ID

执行命令后,请注意识别并避免使用以下两类ID:

ID 特征原因说明示例
usb-1a86_USB_Serial-if00-port0此为CH340等通用串口芯片的默认名称,不可用于配置/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
包含 katapult 字样表示设备处于烧录模式, 需先刷写Klipper固件后方可使用。/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx

执行结果说明:

  • 正常情况: 终端会显示类似下方的ID(下图仅为示例)
    Loading...
  • 异常问题排查
多个ID的处理

如果出现多个ID,请根据您主板的 MCU型号 选择相对应的ID

将USB的ID,填写到配置里面

  • fluidd为: {…} ,点击进去,即可找到 printer.cfg
Loading...
  • mainsail为:机器,点击进去,即可找到 printer.cfg
Loading...

注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。

填写USB ID

  • 找到[mcu],然后替换
须知
  • 请将配置文件中的:
  • 请不要配置canbus_uuid:
[mcu]
serial: <这里替换为你刚刚查询到的ID>
  • 参考
  • fluidd的参考
Loading...
  • mainsail的参考
Loading...
  • 点击右上角的SAVE & RESTART点击后会自动保存并重启klipper
Loading...