Hostowany zamiennik REST API OctoPrint dla flot drukarek

OctoPrint Alternatywa dla API OctoPrint

Jeśli istnieje kod komunikujący się dziś z REST API OctoPrint, SimplyPrint oferuje hostowaną alternatywę dla całej floty. Te same operacje na drukarce, uruchamianie, wstrzymywanie, wznawianie, wysyłanie G-code i pobieranie stanu, są udostępnione dla każdej drukarki na koncie przez jeden klucz API, jeden przepływ OAuth2 i jeden bazowy URL. Można uruchomić ją równolegle z istniejącymi hostami OctoPrint za pomocą naszej wtyczki albo całkowicie pominąć Pi na drukarkach zintegrowanych bezpośrednio z firmware.

Zobacz przegląd funkcji: API Rozpocznij za darmo Więcej informacji i poradnik
Ilustracja funkcji

OctoPrint + SimplyPrint = chmurowe REST API dla całej floty

SimplyPrint działa obok OctoPrint, nie zastępuje lokalnie OctoPrint na Pi. Wtyczka SimplyPrint do OctoPrint łączy istniejące hosty OctoPrint z naszą chmurą, a dotychczasowe integracje API OctoPrint na tych hostach nadal działają. Korzyść to REST dla całej floty: jeden bazowy URL dla każdej drukarki.

Jedno REST API dla każdej drukarki, nie jedno na Pi

Jeśli komunikacja odbywa się z http://pi-1.local/api/printer, http://pi-2.local/api/printer i tak dalej, problem jest znany: osobne uwierzytelnianie, osobne reguły zapory i osobne SSL dla każdego hosta, brak wspólnej kolejki i wspólnego magazynu filamentu. SimplyPrint zastępuje to jednym chmurowym REST API dla całej floty.

# 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 drukarki jest stałe w całej flocie; maszyna hostująca nie pojawia się w API. Przeniesienie drukarki z jednego Pi na inny nie zmienia jej ID.

Jak działa połączenie: wtyczka SimplyPrint do OctoPrint

SimplyPrint łączy się z drukarkami hostowanymi przez OctoPrint przez oficjalną wtyczkę OctoPrint. Wystarczy zainstalować ją raz na hosta, wtyczka łączy drukarkę z kontem SimplyPrint, a następnie drukarka pojawia się jako standardowy obiekt drukarki w API SimplyPrint.

  • OctoPrint nadal działa: dotychczasowy interfejs OctoPrint, istniejące wtyczki OctoPrint i istniejące integracje REST OctoPrint na tym hoście nadal działają.
  • SimplyPrint dodaje warstwę zarządzania flotą: panel w chmurze, REST API w chmurze, OAuth2, webhooki, przechowywanie plików, kolejkę dla wielu drukarek. Nic z tego nie wymaga ingerencji w konfigurację OctoPrint.
  • Pomiń OctoPrint tam, gdzie jest to obsługiwane: drukarki Prusa z rodziny MK4 mogą używać pakietu firmware open source SimplyPrint, obecnie w wersji beta i jeszcze bez obsługi kamery, a drukarki Klipper łączą się przez Moonraker na istniejącym hoście Klipper zamiast przez OctoPrint. W obu przypadkach API traktuje je jako ten sam obiekt drukarki.

Przewodnik konfiguracji wtyczki
Ilustracja funkcji
Ilustracja funkcji

Odczyt stanu drukarki, wysyłanie poleceń

Każdy punkt końcowy sterowania drukarką działa tak samo niezależnie od tego, czy drukarka jest hostowana przez OctoPrint, czy połączona inną drogą. Wystarczy przekazać ID drukarki, aby otrzymać 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"
Można wysłać dowolny G-code obsługiwany przez oprogramowanie sprzętowe, aby istniejące automatyzacje OctoPrint oparte na G-code nadal działały za pośrednictwem 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" }'

Co SimplyPrint dodaje poza REST API OctoPrint

REST API OctoPrint działa na poziomie hosta i drukarki. SimplyPrint dodaje funkcje dla flot. Kolejka wielu drukarek, webhooki i trwała historia zadań to trzy najczęściej używane funkcje SimplyPrint, których nie ma w REST API OctoPrint:

  • Kolejka dla wielu drukarek z zatwierdzaniem i kierowaniem: /queue/AddItem automatycznie wybiera zgodną drukarkę lub pozwala wskazać konkretną. Koniec z niestandardowym kodem „który Pi jest wolny”.
  • Zdarzenia push Webhook: SimplyPrint wysyła żądania POST dotyczące kolejki, plików, drukarek, zadań i filamentu na wskazany URL w chwili ich wystąpienia. Bez odpytywania i bez pominiętych zdarzeń.
  • Przepływ aplikacji partnera OAuth2: inne firmy mogą połączyć własne konto SimplyPrint z narzędziem przez ekran zgody, taki model nie jest możliwy w przypadku REST OctoPrint na każdym hoście.
  • Menedżer filamentu: odczyt wszystkich szpul w pracowni, nie tylko tych załadowanych do hotendu drukarki. Śledzenie masy dla każdego wydruku, marka, materiał, kolor i stan suszenia.
  • Punkty końcowe historii zadań i statystyk: umożliwiają filtrowanie wcześniejszych zadań, ich archiwizowanie oraz pobieranie danych o kosztach i czasie dla całej floty, nie dla każdego hosta.
  • Serwer MCP dla agentów AI: ta sama flota dostępna dla Claude, ChatGPT i Gemini jako natywne narzędzie.

Ilustracja funkcji
Ilustracja funkcji

Migracja z integracji OctoPrint REST

Jeśli istnieje działający kod OctoPrint REST, migrację można przeprowadzać stopniowo, a oba rozwiązania mogą działać równolegle podczas przełączania:

  • 1. Zainstaluj wtyczkę SimplyPrint do OctoPrint na każdym hoście, na którym działa już OctoPrint. Wtyczka nie wyłącza REST OctoPrint, oba interfejsy pozostają aktywne.
  • 2. Wygenerować klucz API SimplyPrint w ustawieniach konta → API.
  • 3. Przenoś po jednym punkcie końcowym: zacznij od operacji tylko do odczytu (/printers/Get, /queue/GetItems), a dopiero potem przejdź do operacji zapisu.
  • 4. Konfiguracja Webhooks: pozwala zastąpić używany model nasłuchiwania zdarzeń OctoPrint. SimplyPrint wysyła zdarzenia do URL zamiast uruchamiać pętlę wtyczki na każdym Pi.
  • 5. Usunąć endpointy poszczególnych hostów, gdy kod odczytuje i zapisuje wyłącznie przez chmurę SimplyPrint.
Potrzebna pomoc w przypisaniu konkretnego punktu końcowego OctoPrint do jego odpowiednika w SimplyPrint? Pełna dokumentacja API zawiera każdy punkt końcowy wraz z przykładami.

Dostęp w planach do chmurowego API REST SimplyPrint

Takie same ograniczenia planów jak w głównym API SimplyPrint. Plany Free i Basic nie udostępniają API; Pro i wyższe odblokowują Basic API; Print Farm i wyższe odblokowują Enhanced (możliwość zapisu przy modyfikacji kolejki i uruchamianiu wydruków).

Funkcja / limit Za darmo Basic Pro Farma druku Enterprise Szkoła Slicer w chmurze Menedżer filamentu
Żądania API na minutę
Kroczący limit liczby wywołań na minutę, wspólny dla wszystkich wywołań API konta.
- - 60 180 600 180 - -
Dostęp do podstawowego API
Odczyt stanu, kolejki wydruków, zadań i historii każdej podłączonej drukarki.
Rozszerzone API (rozpoczynanie wydruków, wysyłanie G-code)
Odblokowuje przesyłanie plików, modyfikacje kolejki uruchamiające wydruki i bezpośrednie wysyłanie G-code.
Webhooks (zastępują nasłuchiwanie zdarzeń OctoPrint)
Plan Print Farm i wyższe. Zdarzenia push dla kolejki, plików, drukarek, zadań i filamentu.

Więcej informacji o naszych planach?

Zobacz pełny cennik i porównanie funkcji

Najczęstsze pytania o zamiennik OctoPrint

Nie. Wtyczka SimplyPrint do OctoPrint działa wewnątrz OctoPrint, więc OctoPrint działa normalnie. Korzyścią jest udostępnienie przez API chmury SimplyPrint każdej drukarki we flocie pod jednym bazowym URL, zamiast osobnego łączenia się z każdym Pi.
Tak. Wtyczka SimplyPrint działa obok innych zainstalowanych wtyczek OctoPrint. Interfejs OctoPrint ani interfejs REST nie są usuwane, oba nadal działają.
Jeśli drukarki są obsługiwane, można zrezygnować z OctoPrint i użyć innej ścieżki: rodzina Prusa MK4 przez otwarty pakiet firmware SimplyPrint (beta, na razie bez kamery internetowej) albo Klipper przez Moonraker na istniejącym hoście Klipper. Drukarki Bambu Lab łączą się przez most SimplyPrint Bambu Lab Client na Raspberry Pi lub mini PC. W obu przypadkach API traktuje drukarkę tak samo.
SimplyPrint przypisuje stabilny numeryczny identyfikator drukarki przy jej pierwszym połączeniu. ID jest zapisany na koncie SimplyPrint, nie na hoście, więc przeniesienie drukarki z jednego Pi na inny nie zmienia ID drukarki używanego przez kod API.
Tak, to zalecana ścieżka migracji. Wtyczkę SimplyPrint można zainstalować, przenosić po jednym endpoincie i pozostawić aktywny interfejs REST OctoPrint do czasu uzyskania pewności co do ścieżki kodu SimplyPrint.
Tak. Przepływ OAuth2 pozwala każdemu sklepowi połączyć własne konto SimplyPrint z aplikacją przez ekran zgody, bez wspólnych kluczy API. Szczegóły OAuth2 i formularz wniosku o klienta API znajdują się na głównej stronie API.

Spis treści