OctoPrint + SimplyPrint = 覆盖整个设备群的云端 REST API
SimplyPrint与 OctoPrint并行运行,不会在 Pi上替换本地 OctoPrint。SimplyPrint OctoPrint插件将现有 OctoPrint主机连接到我们的云端,这些主机上的现有 OctoPrint API集成仍可继续运行。优势是面向整个机群的 REST:所有打印机共用一个基础 URL。
一个REST API,支持每台打印机,而非每个Pi各一个
如果您一直在调用http://pi-1.local/api/printer、http://pi-2.local/api/printer等地址,您一定了解其中的痛点:每台主机分别认证、分别开放防火墙、分别配置 SSL,没有共享队列,也没有共享耗材库存。SimplyPrint 用覆盖整个机群的单个云端 REST API 取而代之。
# Queue a print on a printer connected via the SimplyPrint OctoPrint plugin
curl -X POST "https://api.simplyprint.io/{companyId}/queue/AddItem" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"fileId": "your_gcode_file_id",
"amount": 1,
"for_printers": "17",
"position": "top"
}'
打印机ID在整个机群中唯一且稳定,其背后的主机不会显示在API中。将打印机从一台Pi移到另一台,打印机ID不会改变。
连接方式:SimplyPrint OctoPrint插件
SimplyPrint通过官方OctoPrint插件连接由OctoPrint托管的打印机。每台主机只需安装一次,插件便会将打印机关联至您的SimplyPrint账户,此后该打印机将作为标准打印机对象显示在SimplyPrint API中。
- OctoPrint继续运行:该主机上的现有OctoPrint界面、现有OctoPrint插件和现有OctoPrint REST集成都将继续正常工作。
- SimplyPrint增加机群层:云端面板、云端REST API、OAuth2、webhook、文件存储和多打印机打印队列。所有这些均无需更改OctoPrint自身的配置。
- 在支持的情况下跳过OctoPrint:Prusa MK4系列打印机可以使用SimplyPrint的开源固件套件(目前处于测试版,暂不支持摄像头),Klipper打印机则通过现有Klipper主机上的Moonraker连接,而非OctoPrint。无论哪种方式,API都会将它们视为同一打印机对象。
读取打印机状态并发送命令
无论打印机由OctoPrint托管还是通过其他方式连接,每个打印机控制端点的工作方式都相同。传入打印机ID,即可获得JSON。
# List every printer in the account - identical shape regardless of host
curl "https://api.simplyprint.io/{companyId}/printers/Get" \
-H "X-API-KEY: your_api_key_here"
发送您的固件支持的任何G-code,可让现有由G-code驱动的OctoPrint自动化通过SimplyPrint继续运行:
# Send a one-off G-code line through the SimplyPrint OctoPrint plugin
curl -X POST "https://api.simplyprint.io/{companyId}/printers/actions/SendGcode" \
-H "X-API-KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{ "pid": 17, "gcode": "M115" }'
SimplyPrint在OctoPrint的REST API之外还增加了什么
OctoPrint 的 REST 按主机划分并以打印机为中心。SimplyPrint 提供了管理打印机群的基础功能。多打印机队列、webhook 和持久化打印任务历史是 OctoPrint REST API 所不具备且 SimplyPrint 最常用的三项功能:
- 带审批和路由的多打印机队列:/queue/AddItem会自动选择兼容的打印机,或由您指定一台。无需再编写“哪个Pi空闲”的定制代码。
- Webhook推送事件:SimplyPrint在队列、文件、打印机、任务和耗材事件发生时立即向您的URL发出POST请求。无需轮询,不会错过事件。
- OAuth2合作伙伴应用流程:让其他店铺通过同意页面将自己的SimplyPrint账户连接到您的工具,这种模式无法用于每台主机的OctoPrint REST。
- 耗材管理:读取您工作室中的每个料盘,而非仅读取装入打印机热端的耗材。按打印任务跟踪重量、品牌、材料、颜色和干燥状态。
- 任务历史和统计端点:筛选和归档历史任务,并获取整个打印机群而非单个主机的成本和时间数据。
- 面向AI代理的MCP服务器:将同一打印机群作为原生工具接口提供给Claude、ChatGPT和Gemini。
从OctoPrint REST集成迁移
如果您当前有可用的 OctoPrint REST 代码,迁移可逐步进行,切换期间两者可并行运行:
- 1. 在每台已运行OctoPrint的主机上安装SimplyPrint OctoPrint插件。该插件不会禁用OctoPrint的REST,两个界面均保持可用。
- 2. 在账户设置 → API中生成SimplyPrint API密钥。
- 3. 逐个迁移端点,从只读(/printers/Get、/queue/GetItems)开始,再迁移写入操作。
- 4. 配置webhooks,以替代您一直使用的任何OctoPrint事件监听模式:SimplyPrint会将事件推送到您的URL,而不是在每台Pi上运行插件循环。
- 5. 移除各主机的端点,前提是您的代码已仅通过SimplyPrint云端读写。
SimplyPrint 云 REST API 的套餐访问权限
与SimplyPrint主API采用相同的套餐限制。免费版和基础版套餐不提供API;专业版及更高套餐解锁基础API;打印农场版及更高套餐解锁增强API(可修改队列并启动打印)。
| Función / límite | Gratis | Básico | Pro | Granja de impresión | Enterprise | Escuela | Cloud Slicer | Gestor de filamento |
|---|---|---|---|---|---|---|---|---|
|
每分钟API请求数
整个账户的所有API调用共享的滚动式每分钟限流器。
|
- | - | 60 | 180 | 600 | 180 | - | - |
|
基础API访问权限
读取每台已连接打印机的状态、打印队列、任务和历史记录。
|
||||||||
|
增强型API(启动打印、发送G-code)
解锁文件上传、会启动打印的队列变更和直接发送G-code。
|
||||||||
|
Webhooks(替代OctoPrint事件监听器)
打印农场套餐及以上。提供打印队列、文件、打印机、打印任务和耗材的推送事件。
|
¿Quieres saber más sobre nuestros planes?
Ver precios y comparativa completa de funciones
OctoPrint API 替代方案