Klipper一个可以运行在liunx系统上的开源3D打印机固件,它与Marlin固件中单机运行的3D打印机固件不同,它将执行与逻辑分离,将逻辑部分交给性能更强的SoC,比如瑞芯微RK3566(刚入手了立创的泰山派,四核心Cortex-A55,并且具有1TOPS的AI算力,用来制作Klipper有一点浪费,不过可以学习AI运行也不算亏,在购买泰山派之前使用性能更强的赛扬J4125测试过,成功驱动手中的Ender3 S1 Pro 3D打印机),将执行部分交给MCU,比如Ender3 S1 Pro使用的STM32F407,Klipper支持不少的微处理器,可在https://www.klipper3d.org/zh/Features.html查询。
相对于Marlin固件,Klipper可以实现复杂控制逻辑,比如AI首层检测。更快的打印速度,更好的打印质量(个人而言,原生固件调平很痛苦),也可以利用开源的Fluidd进行网页控制,利用WireGuard、FRP等内网穿透工具实现远程控制(目前泰山派提供的镜像采用的是4.19版本的liunx内核,而WireGuard需要5.6以上的内核,没有学过liunx相关的知识不会升级内核,后续解决了再分享给大家)。
先明确下目标,先搭建Liunx运行环境,再安装Klipper上位机,并配置printer.cfg文件,实现网页控制Ender3 S1 Pro打印机。
不再废话,接下来就开始搭建。
1.搭建Liunx运行环境
下载立创提供的Debian镜像,可在飞书文档查询(https://lceda001.feishu.cn/wiki/IJtRwVu5kiylHykl3RJcQ8ANncY),提供两个云服务器下载,笔者这就用百度网盘举例了,文件地址是相同的,先下载镜像(“第6章【立创泰山派】系统镜像”-->【镜像】Debian-->hdmi_2023_update.img),再下载烧录工具(第7章【立创泰山派】开发工具-->RKDevTool_Release_v2.92.zip&DriverAssitant_v5.11.zip),笔者这就直接跳过过程,不知道如何操作的可以阅读“文档手册下的镜像烧录”。
安装完驱动后打开该软件;
选择“升级固件”功能,按住设备的REC按键,在点击RST,直到发现一个LOADER设备出现在松开REC按键,在点击固件导入之前下载的“hdmi_20230915_update.img”镜像,再点击“升级”,接下就等待上位机烧录完成;
连接泰山派的串口使用SSH登录;
账号密码相同;
使用“sudo nmtui”配置WiFi连接;
连接WiFi后使用网络登录泰山派的SSH服务器,更新系统(sudo apt update和sudo apt upgrade);
会提示48个软件包未被升级,这是正常的,可以忽略。
2.安装KIAUH脚本
安装Klipper需要的工具sudo apt install build-essential python3 python3-pip git;
使用KIAUH脚本来安装Klipper、Moonraker、Fluidd;
推荐使用gitee下载了(git clone https://gitee.com/miroky/kiauh);
github笔者这不能流畅访问(git clone https://github.com/dw-0/kiauh),中途报错会很难受;
进入脚本目录,输入./kiauh.sh启动脚本:
选择1[Install]进入安装界面:
依次安装Klipper-->Moonraker-->fluidd,安装Klipper时选择Python 3.x,下一步会提示安装几个打印机,选择1个;
剩下更具提示选择Y和输入管理员密码即可;
安装Moonraker成功后会提示下述界面;
在浏览器输入该地址会显示如下界面;
安装fluidd网页会比较慢,请耐心等待;
安装完上述三个工具就可以退出安装脚本,进入网页(默认端口:80)可以开始配置printer.cfg。
3.修改Klipper配置文件
Klipper的github库的CONFIG目录下有该打印机的配置文件,先下载下来作为模板,部分参数还需要修改;
将下载下来的文件改名为printer.cfg,替换~/printer_data/config下的同名文件;
将泰山派与打印机连接,Ender3 S1 ProUSB转串口芯片采用CH340,可以通过lsusb指令查询得知;
查询设备的串口号输入ls /dev/ttyUSB*查询;
不建议Klipper使用该字符驱动CH340,建议使用绑定ID的方式,防止后续接入多个CH340导致Klipper上位机无法调用正确的串口;
通过网页打开printer.cfg文件修改[mcu]下的内容;
笔者还添加了几个RK3566和STM32的温度显示;
虽然Klipper的github库提供了打印平台、限位位置,笔者的机器这些参数有些不适应,有少量的修改,比如xy轴的限位位置,还是建议使用官方配置未见根据实际情况调整。
4.演示
重启设备,错误就会消失;
笔者之前用J4125搭建的Klipper上位机(利用PVE开虚拟机搭建),没有屏幕导致调平不方便,这才购买泰山派配合三年前买的正点原子RGB屏安装KlipperScreen GUI用于本地控制。
目前已经可以正常使用Klipper固件,KlipperScreen GUI的安装以后再讲。