דלג לתוכן הראשי

שליטה מרחוק (Remote Device Control)

מודול זה מאפשר למנהלים לבצע פעולות על המסכים בזמן אמת, ללא צורך בגישה פיזית למכשיר. התקשורת מתבצעת באמצעות WebSocket ו-MQTT להבטחת מהירות (Low Latency).

ארכיטקטורה​

  1. Admin Client שולח בקשת HTTP (POST /remote-control/:deviceId).
  2. Server מוודא הרשאות ושומר את הפקודה ב-DB (CommandHistory).
  3. EventsService מפיץ את הפקודה למכשיר המחובר ב-Socket.
  4. Device מבצע את הפקודה (לדוגמה, באמצעות Accessibility Service באנדרואיד).
  5. Device מחזיר תשובה (ACK/תוצאה) לשרת.
  6. Server מעדכן את הסטטוס ב-DB ומחזיר תשובה ללקוח.

פקודות נתמכות​

פקודהפרמטריםתיאור
RELOAD-רענון האפליקציה (Reload JS Bundle).
RESTART-אתחול האפליקציה מחדש.
SCREENSHOT-צילום מסך ושליחתו לשרת.
WAKE_UP-הדלקת המסך (Wake Lock).
SET_VOLUMElevel: numberשינוי עוצמת שמע (0-100).
INSTALL_UPDATEversion: stringעדכון גרסת אפליקציה מרחוק (OTA).

פתרון תקלות​

שגיאת Accessibility​

אם הפקודה נכשלת עם שגיאת Accessibility Service, יש לוודא ששירות הנגישות מופעל במכשיר האנדרואיד עבור אפליקציית GabaiSmart. השירות נדרש עבור פעולות כמו swipe, tap, וצילום מסך במכשירים מסוימים.

Timeout​

השרת מחכה לתשובה מהמכשיר עד 30 שניות. אם המכשיר לא עונה (למשל, מנותק רשתית), הבקשה תיכשל עם RequestTimeoutException. ניתן לבדוק את סטטוס החיבור ב-Device Monitoring.