
كيفية إصلاح أخطاء اتصال WebSocket الخاص بـ Moonraker في Printer Tools
استكشاف أخطاء WebSocket الخاص بـ Moonraker وإصلاحها
الإجابة السريعة
يحافظ تطبيق Printer Tools على اتصال WebSocket نشط مع Moonraker على العنوان ws(s)://<host>/websocket ويعيد الاتصال تلقائيًا كل 5 ثوانٍ في حال انقطاعه. تأتي معظم أخطاء الاتصال من مضيف يتعذّر الوصول إليه، أو عنوان IP تغيّر، أو Klippy لم يصبح جاهزًا بعد، وليس من التطبيق نفسه. فحص هذه الأمور الثلاثة أولًا يحل معظم الحالات.
ما الذي تحتاجه
- عنوان IP المحلي الدقيق أو اسم المضيف الذي تستخدمه الطابعة التي تشغّل Moonraker حاليًا
- تأكيد أن Klippy يُظهر الحالة Ready وليس Error أو Shutdown
- نفس الشبكة التي يمكن الوصول إليها من الهاتف أو الكمبيوتر ومن مضيف الطابعة معًا
- العنوان الكامل، بما في ذلك المخطط والمنفذ، إذا كان إعدادك يستخدم HTTPS أو وكيلًا عكسيًا
- أي مفتاح API لـ Moonraker أو رمز Bearer أو بيانات اعتماد Basic Auth يتطلبها التثبيت لديك
تشخيص خطأ WebSocket الخاص بـ Moonraker
- 1
تأكد أن Klippy جاهز فعليًا
افتح المضيف نفسه في متصفح أو في Mainsail أو Fluidd إذا كانا مثبّتين لديك. إذا أظهر Klippy هناك أيضًا Error أو Shutdown، فالمشكلة في Klipper أو في ملف printer.cfg الخاص بك، وليست في Printer Tools، ولن تساعد إعادة اتصال التطبيق حتى يتعافى Klippy نفسه.
- 2
أعد التحقق من عنوان المضيف
غالبًا ما تمنح أجهزة الراوتر عنوان IP محليًا جديدًا بعد إعادة التشغيل. تأكد من العنوان الحالي للجهاز الذي يشغّل Moonraker وحدّثه في Printer Tools إذا تغيّر. حجز عنوان ثابت لهذا الجهاز في الراوتر يمنع تكرار هذه المشكلة.
- 3
أدخل العنوان الكامل في الإعدادات المخصصة
إذا كان Moonraker يعمل خلف HTTPS أو منفذ غير افتراضي أو وكيل عكسي، أدخل العنوان الكامل تمامًا كما تكتبه في المتصفح. يبني Printer Tools عنوان WebSocket بناءً على ما تدخله، لذا يفشل أي عنوان جزئي أو غير صحيح قبل الوصول إلى Moonraker أصلًا.
- 4
طابق أي مصادقة يتطلبها التثبيت لديك
إذا كان Moonraker يفرض مفتاح API أو رمز Bearer أو Basic Auth، يجب إدخال بيانات الاعتماد نفسها في Printer Tools. أي تعارض يغلق WebSocket فور فتحه بدلًا من منع محاولة الاتصال الأولى.
- 5
اجبر إعادة اتصال نظيفة
أزل الطابعة وأضفها من جديد، أو بدّل الاتصال إيقافًا وتشغيلًا، لإعادة ضبط المقبس من الصفر بدلًا من انتظار المحاولة التلقائية. يؤدي ذلك أيضًا إلى مسح أي طلبات معلّقة متبقية من محاولة الاتصال السابقة.
- 6
استبعد مسار الشبكة
قد يمنع واي فاي الضيوف، أو عزل العملاء، أو قواعد جدار حماية VLAN، أو ملف VPN نشط، الهاتف من الوصول إلى مضيف الطابعة حتى عندما يُظهر كلا الجهازين اتصالًا بالإنترنت. اختبر من نفس شريحة الشبكة قبل افتراض أن المشكلة في Moonraker نفسه.
حالة Moonraker داخل Printer Tools


تعكس لوحة تحكم Klipper حالة WebSocket المباشرة وتتحدث تلقائيًا بمجرد أن يصبح Moonraker متاحًا مجددًا.
ما الذي يتيحه اتصال WebSocket
- حالة الطباعة المباشرة والتقدم ودرجات الحرارة وكائنات Klipper القياسية التي تُرسل في الوقت الفعلي
- إعادة اتصال تلقائية كل 5 ثوانٍ دون الحاجة لإعادة فتح التطبيق
- نبضة قلب (heartbeat) تُبقي الاتصال نشطًا أثناء الاستخدام العادي في الخلفية
- فحص لحالة Klippy يُجرى فور كل اتصال ناجح
- دعم مفتاح API أو رمز Bearer أو Basic Auth عندما يتطلب إعداد Moonraker لديك ذلك
ما لا يمكن لهذا إصلاحه
- يجب إصلاح حالة خطأ أو إيقاف Klippy من داخل Klipper نفسه، وليس من Printer Tools
- لا يستطيع Printer Tools الوصول إلى مضيف غيّر عنوانه دون تحديث عنوان IP المحفوظ للطابعة
- يمنع عزل الشبكة بين الهاتف ومضيف الطابعة اتصال WebSocket بغض النظر عن إعدادات التطبيق
- تستمر الطباعة الجارية بالفعل على الطابعة حتى عندما يُظهر التطبيق حالة غير متصل
أخطاء WebSocket الشائعة
يبقى Printer Tools في حالة الاتصال إلى ما لا نهاية
تأكد أن عنوان المضيف حديث ويمكن الوصول إليه وأن Moonraker نفسه يعمل. إذا فشل العنوان نفسه في متصفح أيضًا، فالمشكلة في مضيف الطابعة وليست في التطبيق.
يُفتح الاتصال ثم ينقطع بشكل متكرر
تحقق من وجود شبكة تفصل العملاء غير النشطين، مثل بعض ميزات توفير طاقة الواي فاي في أجهزة الراوتر، أو حلقة إعادة تشغيل لـ Moonraker ناتجة عن خطأ في الإعداد. راجع سجل Moonraker على مضيف الطابعة بحثًا عن إدخالات انقطاع متكررة.
يتصل Mainsail أو Fluidd بينما لا يتصل Printer Tools
استخدم العنوان نفسه تمامًا، بما في ذلك المخطط والمنفذ، الذي يعمل في المتصفح. قد يتطلب وكيل عكسي أو شهادة HTTPS يقبلها المتصفح بصمت إدخال العنوان الكامل يدويًا في Printer Tools.
يُظهر Klippy خطأ فور الاتصال
هذا يعني أن اتصال WebSocket نفسه نجح وأن المشكلة داخل إعدادات Klipper. أصلح الخطأ المُبلَّغ عنه في printer.cfg وأعد تشغيل Klipper من Moonraker قبل توقع أن يُظهر Printer Tools لوحة تحكم طبيعية.
يعمل الاتصال في المنزل لكنه يفشل خارج الشبكة المحلية
يعمل اتصال WebSocket المباشر لـ Moonraker فقط على نفس الشبكة المحلية. استخدم VPN للعودة إلى شبكتك المنزلية أو أضف الطابعة عبر خياري الوصول عن بُعد OctoEverywhere أو Obico في Printer Tools بدلًا من كشف Moonraker مباشرة.
إعادة الاتصال من خارج شبكتك
يعمل اتصال WebSocket المباشر فقط طالما يشترك الهاتف ومضيف الطابعة في شبكة يمكن الوصول إليها. للوصول عن بُعد، استخدم VPN للعودة إلى تلك الشبكة أو اتصل بالطابعة نفسها التي تعمل بـ Klipper عبر OctoEverywhere أو Obico في Printer Tools. لا تُعِد توجيه منفذ Moonraker مباشرة على الراوتر الخاص بك.
الأسئلة الشائعة
هل يستخدم Printer Tools اتصال WebSocket الخاص بـ Moonraker أم واجهة REST API؟
يتصل Printer Tools عبر واجهة WebSocket JSON-RPC الخاصة بـ Moonraker على المسار /websocket للحصول على القياس عن بُعد والتحكم المباشرين، لذلك يهم وجود مسار شبكة مستقر إلى تلك النقطة أكثر من نجاح أي طلب REST منفرد.
كم مرة تعيد التطبيق محاولة الاتصال الفاشل؟
كل 5 ثوانٍ تلقائيًا، حتى يقبل اتصال WebSocket الاتصال مجددًا. لا يوجد حد يدوي لعدد المحاولات.
هل يوقف فقدان الاتصال طباعتي؟
لا. يواصل Klipper الطباعة على الطابعة نفسها. فقدان Printer Tools لاتصال WebSocket يعني فقط أن التطبيق يتوقف عن استقبال التحديثات المباشرة حتى يعيد الاتصال.
هل أحتاج إلى تشغيل Mainsail أو Fluidd حتى يعمل هذا؟
لا. يتحدث Printer Tools مع Moonraker مباشرة. يفيد Mainsail وFluidd في مقارنة السلوك أثناء استكشاف الأخطاء، لكن لا حاجة لأي منهما.
لماذا يعمل الاتصال عبر الواي فاي لكن لا يعمل عبر VPN الخاص بي؟
شبكة VPN التي لا توجّه حركة المرور إلى نطاق عناوين IP المحلية لشبكتك المنزلية لا يمكنها الوصول إلى Moonraker مباشرة. استخدم VPN مُعدة للوصول إلى تلك الشبكة، أو استخدم OctoEverywhere أو Obico بدلًا من ذلك.
اطّلع على التوافق الكامل مع Klipper وMoonraker
راجع ميزات Moonraker المدعومة، ومتطلبات الكاميرا وSpoolman الاختيارية، وخيارات الوصول عن بُعد، والقيود الحالية.


