1. Klipper从安装到运行
本文记录Klipper固件从安装,配置到运行的详细过程
Klipper是3D打印机固件之一,它通常运行在linux系统(常使用Debian,其它的linux版本也可以)上,因此需要一个能运行Linux系统的硬件,比如电脑,树莓派,瑞芯微/全志等SOC系列的开发板或相应的主板等。
1. 安装klipper
kiauh是klipper及相关配套软件的一个安装管理脚本,提供一个字符的类图形管理界面,它可以自动下载和安装相关依赖软件,因此,使用kiauh安装klipper比较方便,不易出错。
1.1 下载git
sudo apt-get update && sudo apt-get install git -y
kiauh是开源在github上的脚本,因此需要先安装git工具
1.2 下载kiauh
kiauh源码地址:https://github.com/dw-0/kiauh,可以手动下载也可以使用下面命令下载,下到家目录下
cd ~ && git clone https://github.com/dw-0/kiauh.git
1.3 下载完后,执行命令:
./kiauh/kiauh.sh
就可以打开kiauh安装管理界面:

1.4 安装klipper
从上图可见,有很多软件都是Not installed的,输入1,进入Install界面,这里可以安装很多软件。

其中:
- Klipper:klipper主体软件,必须安装,手动下载地址:GitHub - Klipper3d/klipper: Klipper is a 3d-printer firmware
- Moonraker:klipper主服务,为所有网页和人机界面提供控制和信息接口,必须安装,手动下载地址:https://github.com/Arksine/moonraker
- Mainsail或Fluidd(二选一):内置网页接口,安装其中一个,端口为80,需要网页上进行操作的安装,手动下载地址:
Fluidd: https://github.com/fluidd-core/fluidd
Mainsail: https://github.com/mainsail-crew/mainsail
- KlipperScreen:klipper默认显示屏操作界面,需要在显示屏上操作的安装,手动下载地址:https://github.com/KlipperScreen/KlipperScreen
- Crowsnest:摄像头服务(旧版使用MJPG-Streamer:https://github.com/jacksonliam/mjpg-streamer)老版本,需要接USB摄像头的安装,手动下载地址:GitHub - mainsail-crew/crowsnest: Webcam Service for multiple Cams
根据需求,安装上面的若干软件,一般情况下,上面5个都安装。
2.编译下位机
通常Klipper运行在 一上位机,若干下位机 的模式,运行Klipper主服务的是上位机,主要执行打印文件读取-解析,运动控制序列生成,通信,人机交互等,通常由带系统的主板执行;下位机则执行运动,信号检测,温度测试等,通常由MCU主板执行。
所以,需要编译klipper固件,并烧录到MCU,通过通信口(uart,USB,can等)和上位机连接,以实现上下位机配合,完成3D打印整个控制。
编译下位机klipper固件,需要查看下位机MCU的芯片类型,通信方式等,如我使用的下位机是芯片是STM32H723ZET6,通信是uart1,klipper默认uart波特率是250000,因此,需要配置klipper固件:
cd ~/klipper
make menuconfig
上述命令会打开配置界面,需要根据下位机硬件进行配置,比如我的硬件是STM32H723,晶振是25MHz,使用串口和上位机通信,采用波特率115200(默认是250000),则我的配置如下:

注意,可能原始的配置上没有电路板上的串口,比如原始没有USART1(PB15,PB14),这时需要自己手动修改kconfig文件,比如STM32的在klipper/src/stm32下,增加电路板上的串口进去:

同时需要修改驱动文件(klipper/src/stm32/stm32f0_serial.c或者serial.c)相关位置,以适配电路串口。

如此修改后,就可以执行make命令编译了,编译的结果在out/klipper.bin中,将其烧录到主板上,即可。
3.配置文件
3.1 klipper配置文件默认在printer_data/config下,通常在网页上配置比较方便。
moonraker.conf:与moonraker服务有关,通常不需要去改
mainsail.cfg:与内置网页设备和行为有关,可以根据网页上操作需求进行一些配置,刚开始不用改
crowsnest.conf:USB摄像头配置文件,装USB摄像头时,需要配置它
printer.cfg:打印机配置文件,这是klipper打印机配置的核心文件,需要详细配置
3.2 通信接口配置
首先要配置的是上下位机通信接口,修改的是printer.cfg。
很多采用串口与下位机通信,首先在上位机系统中找到/dev/serial/,看看里面有没有下位机生成的by-id或by-path,通常是有的,我的是/dev/serial/by-path,波特率默认是250000,但是上面我们配置的下位机,波特率是115200,因此,在mcu字段配置如下:

只要这里的波特率和下位机一致,且serial没错,一般是能连上下位机的, 在网页上配置的话,改好后,点击网页右上角 “保存并重启”,一般是可以看到下位机连上了,可能还会报其它错误。
3.3 其它配置
通信问题解决了后,就来看看其它配置, 参考说明:Klipper documentation
在官方配置说明中,重点查看:
电机[stepper]
电机驱动(如[stepper 2209])
打印头(含挤出机和喷嘴加热)[extruder]
热床加热[heater_bed]
网床(调平)[bed_mesh]
风扇[fan]
因为官方文档做的很详细,这里就不重复说明如何去配置了
配置好后,就可以使用klipper了
相关文章:
1. Klipper从安装到运行
本文记录Klipper固件从安装,配置到运行的详细过程 Klipper是3D打印机固件之一,它通常运行在linux系统(常使用Debian,其它的linux版本也可以)上,因此需要一个能运行Linux系统的硬件,比如电脑&am…...
docker 卸载与安装
卸载 查询之前安装的docker, 没有查到则不用卸载删除 yum list installed | grep docker 卸载安装包 yum remove docker-* -y 删除镜像、容器、默认挂载卷 rm -rf /var/lib/docker 安装 -ce 安装稳定版本 -y 当安装过程提示选择全部为 "yes" yum install d…...
跨部门文件共享安全:平衡协作与风险的关键策略
在现代企业中,跨部门协作已成为推动业务发展的关键因素。然而,随着信息的自由流动和共享,文件安全风险也随之增加。如何在促进跨部门协作的同时,确保文件共享的安全性,成为了一个亟待解决的问题。 一、明确文件分类与…...
基于单片机的智慧小区人脸识别门禁系统
本设计基于单片机的智慧小区人脸识别门禁系统。由STM32F103C8T6单片机核心板、显示模块、摄像头模块、舵机模块、按键模块和电源模块组成。可以通过摄像头模块对进入人员人脸数据进行采集,识别成功后,舵机模块动作,模拟门禁打开,门…...
【es6】原生js在页面上画矩形及删除的实现方法
画一个矩形,可以选中高亮,删除自己效果的实现,后期会丰富下细节,拖动及拖动调整矩形大小 实现效果 代码实现 class Draw {constructor() {this.x 0this.y 0this.disX 0this.disY 0this.startX 0this.startY 0this.mouseDo…...
【git实践】分享一个适用于敏捷开发的分支管理策略
文章目录 1. 背景2. 分支管理实践2.1. 敏捷开发中分支管理面临的问题2.2. 分支管理策略2.3. 还需要注意的一些问题 3.总结 1. 背景 在实际的开发工作中,我们往往会面临多任务并行研发,多个环境管理的情况,这种情况下,一个合适的分…...
Redis与MySQL如何保证数据一致性
Redis与MySQL如何保证数据一致性 简单来说 该场景主要发生在读写并发进行时,才会发生数据不一致。 主要流程就是要么先操作缓存,要么先操作Redis,操作也分修改和删除。 一般修改要执行一系列业务代码,所以一般直接删除成本较低…...
基于微信小程序的教室预约系统+LW示例参考
1.项目介绍 功能模块:管理员(学生管理、教师管理、申请管理、设备管理、报修管理等)、普通用户/学生(注册登录、申请预约、退订、报修等)技术选型:SSM、JSP、uniapp等测试环境:idea2024&#x…...
Linux 安装 Git 服务器
一、安装 Git 1. 在 CentOS/RHEL 中使用以下命令: sudo yum update -y # 或者 sudo dnf update -y (在较新的系统中) sudo yum install git -y验证安装:git --version 2. 配置 Git 用户 git config --global user.name "Your Name" git co…...
总结:Yarn资源管理
一、介绍 本文梳理下Yarn的资源分配计算逻辑。 二、配置 - 资源限制 1、配置NodeManager可分配的资源池的总量 <property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value> </property> 作用对象:节点管理器(No…...
Python学习34天
import random class Game: peo0 rob0 # # def __init__(self,peo,rob): # self.peopeo # self.robrob def Play(self): """ 石头剪刀布游戏,0代表石头,1代见到,2代表石头 …...
深入浅出 WebSocket:构建实时数据大屏的高级实践
简介 请参考下方,学习入门操作 基于 Flask 和 Socket.IO 的 WebSocket 实时数据更新实现 在当今数字化时代,实时性是衡量互联网应用的重要指标之一。无论是股票交易、在线游戏,还是实时监控大屏,WebSocket 已成为实现高效、双向…...
三开关VUE组件
一、使用效果 <template><QqThreeSwitch v-model"value" /><!-- <SqThreeSwitch v-model"value" :options"[test1, test2, test3]"><template #left-action><div style"display: flex"><IconMoon…...
SpringCloud+SpringCloudAlibaba学习笔记
SpringCloud 服务注册中心 eureka ap 高可用 分布式容错 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency><groupId…...
牛客小白月赛105(A~E)
文章目录 A lz的吃饭问题思路code B lz的数字问题思路code C lz的蛋挞问题思路code D lz的染色问题思路code E lz的括号问题思路code 总结 牛客小白月赛105 A lz的吃饭问题 思路 签到题,比较大小即可 code void solve(){int a,b,c,d;cin >> a >> b…...
OSPF协议整理
OSPF(Open Shortest Path First)即开放式最短路径优先协议,是一种广泛应用于大型网络中的链路状态路由协议。 OSPF 的基本概念 OSPF 是基于链路状态算法的内部网关协议(IGP),用于在一个自治系统ÿ…...
Java中的多线程
文章目录 Java中的多线程一、引言二、多线程的创建和启动1、继承Thread类2、实现Runnable接口 三、线程的常用方法1、currentThread()和getName()2、sleep()和yield()3、join() 四、线程优先级五、使用示例六、总结 Java中的多线程 一、引言 在Java中,多线程编程是…...
什么是聚簇索引、非聚簇索引、回表查询
其实聚集索引也叫聚簇索引,二级索引也叫非聚簇索引,大家不要认为这是不同的两个知识点。 定义 先看一下数据库的索引介绍。 聚簇索引 1. 如果存在主键(一般都存在),主键索引就是聚簇索引。 2. 如果不存在,…...
探索 Spring 框架核心组件:构建强大 Java 应用的基石
Spring框架作为Java企业级开发的首选框架之一,其强大的功能和灵活的架构深受开发者喜爱。Spring框架的核心组件共同构建了一个高效、可扩展的应用程序开发平台。本文将深入探讨Spring框架的核心组件,揭示它们如何在Spring框架中发挥关键作用。 一、Bean…...
Android 13 Aosp 默认允许应用动态权限
图库 frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java 修改 public void grantDefaultPermissions(int userId) {DelayingPackageManagerCache pm new DelayingPackageManagerCache();grantPermissionsToSysCompon…...
Fujirebio宣布全自动Lumipulse® G pTau 217血浆检测试剂盒获得CE认证
H.U. Group Holdings Inc.及其全资子公司Fujirebio今日宣布,Fujirebio Europe N.V.已依据《欧盟(EU) 2017/746体外诊断医疗器械法规》(IVDR)取得Lumipulse G pTau 217血浆检测试剂盒的CE认证。该化学发光酶免疫分析(CLEIA)检测可对人体血浆(K2 EDTA)中的苏氨酸217磷…...
AntiDupl.NET:告别数字杂乱,让图片管理回归优雅
AntiDupl.NET:告别数字杂乱,让图片管理回归优雅 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾经在整理照片时,发现手机里…...
【Arcgis实战技巧】巧用DOM目视解译,从DSM中精准“挖”出地面高程点
1. 为什么需要从DSM中提取地面高程点? 在测绘和地理信息领域,数字表面模型(DSM)记录了地表所有物体的顶部高程信息,包括建筑物、树木、电线杆等。但很多时候我们需要的是数字高程模型(DEM)&…...
形式化验证实战指南:从数学证明到芯片验证工程实践
1. 从一封邀请函说起:为什么我们还在谈论形式化验证?前几天整理旧资料,翻出了一封2011年的邮件,标题是“Youre invited to Jaspers annual user group meeting”。发件人是EE Times的编辑Clive Maxfield,内容是关于Jas…...
文件分片上传接口(Easyswoole)被nginx拦截,并返回状态码400和408的抓包排查过程
场景:前端上传的视频文件过大,做了一个分片上传的接口, 调试接口的时候,后端EasySwoole程序接收不到请求,前端发现接口返回状态码408遇到的问题:一个文件分三片上传,第一次请求接口正常…...
DataX实战避坑:手把手教你用Shell脚本搞定MySQL多表同步(附完整脚本)
DataX多表同步实战:从脚本优化到生产级部署的全链路指南 MySQL数据同步是数据仓库建设中的基础环节,而DataX作为阿里巴巴开源的高效数据同步工具,在实际生产环境中却常常因为脚本设计不当导致维护成本激增。本文将从一个真实电商平台的订单系…...
RHClaw红队工具集:模块化CLI框架提升安全研究效率
1. 项目概述与核心价值最近在和一些做安全研究的朋友交流时,发现一个挺有意思的现象:大家手里或多或少都攒了一些自己写的、或者从开源社区淘来的“小工具”。这些工具往往功能单一但极其锋利,比如一个专门用来解析特定协议头的脚本ÿ…...
FreeRTOS日志任务设计----LogTask 日志任务
🎬 渡水无言:个人主页渡水无言 ❄专栏传送门: 《linux专栏》《嵌入式linux驱动开发》《linux系统移植专栏》 ❄专栏传送门: 《freertos专栏》 《STM32 HAL库专栏》《linux裸机开发专栏》 ❄专栏传送门:《产品测评专栏》…...
【Zotero-Perplexity协同系统白皮书】:基于127个真实科研场景验证的整合失败率下降91.6%的工程化方案
更多请点击: https://intelliparadigm.com 第一章:Zotero-Perplexity协同系统白皮书概览 Zotero-Perplexity协同系统是一个面向学术研究者的智能文献工作流增强框架,它将Zotero本地文献管理能力与Perplexity AI的实时语义检索、上下文感知问…...
哔哩下载姬DownKyi:B站视频下载的终极免费解决方案
哔哩下载姬DownKyi:B站视频下载的终极免费解决方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等ÿ…...
