Traccar – Track your devices

Traccar

לא מזמן ראיתי פוסט באחת הקבוצות, בו מפרסם הפוסט ביקש למצוא מערכת אשר תאפשר לו לנטר בזמן אמת את מיקום הנהגים בצי הרכב שלו וכן את המסלולים בהם נסעו לצורך בקרה. לאחר חיפוש קצר, מצאתי מערכת חביבה העונה לשם Traccar ומבצעת בדיוק את זה.

בין הפיצ'רים המובילים של המערכת ניתן למצוא את הדברים הבאים:

  • תמיכה במגוון רחב של מכשירים ופרוטוקלי GPS, מאלה של היצרנים הסינים ועד ליצרניות הגדולות והמוכרות כמו סמסונג ואפל.
  • ממשק ניהול ידידותי ונוח לשימוש.
  • הגדרה פשוטה מאוד של האפליקציה.
  • מעקב בזמן אמת.
  • דיוק גבוהה מאוד.
  • אפשרות להפקת דוחות.
  • שליחת התראות למכשירים.

Traccar הנה מערכת מבוססת קוד פתוח אשר ניתנת לשימוש בתצורת Self Hosted וכן על ידי פתיחת חשבון אצלם בשרת. במדריך זה אתמקד בהתקנת המערכת על גבי Docker Container ובאמצעות Docker Compose, וכן על התקנת האפליקציה והגדרת השירות.

לפני שנתחיל, יש לוודא כי Docker וכן Docker Compose מותקנים אצלכם על פי המדריך הבא!

שלב א' – ההתקנה:

אנו נבצע את ההתקנה כ stack חדש בתוך סביבת הדוקר. על מנת לעשות זאת צרו תיקיה חדשה בשם traccar תחת תיקיית הדוקר שלכם:

cd ~/docker
mkdir traccar
cd tracar

כעת נפתח קובץ yaml חדש בשם docker-compose.yaml:

sudo nano docker-compose.yaml

והדביקו פנימה את הקוד הבא:

version: "3.6"
services:
  mysql:
    image: mariadb:latest
    ports:
      - "3306:3306"
    container_name: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=YourSecureMySqlPassword
    volumes:
      - "./mysql:/var/lib/mysql"
    restart: always

  traccar:
    image: traccar/traccar
    container_name: traccar
    ports:
      - 8082:8082
      - 5000-5150:5000-5150
    volumes:
      - ./traccar.xml:/opt/traccar/traccar.xml
    environment:
      - MYSQL_DATABASE=traccar
      - MYSQL_USER=traccar
      - MYSQL_PASSWORD=YourSecureMySqlPassword
      - MYSQL_HOST=mysql

שמרו את הקובץ וצאו מהעורך על ידי לחיצה על ctrl x >> y >> Enter.
והריצו את הפקודה הבאה בכדי להרים את הקונטיינרים:

sudo docker-compose up -d

כעת, פתחו את הדפדן והקלידו את הכתובת של השרת בתוספת פורט 8082:
http://server_ip:8082

המסך הראשון שתקבלו הוא מסך ההתחברות למערכת:

Traccar Login Page

לחצו על Register על מנת להקים משתמש admin למערכת:

Traccar User Registration - תומר קליין

הכניסו שם, כתובת מייל וסיסמה ולחצו על Save. כעת תוחזרו למסך הראשי ובו הפרטים שהזנתם בתהליך הרישום:

Traccar Logon Page - Techblog.co.il

לחצו על Login וכנסו למערכת.

שלב ב' – התקנת האפליקציה והגדרת המערכת לשימוש:

על מנת להשתמש במערכת ולהתחיל לנטר את מיקום המכשירים יש להוריד ולהתקין את האפליקציה בהתאם לסוג המכשיר שברשותכם. קישורים להורדה ניתן למצוא כאן!

Traccar Mobile Applications

כאשר "hidden version" הוא מצב בו לאחר התקנת האפליקציה האייקון שלה נעלם מה Launcher ולא ניתן להכנס את ההגדרות ולנטרל אותה. על מנת להכנס אליה שוב יש לחייג מספר יעודי בחייגן של הטלפון והיא תופיע מחדש.

פתחו את האפליקציה והגדירו אותה על פי המסכים הבאים. תחילה הגדירו את כתובת ה URL של שרת ה traccar שלכם. הפורט קשור לסוג הפרוטוקול של ה GPS במכשיר שלכם, כאשר הנפוץ משתמש בפורט 5055 ולכן בשלב ראשון ממליץ לא לשנותו.

Traccar Server URL

ההגדרה הבאה תהיה של מזהה המכשיר, שהוא ערך חד חד ערכי עבור המכשירים המתחברים לשרת שלכם. המזהה הנ"ל ישמש אחר כך להגדרת המכשיר בשרת.

Traccar Device ID

במסך הבא נגדיר את התדירות לשליחת המידע לשרת, אחת לדקה אמור להיות מספיק, כמובן שאפשר גם פחות.

Traccar Send Frequency

ולסיום נגדיר את דיוק ה GPS:

Traccar Location accuracy

כעת נחזור לשרת עצמו ונגדיר שם את המכשיר, רק לאחר ההגדרה בשרת נוכל להתחיל לעקוב אחריו.
הכנסו למערכת עם שם המשתמש והסיסמה שהגדרתם בשלב בקודם ולחצו על סמל ה "+" בצד שמאל למעלה בקוביה של רשימת המכשירים:

Traccar - Add Device
מתוך הבלוג של תומר קליין

כעת מלאו את השם של בעל המכשיר או כל שם אחר שיעזור לכם לזהות למי הוא שייך וכן את מזהה המכשיר כפי שהגדרתם באפליקציה: ולחצו על אישור. (בשלב זה נתמקד בהגדרה בסיסית בלבד):

כעת חיזרו לאפליקציה, והפעילו את החיבור לשרת (הכפתור שנמצא בחלקו הימני העליון של המסך).

Traccar - Connect to server

תוכל לראות לוג של האפליקציה לוודא שאכן התחברה לשרת, לצורך כך לחצו על המילה status:

Traccar  - Connection Status

כעת, אם תחזרו לממשק של השרת תוכלו לראות שהמכשיר יופיע על המפה וכן הצבע של המכשיר ברשימה יהפוך לירוק:

כאן הסתיים החלק של ההגדרות.

שלב ג' – צפייה והפקת דוחות:

חלק נוסף, ולא פחות חשוב במערכת הוא היכולת להפיק דוחות כמו מסלול תנועה, תחנות עצירה ועוד. על מנת להגיע לדוחות אלה יש תחילה לסמן את המכשיר הרצוי על ידי לחיצה עליו ברשימת המכשירים:

Traccer - Device info

ולחצו על "Reports" בצד השמאלי התחתון:

כעת יפתח מסך נוסך בחלקו התחתון של הדף ובו נוכל להגדיר מה ברצוננו לראות:

למשל את סוג הדו"ח:

לחיצה על Configure תפתח מסך נוסף, בו נובחר את המכשיר עליו נבצע את המעקב וכן את התקופה, ונלחץ על אישור:

על מנת להציג את הנתונים יש ללחוץ על Show:

ניתן גם לבצע יצוא של הנתונים לקובץ אקסל על ידי לחיצה על Export.

שלב ד' – הגדרת Traccar כ Device Tracker במערכת Home-Assistant:

בחלק זה של המדריך אתייחס ליתרון נוסף של המערכת והוא היכולת לשלב אותה ביחד עם HomeAssitant באמצעות קומפוננטה ייחודית שנוספה בגרסה 83. כאן תוכלו לקרוא אודות הקומפוננטה.

על מנת להוסיף את הקומפוננטה, יש לערוך את קובץ ה configuration.yaml ולהוסיף את החלק הבא:

device_tracker:
  - platform: traccar
    host: [traccar server address]
    port: [port]
    username: [email]
    password: [password]

כאשר:

  • host – כתובת ה IP של שרת ה traccar שלכם (חובה)
  • הפורט של השרת (אופציונלי במידה והשארתם על ברירת המחדל)
  • שם המשתמש – כתובת המייל המשתמשת להתחברות.
  • סיסמה – הסיסמה אותה הגדרתם להתחברות.

כעת בצעו אתחול למערכת ה Home-Assistant. במידה וקובץ ה known_devices.yaml היה קיים התווספו אליו שורות ובמידה ולא הוא יווצר באופן אוטומטי:

my_device:
  hide_if_away: false
  icon:
  mac:
  name: my device
  picture:
  track: true

וכן תוכלו לראותו על המפה:

שלב ד' – שימוש ב NGINX :

על מנת לאבטח במעט את התעבורה ניתן להעביר את הבקשות דרך nginx. לצורך כך פתחו את קובץ ההגדרות של nginx או צרו חדש והדביקו פנימה את הטקסט הבא:

server {
    server_name [web interface domain like traccar.xyz];
    listen 80;
    location / {
        proxy_pass http://192.168.x.x:8082;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For 192.168.0.1;
        proxy_set_header X-Forwarded-Proto $scheme;
        # the next 3 lines are for cocket protocol nedded both for web ui and mobile app
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
	
    }
	}
	
	server {
    server_name [location update domain like loc.xyz];
    listen 80;
    location / {
        proxy_pass http://192.168.x.x:5055;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For 192.168.0.1;
        proxy_set_header X-Forwarded-Proto $scheme;
        # the next 3 lines are for cocket protocol nedded both for web ui and mobile app
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
	
    }
	}

החליפו את הדומיינים בשלכם ואתחלו את ה service.

בהצלחה!

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*