# Plotter Hub

> 在网络上绘图。

Plotter Hub 把一台 Raspberry Pi 变成联网的绘图服务器，服务于你的 AxiDraw 兼容笔式绘图仪。从你的电脑提交 SVG，剩下的整段绘图过程都交给 Pi 在本地从头到尾完成。

Plotter Hub 是一款运行在 Raspberry Pi 上的自托管绘图服务器，面向 AxiDraw 级别的笔式绘图仪。在浏览器里拖入一个 SVG，Pi 就会通过官方 AxiDraw Python API 在本地驱动绘图仪——支持逐图层绘图、换笔暂停、纸张尺寸预设、可选的 vpype 路径优化、实时笔位光标，以及物理暂停按钮。基于 MIT 许可证免费开源。

- **Developer:** Synendo
- **Website:** https://www.synendo.com/zh-Hans/plotterhub/
- **Requirements:** 需要 Raspberry Pi OS
- **在 GitHub 上查看:** https://github.com/Synendo/PlotterHub

## 给你的笔式绘图仪配一台小服务器

Plotter Hub 适合 [AxiDraw](https://wiki.evilmadscientist.com/AxiDraw) 级别的绘图仪——它们不该为每次绘图都接一台电脑。把绘图仪和 Raspberry Pi 连接一次，之后就能从本地网络上的任意设备提交绘图任务。拖入一个带 Inkscape 图层的 SVG，Plotter Hub 就会逐层绘制它——或者通过它的 HTTP API 发送任务。[GD Studio](https://www.synendo.com/zh-Hans/gdstudio/)，Synendo 为 Mac 打造的生成式绘图应用，正是借助这个 API 直接从画布绘制到你的笔式绘图仪。

## 功能

Plotter Hub 为你提供日常 SVG 绘图所需的各项控制，又不会把页面变成一块密密麻麻的控制面板。

- 拖放上传 SVG
- 选择 Inkscape 图层
- 在图层之间暂停以便换笔
- 纸张预设、方向、边距和适应页面
- 抬笔与落笔速度控制
- 可选的 [vpype](https://vpype.readthedocs.io/en/latest/) 优化
- 实时进度、时间估算和笔位预览
- 暂停、继续、取消，以及物理暂停按钮支持
- 作为后台服务运行——开机自启
- 应用内一键更新
- 面向配套应用和脚本的 HTTP API

**感谢 Evil Mad Scientist。** Plotter Hub 构建在他们出色的开源 [AxiDraw Python API](https://axidraw.com/doc/py_api/)（GPL-2.0）之上，正是它在背后驱动绘图仪。Plotter Hub 本身也是采用 MIT 许可证的自由开源软件。

## 系统要求

你需要：

- Raspberry Pi Zero 2 W、3B+ 或更新机型
- Raspberry Pi OS Bookworm 或 Trixie——推荐使用 Lite 版（无桌面环境）
- 一台 AxiDraw 级别的 USB 绘图仪
- 一个可信的本地网络

Raspberry Pi Zero 2 W 作为常开的绘图服务器表现很好。Raspberry Pi 3B+ 能带来更流畅的预览和安装体验。如果 Plotter Hub 是唯一运行的程序，那么 Pi 4 或 5 通常没有必要。全新安装用 [Raspberry Pi Imager](https://www.raspberrypi.com/software/) 最为简单。

## 使用方法

1. **安装到你的 Pi** — 通过 SSH 登录你的 Raspberry Pi，克隆仓库，运行 ./install.sh。它会创建一个虚拟环境，安装 AxiDraw API 和 vpype，把 Plotter Hub 注册为 systemd 服务，完成后还会打印出要打开的网址。

   通过 SSH 登录你的 Raspberry Pi

   ```
   % ssh plotter@plotterhub.local
   ```

   更新软件包索引并安装 git

   ```
   plotter@plotterhub:~ sudo apt update && sudo apt install -y git
   ```

   克隆 Plotter Hub 仓库

   ```
   plotter@plotterhub:~ git clone https://github.com/Synendo/PlotterHub.git ~/PlotterHub
   ```

   进入安装目录

   ```
   plotter@plotterhub:~ cd ~/PlotterHub
   ```

   开始安装

   ```
   plotter@plotterhub:~/PlotterHub $ ./install.sh
   ```
2. **打开网页界面** — 从你网络上的任意设备访问 http://plotterhub.local，或你 Pi 的主机名。无需登录，也不用安装桌面应用——它就像网络打印机的网页一样工作。
3. **拖入 SVG 并设置它** — 拖放你的 SVG，选择要绘制哪些 Inkscape 图层，挑选纸张预设和边距，并可选地启用 vpype 优化。绘图前，Plotter Hub 会估算时间、绘制距离、移动距离和抬笔次数。
4. **跟踪并控制绘图** — 在网页界面里实时跟随绘图——笔位光标和进度条会随着绘制不断更新——你可以从这里暂停、继续或取消。任务一旦提交，你的电脑就不再需要保持连接。如果你的绘图仪带有物理暂停按钮，你也可以用它，比如在换层后继续绘制。

## 配套应用: 用 GD Studio 设计

Plotter Hub 把你的作品绘到纸上，而 GD Studio 正是你创作它们的地方——Synendo 为 macOS 打造的生成式笔式绘图应用。从 8 大类、50 种图案中任选其一，借助实时控件塑造它们，再叠加文字与导入的 SVG。每个设计都由连续笔触构成，因此画布会精确呈现笔尖将要绘制的内容。最棒的是，GD Studio 会通过你的网络把作品直接发送到 Plotter Hub——无需导出，也无需搬运文件。

[探索 GD Studio](https://www.synendo.com/zh-Hans/gdstudio/)

## Plotter Hub 常见问题

**绘图时我的电脑需要一直保持连接吗？**

不需要。SVG 一旦提交，Raspberry Pi 就会在本地完成整段绘图。

**它能配合我的绘图仪吗？**

Plotter Hub 为 AxiDraw 级别的笔式绘图仪打造：也就是可以通过 AxiDraw Python API 或兼容的 AxiDraw 风格命令工作流来控制的设备。例如：
- AxiDraw 绘图仪——例如 AxiDraw V3/A4、V3/A3、SE/A4 或 MiniKit。
- 兼容 AxiDraw 的 iDraw 绘图仪——例如 iDraw H SE A3。
- NextDraw 级别的绘图仪——例如 NextDraw 8511 或 1117，前提是通过兼容的 NextDraw/AxiDraw 风格工作流获得支持。
- 基于 EBB 的自定义 XY 绘图仪——面向高级用户，前提是将设备配置为表现得像 AxiDraw 级别的绘图仪。
如果你的绘图仪支持 AxiDraw Python API 或兼容的 AxiDraw 风格命令工作流，它应该能配合 Plotter Hub 使用。

**我需要 Inkscape 吗，哪些 SVG 可以用？**

任何可绘制的 SVG 都可以用——也就是笔式绘图仪能实际画出来的线条和描边图形。Inkscape 也不是必需的；它只在图层分离这件事上有意义：如果你的文件带有 Inkscape 图层，Plotter Hub 会检测到它们，这样你就能选择绘制哪些图层，并在图层之间暂停换笔。没有图层时，它就直接绘制整张图。

**我可以在图层之间换笔吗？**

可以。Plotter Hub 能在图层之间暂停，这样你就可以换笔并继续绘图。

**我可以用物理方式暂停绘图吗？**

可以，在受支持的绘图仪上。物理暂停按钮可以暂停和继续绘图，并在换笔暂停期间继续进入下一图层。

**我可以从另一台电脑使用它吗？**

可以。同一本地网络上的任意设备都能打开 Plotter Hub 的网页界面并提交 SVG。

**Plotter Hub 有登录功能吗？**

没有。Plotter Hub 是为可信的本地网络设计的，就像网络打印机的网页一样。不要把它直接暴露到互联网上。如需远程访问，请使用 Tailscale 或 WireGuard 之类的 VPN。

**我该如何更新 Plotter Hub？**

当有更新版本发布时，网页界面里会出现一个横幅，提供一键更新——Plotter Hub 会拉取最新版本，重新运行安装程序，然后自行恢复在线。你也可以通过 SSH 执行 git pull 并重新运行 ./install.sh 来更新。绘图进行期间更新会被阻止，而你的设置、任务队列和上传内容始终会被保留。

**重启或重新启动后绘图任务还在吗？**

在。Plotter Hub 作为服务运行并开机自启，任务队列会保存到磁盘——所以重新启动后，被暂停的绘图会作为可继续的任务恢复。绘图途中停止服务也会先抬起笔。

**有 API 吗？**

有。Plotter Hub 内置一个面向配套应用和脚本的 HTTP API，由自动生成的 API 密钥保护。端点参考请见 [API 文档](https://github.com/Synendo/PlotterHub/blob/main/API.md)。

**它是免费的吗？**

是的。Plotter Hub 免费开源（MIT 许可证）。

---

## Legal & support

- 在 GitHub 上查看: https://github.com/Synendo/PlotterHub

## 更多 Synendo 应用

- [VisionTagger](https://www.synendo.com/zh-Hans/visiontagger/) — 再也不用手动给照片打标签。
- [GD Studio](https://www.synendo.com/zh-Hans/gdstudio/) — 生成式艺术，为绘图而生。

## Other languages

- en: https://www.synendo.com/plotterhub/
- nl: https://www.synendo.com/nl/plotterhub/
- de: https://www.synendo.com/de/plotterhub/
- ja: https://www.synendo.com/ja/plotterhub/
- fr: https://www.synendo.com/fr/plotterhub/
- es: https://www.synendo.com/es/plotterhub/
- it: https://www.synendo.com/it/plotterhub/
- pt: https://www.synendo.com/pt/plotterhub/
- ko: https://www.synendo.com/ko/plotterhub/
