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

ניהול מכשירים - סקירה טכנית

מודול המכשירים (DevicesModule) הוא הלב של מערכת השילוט הדיגיטלי. הוא אחראי על:

  1. רישום ואימות מכשירים (Pairing).
  2. תקשורת זמן אמת (MQTT/WebSocket).
  3. ניטור סטטוס (Heartbeat).
  4. שליחת פקודות מרחוק (Reboot, Refresh, Screenshot).

תהליך הרישום (Pairing)

  1. Auto-Register: האפליקציה שולחת בקשה ל-/api/devices/auto-register עם מזהה חומרה ייחודי.
  2. קוד זיהוי: השרת מייצר קוד זיהוי (Pairing Code) זמני ושולח אותו למכשיר.
  3. אישור משתמש: המשתמש מזין את הקוד בממשק הניהול.
  4. החלפת מפתחות: לאחר האישור, השרת מנפיק למכשיר deviceId קבוע ותעודת גישה (או Token) לתקשורת MQTT.

פרוטוקול MQTT

המכשירים מתקשרים עם השרת באמצעות פרוטוקול MQTT מעל WebSockets.

  • Broker: Mosquitto (רץ בקונטיינר Docker).
  • Topics:
    • device/{deviceId}/command - שליחת פקודות למכשיר.
    • device/{deviceId}/status - דיווח סטטוס מהמכשיר לשרת.
    • device/{deviceId}/telemetry - שליחת נתוני ביצועים (CPU, RAM).

פתרון תקלות (Troubleshooting)

מכשיר Offline

מכשיר מסומן כ-Offline אם לא התקבל ממנו Heartbeat במשך X דקות (מוגדר ב-Config). בדיקות:

  1. האם המכשיר מחובר לרשת?
  2. האם שירות ה-Mosquitto בשרת פעיל? (docker ps | grep mosquitto)
  3. האם פורט 9001/1883 פתוח ב-Firewall?

פקודות לא מתבצעות

אם נשלחה פקודה (למשל צילום מסך) והיא לא בוצעה:

  1. בדוק את לוג הפקודות ב-DB (CommandHistory).
  2. ודא שהמכשיר מאזין ל-Topic הנכון.
  3. בדוק ב-Grafana את תור ההודעות ב-MQTT.