Snapmaker

🖨️ Snapmaker 2.0 远程控制中枢

基于 HTTP API 远程控制 Snapmaker 2.0 3D 打印机,支持状态监控、任务管理与实时进度追踪,需配置 IP 与 Token 使用。

收藏
6.1k
安装
2.3k
版本
1.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

本技能通过 Python 脚本封装 Snapmaker 2.0 的官方 HTTP API,提供完整的 3D 打印机远程控制能力。用户需在 ~/clawd/snapmaker/config.json 中配置打印机 IP、Token 和端口(默认 8080),Token 需从 Snapmaker Luban 应用中获取。

主要功能模块:

  • 设备发现:通过 UDP 广播(端口 20054)自动发现局域网内打印机,支持跨子网指定 IP 探测
  • 状态监控:实时获取打印状态、温度数据(喷头/热床)、当前坐标、进度百分比及剩余时间
  • 任务管理:发送 G-code 文件、启停打印、暂停/恢复作业,所有破坏性操作默认需确认
  • 事件通知:支持轮询检测打印完成、断料、舱门开启等状态

典型工作流:

# 发现设备 → 发送文件 → 启动作业 → 监控进度
python3 scripts/snapmaker.py discover
python3 scripts/snapmaker.py send ~/model.gcode --start --yes
python3 scripts/snapmaker.py watch

显著优点

  • 完整的作业生命周期管理:覆盖从文件上传到打印完成的全流程,支持 JSON 输出便于脚本集成
  • 多重安全保护:活动打印保护、确认提示、状态校验三层机制,防止误操作损坏正在进行的作业
  • 灵活的发现机制:UDP 广播 + HTTP 回退双模式,适应复杂网络环境
  • 实时数据丰富:除基础进度外,提供 G-code 行级进度、温度曲线、坐标位置等详细遥测

潜在缺点与局限性

  • 协议非官方文档化:API 源于社区逆向(forum.snapmaker.com 讨论帖),存在随固件更新失效的风险
  • 依赖 Token 持久性:连接会话在打印机重启后失效,需重新获取 Token
  • 无加密传输:HTTP 明文通信,Token 与 G-code 文件在局域网内裸传
  • 仅限 Snapmaker 2.0:不兼容 Artisan、J1 等新机型或其他品牌打印机
  • Python 依赖:需预装 Python 3.6+ 及 requests 库

适合人群

  • 拥有 Snapmaker 2.0 打印机且希望实现自动化打印流程的进阶用户
  • 需要批量管理多台打印机或集成到 CI/CD 流程的创客空间/小型工作室
  • 熟悉命令行操作、具备基础网络调试能力的 3D 打印爱好者

常规风险

  • 网络暴露风险:若将打印机端口暴露至公网,API 缺乏认证强度,易被未授权访问
  • 物理安全风险:远程启停打印可能绕过现场安全检查(如舱门开启、异物检测)
  • 固件兼容性:非官方 API 可能在固件更新后行为变更,导致控制失败或异常
  • 数据完整性:G-code 上传无校验机制,网络中断可能导致打印异常

配置要点

Token 获取路径:Luban 应用 → 连接打印机 → 连接设置 → 复制 Token。建议配置后执行 status 命令验证连通性。

Snapmaker 内容

references文件夹
scripts文件夹
手动下载zip · 12.7 kB
API_NOTES.mdtext/markdown
请选择文件