본문으로 건너뛰기

Klipperr에 연결

주의사항
  • 이 튜토리얼은 Fly-Buffer-Plus 버퍼에 KLIPPER 펌웨어를 프로그래밍하는 튜토리얼입니다.
  • 프로그래밍이 완료되면 압력 펌웨어 핀이 덮어씌워집니다.
  • 이전 기능을 다시 구현하려면 자신이 매크로를 작성하거나 이전 펌웨어를 재설치해야 합니다.
  • 어떤 구성이나 사용 매크로도 자신이 작성해야 합니다.

BL 프로그래밍

프로그래밍 모드 진입

  • 프로그래밍 모드로 들어가는 방법은 두 가지가 있습니다.
  • 첫 번째: 메인보드를 완전히 전원 차단한 상태에서 BOOT 버튼을 누른 다음 데이터 전송용 케이블 한쪽을 메인보드에 연결하고 다른 한쪽을 장치에 연결합니다.
  • 두 번째: 데이터 전송용 케이블 한쪽을 메인보드에 연결하고 다른 한쪽을 장치에 연결한 후 BOOT 버튼을 누르고 RST 버튼을 누릅니다. RST 버튼을 놓은 후 BOOT 버튼을 놓습니다.

펌웨어 프로그래밍

  • 버퍼의 BL 펌웨어
    • 아래 다운로드 링크를 클릭하세요
  • Loading...
주의
  • USB3.0는 프로그래밍 실패가 발생할 수 있으므로 가능한 한 컴퓨터의 USB2.0로 프로그래밍 하십시오
  • 여전히 프로그래밍이 되지 않는 경우 상위 기기를 사용하여 프로그래밍하십시오
  • 아래 오류가 나타나면 USB 확장 드라이브를 사용하십시오
  1. 프로그래밍 도구 다운로드 주소
  2. SetupSTM32CubeProgrammerSTM32 DFU 드라이버를 다운로드해야 합니다
  3. 앞서 컴파일한 펌웨어(klipper.bin) 또는 사전에 컴파일된 Katapult 펌웨어를 컴퓨터의任意 디렉토리에 복사합니다
  4. Type-C 데이터 케이블을 사용하여 메인보드를 컴퓨터에 연결하되, 이미 dfu 프로그래밍 모드에 들어가 있는지 확인하십시오
  5. STM32CubeProgrammer에서 USB 모드를 선택하고 갱신 및 연결합니다
  6. 오류 알림 창이 나타나지 않으면 연결 성공입니다.
    경고

    그림과 같은 내용이 나타나면 컴퓨터 또는 소프트웨어 문제이므로 상위 기기를 사용하여 프로그래밍하십시오:상위 기기 프로그래밍 튜토리얼

  7. 왼쪽에 있는 다운로드 아이콘을 클릭하고 아래 몇 가지 옵션을 선택합니다
  8. 화살표가 가리키는 Browse를 클릭하고 프로그래밍하려는 펌웨어를 선택합니다
  9. Start address0x08000000을 입력합니다
    • 참고로 펌웨어가 HEX 형식이라면 이 단계를 건너뛰어야 합니다!
  10. 아래에 있는 Start automatic mode를 클릭하여 펌웨어를 프로그래밍합니다
  11. 아래의 알림이 나타나면 펌웨어 프로그래밍이 완료되었습니다

USB 펌웨어 컴파일

컴파일 시작

  • 설치된 klipper 서비스를 사용해야 합니다. 웹을 통해 SSH 연결
  • 그리고 장치를 상위 기계에 연결해야 합니다.
  • 주의: 일반적인 상위 기계, 예를 들어 라즈베리파이 FLY파이 등을 사용하십시오. 마이크로 변형 상위 기계(예: WiFi 스틱, 홍미 등)는 문제점이 많아 지원을 제공할 수 없습니다.
경고
  • FlyOS-Armbian 시스템과 일반 시스템 주의사항
    • 라즈베리파이, FLY파이 등 일반적인 상위 기계 시스템은 이와 같습니다.
    • 이 종류의 상위 기계에서는 ROOT 사용자로 아무 작업도 하지 마십시오.
    • 일반 사용자로 작업하십시오.
    • 사용자 전환 방법, FlyOS-Armbian 시스템의 경우 su fly 명령어를 사용하여 일반 사용자로 전환하십시오.
    • 다른 시스템의 경우 su <상위 기계 사용자 이름> 명령어를 사용하여 일반 사용자로 전환하십시오.
    su <상위 기계 사용자 이름>
  • 상위기기(Up Host)가 정상적으로 네트워크에 연결되어 있는지 확인하세요.
  • 펌웨어 컴파일 전에 SSH를 통해 상위기기에 네트워크로 로그인해야 합니다.
  • 상위기기에 시리얼 포트(Serial Tool)를 사용하지 마세요.

Klipper 펌웨어 컴파일 및 구성 페이지 작동 설명

키보드 입력 모드를 반각(Half-width) 모드로 설정해 주세요. 즉, 영문 모드입니다.

  1. 키보드의 (위쪽 화살표), (아래쪽 화살표)는 메뉴 항목을 선택하기 위해 커서를 위아래로 이동시킵니다.
  2. 확인 키 Enter 또는 공백 키 Space는 메뉴를 선택하거나 하위 메뉴로 진입합니다.
  3. 종료 키 ESC는 상위 메뉴로 돌아갑니다.
  4. Q 키는 Klipper 펌웨어 구성 페이지를 종료합니다.
  5. Klipper 펌웨어 구성 페이지를 종료할 때 Y 키를 눌러 구성 파일을 저장할 수 있습니다.
경고

구성 페이지 옵션이 적을 경우, Enable extra low-level configuration options 항목을 선택([ ])하여 일부 숨겨진 옵션을 표시할 수 있습니다.

아래는 펌웨어를 컴파일하는 방법을 소개합니다:

  • SSH에 접속한 후 다음 명령어를 입력하고 Enter를 누릅니다:

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • 그 중 rm -rf ~/klipper/.config && rm -rf ~/klipper/out는 이전에 컴파일된 데이터와 펌웨어를 삭제하고, make menuconfig는 펌웨어를 컴파일합니다. 실행 후 아래와 같은 화면이 나타나야 합니다.

  • Enable extra low-level configuration options를 선택하고 Enter를 누릅니다.

  • Micro-controller Architecture 메뉴로 들어가서 STMicroelectronics STM32를 선택하고 Enter를 누릅니다.

  • Processor model 메뉴로 들어가서 STM32F072를 선택하고 Enter를 누릅니다.

  • Bootloader offset를 선택하고 8KiB bootloader를 선택합니다.

  • Communication interface를 선택하고 **USB (on PA11/PA12)**를 선택합니다.

  • 다음 그림과 일치하는지 확인하고, 일치하면 다음 단계로 진행하세요.

  • Q 키를 눌러 Save configuration가 나타나면 다시 Y 키를 누릅니다.
  • 이제 설정을 저장하고 명령줄 인터페이스로 나갔을 것입니다.
  • 아래 명령어를 입력하여 컴파일을 시작합니다. 시간이 조금 걸립니다.
make -j4
  • 마지막으로 아래 내용이 출력되면 컴파일이 성공입니다.

    Linking out/klipper.elf
    Creating hex file out/klipper.bin
  • 아래는 컴파일 펌웨어 작업 흐름 기록입니다.
Asciinema cast

프로그래밍 모드 진입

경고
  • RST 버튼을 두 번 누르면 프로그래밍 모드로 들어갑니다.

프로그래밍 모드 진입 확인

  • 상위기기(Upstream)가 정상적으로 네트워크에 연결되어 있는지 확인하고, 하위기기가 상위기기와 데이터 전송 기능을 가진 데이터 케이블로 연결되어 있는지 확인하십시오.
  • 상위기기에 SSH 접속 후 Enter 키를 누르고 명령어 lsusb를 입력하면 아래 이미지에서 빨간색으로 표시된 정보가 나타나면 다음 단계로 진행할 수 있습니다.
    • 아무런 정보도 반환되지 않는 경우, 이는 상위기기의 시스템 문제이며 해결이 불가능합니다. 정상적인 시스템으로 교체하거나 상위기기를 교체해야 합니다.
    • lsusb 명령어가 없는 경우 다음 명령어를 실행하여 설치할 수 있습니다.
      sudo apt-get install usbutils
  • 1d50:6177는 이번에 사용할 장치입니다.
    • 일부 상위기기는 시스템 문제로 인해 완전히 표시되지 않거나 전혀 표시되지 않을 수 있습니다.
    • 만약 lsusb 명령어를 입력했을 때 장치는 표시되지만 1d50:6177이 표시되지 않는 경우 데이터 케이블을 교체하거나 상위기기의 다른 USB 포트로 연결해 보십시오.
  • 위 단계를 수행했고 Klipper 펌웨어를 성공적으로 플래시한 적이 있으며, 메인보드가 정상적으로 작동 중이라면 Klipper 펌웨어 업데이트만 진행하려는 경우 오른쪽 메뉴바의 펌웨어 업데이트 섹션을 참조하십시오.
주의사항

반드시 1d50:6177 장치를 확인한 후 다음 단계로 진행해야 합니다.

펌웨어 프로그래밍

:::팁

  • 플러그인 설치 시 인터넷 연결이 필요합니다. 상위 컴퓨터가 정상적으로 인터넷에 연결되어 있는지 확인하시기 바랍니다.
  • 이미 설치된 경우 다시 설치할 필요가 없습니다. :::

번영 시작하기

:::주의

  • 비-Fly 상위 컴퓨터는 아래의 코드를 반드시 실행하여 펌웨어 번영 의존 패키지를 설치해야 합니다! 그렇지 않으면 펌웨어를 번영할 수 없습니다!
      cd && git clone https://github.com/Arksine/katapult.git
  • 국내 사용자는 다음 명령어로 설치
  cd && git clone https://gitee.com/MrCakeFuck/katapult.git

:::

  • 아래 명령어를 사용하여 장치 ID를 검색하고, 아래 그림과 같은 ID가 나타나야 합니다 (참고: 그림에 표시된 ID는 예시이며, 각 보드의 ID는 다릅니다)

    ls /dev/serial/by-id/*
  • 펌웨어를 번영하기 위해 아래 코드를 사용하십시오. 컴파일된 펌웨어가 준비되었는지 확인한 후, <your_board_id>를 이전 단계에서 검색한 ID로 대체하십시오.

    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<your_board_id>

fast 시스템은 이 명령어를 사용하여 번영, <your_board_id>를 이전 단계에서 검색한 ID로 대체하십시오.

python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<your_board_id>

  • 참고 자료

  • 번영 완료 후 참고

펌웨어 업데이트

  • 아래 명령어를 사용하여 보드 ID를 검색하고, 아래 그림과 같은 ID가 나타나야 합니다 (참고: 그림에 표시된 ID는 예시이며, 각 보드의 ID는 다릅니다)

    ls /dev/serial/by-id/*

:::팁 아래 그림에서 /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00가 보드의 ID입니다 :::

  • USB 펌웨어를 업데이트하려면 최신 펌웨어를 컴파일한 후 아래 명령어를 입력하여 업데이트하십시오, <your_board_id>를 이전 단계에서 검색한 ID로 대체하십시오

    cd ~/klipper/ && make flash FLASH_DEVICE=<your_board_id>

잘못된 펌웨어 번영 해결 방법

  • 보드가 전원을 끈 후 다시 전원을 켜고, 리셋 버튼을 빠르게 두 번 클릭하면 다시 번영 모드로 들어갈 수 있습니다.
  • 또는 Windows/상위 컴퓨터를 사용하여 katapult 펌웨어를 다시 번영하십시오.katapult 펌웨어 번영

USB ID 검색하기

  1. 브라우저를 열고 주소 표에 호스트 컴퓨터의 IP 주소를 입력합니다. 예를 들어, 호스트 컴퓨터의 IP가 192.168.101.179라면 이 주소를 입력하고 Enter 키를 누릅니다.
  1. 호스트 컴퓨터의 웹 인터페이스를 열고 좌측 사이드바의 설정 옵션에서 찾아보세요:
  • fluidd의 경우: {…} 을 클릭하면 printer.cfg를 찾을 수 있습니다.
  • mainsail의 경우: 기계를 클릭하면 printer.cfg를 찾을 수 있습니다.
  1. printer.cfg를 클릭한 후 오른쪽 상단의 DEVICES를 클릭하세요.
  1. SERIAL을 클릭한 후 새로 고침하세요.
  • fluidd의 새로 고침
  • mainsail의 새로 고침
  1. ID를 복사합니다. 화살표로 가리키는 곳을 클릭하면 복사됩니다.
  • fluidd의 경우 ttyAMC가 존재하는지 확인하고 Path by ID가 있는지 확인하세요. 이 값이 USB ID입니다.
  • mainsail의 경우 ttyAMC가 존재하는지 확인하고 Path by ID가 있는지 확인하세요. 이 값이 USB ID입니다.

USB ID 입력하기

  1. DEVICES를 닫고 ID를 입력하세요.
주의사항
  • 구성 파일에서 다음 부분을 수정하세요:
[mcu] 
serial: /tmp/klipper_host_mcu

수정된 내용은 다음과 같습니다:

[mcu host] 
serial: /tmp/klipper_host_mcu
  • 다음 항목을 추가하세요:
[mcu]
serial: <여기에는 방금 검색한 ID를 입력하세요>
  • fluidd에서 [MCU]를 찾습니다.
  • mainsail에서 [MCU]를 찾습니다.
  1. ID를 구성 파일에 입력하세요.
  • ID를 입력한 후 오른쪽 상단의 SAVE & RESTART를 클릭하세요.
  1. Klipper에서 ADC out of range라는 메시지가 나타나면 이는 정상적인 현상입니다. 핫베드와 센서를 메인보드에 연결하고 헤드, 핫베드의 센서 핀을 구성한 후 다시 저장하고 재부팅하세요.
위험

주의: 문서에서 나온 모든 ID는 예제입니다. 각 메인보드의 ID는 모두 다르므로 실제로 얻은 ID를 입력하세요.


Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -