红米上位机到手不是插上你的主板就能用的!小白总是以为买来上位机插上就万事大吉。能正确使用需要经过:编译打印机主板固件、打印机主板刷机、在红米中上传主板的配置文件。这三个步骤。。。
第一步,给主板刷写固件。这里以我手头的闪铸天鹰座主板为例。其它型号主板的资料可以在我仓库中的printers文件夹中查看,或者找你打印机主板的客服获取。
https://github.com/umeiko/KlipperPhonesLinux/tree/main/printers
首先红米上电,连接wifi后(Klipper连接wifi搜网这一步可能会耗费较长时间,需要耐心等待),查看ip地址。假设ip为“192.168.1.110”,在网页浏览器中通过 “http://192.168.1.110:8888” 这个网址即可连接到红米的控制台。你需要将这个网址里的ip地址替换为你自己红米上显示的ip地址。按照下图中的方式在网页中登录信息连接到红米控制台

首先安装交叉编译器,完整复制一下命令到控制台中,回车确认。
sudo apt update && sudo apt install avrdude gcc-avr binutils-avr avr-libc stm32flash libnewlib-arm-none-eabi gcc-arm-none-eabi binutils-arm-none-eabi pkg-config -y
注意,只要涉及sudo的命令都会提示输入密码,输入密码请输入“1234”后回车。输密码的时候屏幕是不会显示内容的,不要以为你的键盘坏了或者控制台没反应,正常输入1234然后回车就行了。

请确认这个命令是运行成功了的,网不好的时候会花费10分钟甚至更久。

多次执行后这个安装命令,直到这边都显示这些软件都已经安装,并且没有报错,就可以了!
下一步,为你的主板编译固件。输入如下命令后,在按照你搜到的主板配置方案,配置编译菜单。按照截图一项项的选,直到选的和截图一样就可以了!
cd ~/klipper && make menuconfig
设置好以后按 q 之后按 y 保存并退出。如果看到提醒你安装交叉编译器的输出,请无视。下图是我的闪铸天鹰座主板的配置,仅做参考,不要套用到你的主板上。

接下来输入如下命令编译,如果看到提醒你安装交叉编译器的输出,请无视。
make -j4
编译完成后,可以通过 “文件管理” 功能把固件下载到你的电脑上。

然后用下载的这个固件给主板刷机即可,如图示是闪铸天鹰座主板的,别的主板自行参考。
0. 下载 klipper.bin
1. 将 TF (建议16G以下,太大了不认卡,FAT、FAT32格式)卡插入读卡器
2. 将读卡器插入电脑的 USB 接口
3. 在 TF 卡中新建一个文件夹,名为firmware
4. 将 klipper.bin 文件复制到“firmware”文件夹中
5. 将 TF 卡插入机器的 TF 卡座
6. 重新启动机器
按照图示方法通过usb线连接到主板后,断电重启手机。如果使用直供电主板,请确保主板的开关在 “连接下位机” 档位


连接好线路后,使用 "lsusb"命令查看线路连接情况,参考下图:

将主板的配置文件“printer.cfg”通过fluidd网页端 “http://你手机的ip地址” 上传到你的红米手机中。不要覆盖除了这个文件以外的其它文件,否则klipper全家桶会崩溃!

通过以下命令在8888网页中查找serial地址:
ls /dev/serial/by-id/*
此时应该如下图这样,查询到一个serial地址。如果没有查询到的话,请回到上文中的 “上位机与打印机主板连线” 章节,从头排查连线及连接问题。

回到你的fluidd网页中,编辑 “printer.cfg”,在其中找到 “mcu” 小节,将刚才查询到的serial地址填入到相应位置,如下图所示:

修改完成后,点击 “保存并重启” 按钮,如果没有问题的话,等待片刻后上位机应该就连接到了打印机主板,可以观察到如下情况:

如果此时仍然无法连接到打印机主板的话,则说明打印机主板中没有刷好Klipper固件,回到上文中 “给打印机主板刷机” 部分重新做。
Q: 一移动电机,就报错 “timer too close”
A: 这个是错误地读取红米cpu温度导致的异常,需要删除”printer.cfg“中的“上位机温度检测“段落: sensor_type: temperature_host
Q: 报错 ”ADC out of range“
A: 这个是你的主板没有插入热敏电阻,导致的温度传感器报错。把热敏电阻安装好再连接主板。