|
117047| 25
|
[教程] 跟着思兼学习Klipper(14) 卷起来了,手机与Klipper的四次结缘 |

跟着思兼学习Klipper(14) 卷起来了,手机与Klipper前言原创文章,转载引用请务必注明链接,水平有限,如有疏漏,欢迎指正交流。注意本文不是新手教程,仅做个人记录所用。 文章如有更新请访问 DFRobot社区。 欢迎对 Klipper 固件感兴趣,以及对改版 CNC 加工的 Voron 三叉戟、v0、v2.4 感兴趣的朋友加群交流(QQ Group:490111638) 不得不说国内的Klipper上位机真是啥都有,树莓派,各种派,电视盒子,手机,x86电脑,虚拟机。 本文介绍 1 种手机作为 KlipperScreen 显示触摸屏的方案和 3 种手机作为 Klipper上位机的方案。
1、XServer XSDL (显示触摸方案)具体可以参考教程:AndroidKlipperScreen,以及十分推荐 路特皮卡实验室 的独立视频教程 如何使用安卓手机做KlipperScreen。
原理: X窗口系统(X Window System,也常称为 X11 或 X )是 Linux 系统上常见的一种以位图方式显示的软件窗口系统)。Client 传输图形数据到 Server 上,与 Windows 不同,Server 和 Client 可以不在同一台设备上,用过 Xshell/MobaXterm 的 X 转发(X-Forward)功能的朋友应该都不陌生,这里不再赘述。
【Fig 1】X-客户端与 X-服务端,Source:x11.gweb.info 这里的原理就是在安卓手机上安装一个 X-Server 软件 XSDL,然后通过 adb 将 KlipperScreen 的图像显示到手机上,从而实现有线/无线触摸屏的功能,这在我之前的视频 花式KlipperScreen玩法 里有展示。 2、手机安装原生主线内核 Linux本方案的最大问题是挑机子,不通用。 这个是最彻底的方法,感谢网友 原理: 在手机上安装完整的 Linux 系统,继而安装 Klipper + Moonraker + KlipperScreen + Fluidd(Optional),甚至可以通过 USB-OTG 接口连接下位机主板,算是 All-in-One 的方案。 2.1 安装 Linux 操作系统Android 操作系统虽然基于 Linux,但是做了很多改动,缺少一些内容,无法获得完整的 Linux 操作体验,所以便有了一些适用于手机的操作系统,例如 Ubuntu Touch(UBports)、Mobian、PostmarketOS 等,但是由于 Android 手机型号众多,有很多专有硬件驱动,甚至不提供 Linux 内核源码,导致并不是所有设备都能良好支持。 2.1.1 操作系统选择目前完成度比较好的为 PostmarketOS(以下简称 pos),其基于
2.1.2 手机设备选择查看 POS Devices 页面可以看到设备的支持情况,其中 RedMi2 脱颖而出,除了目前基本都暂时无法驱动的摄像头外,都可以驱动。同时由于红米手机价格便宜,市场保有量大,所以闲鱼市场50~80就可以收到。这里说两个问题: 为什么红米2支持这么好最初关注 pos 的时候,最好的支持设备时诺基亚 N900,原因是其默认系统 后来 ARROW 发布了一款 96boards 开发板 DragonBoard 410c,基于 Qualcomm Snapdragon 410 处理器,受到高通和 Linaro 基金会的良好软件支持,所以一众使用 410/410c (MSM8916) 处理器的设备都坐上了飞机,红米2就是其中之一。
【Fig 2】DragonBoard 410c 开发板,板载 GPS,是高通为数不多的不需要签署保密协议且价格低廉的开发板。 购买什么型号的红米2红米2型号众多,电信版、移动版,还有使用联发科处理器的红米2A,移动增强版2A,具体从microUSB接口打开后盖,查看手机电池下面的背板编号,图中所示为2014812:
请确认购买的手机背码位以上。
以上都是我真实遇到的,由此可见还是比较挑机子的。 2.1.3 烧录前准备需要原来的系统版本为 5.x,因为要用到它的一些固件(firmware),如果手机系统是 Android 4.x 可以从这里下载 MIUI 5.1 官方系统进行升级: 使用 小米刷机工具 或者 fastboot 进行烧录即可。 也可以烧录 LineageOS,具体借助 TWRP Recovery,教程见此处:Install LineageOS on wt88047 。经常刷机的朋友轻车熟路了。 还可以参考 pos 的教程第 1/2 步。 2.1.4 烧录 Mobian Linux教程可以参考 红米2刷 Debian 系统,预编译的系统镜像可以从 mobian-wt88047 项目页面右侧
【Fig 3】Mobian 的 Phosh 用户界面
2.2 安装 Klipper 全家桶注意 KlipperScreen 使用 X11 显示,Phosh 使用 Wayland 显示,所以我们要卸载 Phosh,并需要安装触摸驱动程序
2.3 安装 KlipperScreen各单位注意,这个 KScreen 是基于 Raspberrypi OS 开发的,所以在其他操作系统上会出现依赖包没装全的问题。此外新版做了些优化同时引入了新的问题。
新版采用
有的发行版缺少
2.3.1 解决横屏显示及触摸校准问题很多人卡在这里了,虽然竖着也能用,实际上了解 X11 的应该会想到修改 xorg.conf。其实官方文档有示例 DISPLAY:
同时修改触摸屏幕的对应矩阵:
2.3.2 杂项安装 KScreen 之后无法关闭屏幕以及显示电量,可以写个宏借助
设置显示中文:
以上应该就可以了。其默认会读取以下三个地方的配置文件,根据情况修改即可。
2.4 供电问题【重要】现状:
目前比较好的方案就是使用假电池,改 DC 直供,手机需要检测电池信号,不能只接正负极。借鉴
其他想到再补充吧。 3、Termux + Klipper 全家桶也就是网友 SYZ-Channel 的方案,感谢作者提供的新思路。
Termux 是 一个运行在安卓系统上的终端模拟器和 Linux 运行环境(Terminal emulator and Linux environment for Android),共享宿主机内核空间,有些类似于 Cygwin 和 容器?我也没研究过,感觉可以这样理解。类似的还有国内的 AidLux,值得一试。 还有一个 Linux Deploy 则是相当于 Android 虚拟机方案:
开发停滞,而且性能会差一些。 问题
以上,有空测试一下。 4、Octo4a + Klipper本方案的最大问题就是安装下载环境时需要挂代理加速。 相信很多人都听说过 Octo4a (以下简称 o4a)这个安卓软件,可以在支持 OTG 的老旧手机上安装 OctoPrint 服务器。
特点:
4.1 第一回合:而我们今天就要会一会 octo4a,简记如下
4.2 到我登场表演了!关闭地图软件,下面我们把舞台交给 MobaXterm,根据手机的 IP 地址登录,用户名
至此,Klipper 插件安装完成,由于没有安装编译链,所以不支持编译固件。同时也不需要 Moonraker API,由 OctoPrint 直接通讯。 4.3 配置 OctoPrint 和 Klipper
写到这有点泄气了,写累了,先把框架搭进去后面扩充吧。
【Fig 】octo4a 自动识别并连接刷好 Klipper 固件的主板,无需 root,无需重新编译内核
【Fig 】Klipper Ready! 4.4 OctoPrint APP连接之后,一般的用法就是从网页或者APP登录,手机嘛就安安静静当个摄像头+上位机吧。如果你不甘寂寞,也可以在它上面安装 OctoPrint 的 APP,通过面板进行控制,这里介绍三款:
【Fig 】从左到右分别为 详细的介绍可以移步文章: OctoRemote: How to Use OctoPrint on Android |
萌萌哒新人
活跃会员
宣传大使
版主限定
牛X认证
老版主限定
创作达人
小蘑菇
编辑选择奖
ARD DAY
编辑选择奖
摸鱼团员
编辑选择奖
志“童”道合
编辑选择奖
编辑选择奖
编辑选择奖
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed