关于 klippy_uds_address: /tmp/klippy_uds 的配置解析
一、核心作用
-
API 服务器通信路径
/tmp/klippy_uds是 Klipper 默认的 Unix 域套接字(Unix Domain Socket)地址,用于与 Moonraker 等外部服务通信。- 此路径需在启动 Klipper 时通过
-a参数显式指定,例如:bashCopy Code确保 Klipper 与 Moonraker 的 API 服务器建立连接。~/klippy-env/bin/python ~/klipper/klippy/klippy.py ~/printer.cfg -a /tmp/klippy_uds
-
Moonraker 集成要求
- Moonraker 需通过该路径将 HTTP 请求转发至 Klipper 的 API 接口,例如获取打印机状态或执行 G 代码指令。
- 在 Moonraker 配置文件中需声明
klippy_uds_address字段以匹配 Klipper 的启动参数。
二、常见问题排查
-
路径不匹配导致通信失败
- 若 Klipper 未使用
-a /tmp/klippy_uds启动,或 Moonraker 未正确配置相同路径,会导致服务间无法通信25。 - 检查 Klipper 启动日志中的
klippy.log文件,确认已加载 API 服务器模块并输出套接字地址。
- 若 Klipper 未使用
-
权限或文件系统问题
- 确保
/tmp目录的读写权限允许 Klipper 和 Moonraker 进程访问。 - 若使用 Docker 容器化部署,需将
/tmp目录挂载到容器内部。
- 确保
三、高级配置示例
yamlCopy Code
# Moonraker 配置文件片段(moonraker.conf) [server] host: 0.0.0.0 port: 7125 [klippy_uds] address: /tmp/klippy_uds # 必须与 Klipper 启动参数一致 四、相关功能扩展
-
API 请求格式
- 通过套接字发送的请求需使用 JSON 格式,并以 ASCII 字符
0x03结尾。 - 支持订阅数据变化(如
objects/subscribe),Klipper 会主动推送更新。
- 通过套接字发送的请求需使用 JSON 格式,并以 ASCII 字符
-
调试工具
- 使用
socat或nc命令行工具直接与套接字交互,验证通信是否正常:bashCopy Codeecho '{\"method\": \"info\"}\x03' | socat - UNIX-CONNECT:/tmp/klippy_uds ```:ml-citation{ref="5,6" data="citationList"}
- 使用
总结:klippy_uds_address 是 Klipper 与 Moonraker 通信的关键配置,需确保路径一致性与权限正确性25。

浙公网安备 33010602011771号