איתור חפצים מדויק עם UWB: מהמעקב לאפליקציית המובייל

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

פיתוח ותמיכה בכל סוגי היישומים הניידים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
איתור חפצים מדויק עם UWB: מהמעקב לאפליקציית המובייל
מורכב
מ- 1 שבוע עד 3 חודשים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

מהנדס באתר בנייה איבד מד טווח לייזר יקר בין טונות של מוטות ברזל וציוד. משדר Bluetooth רגיל הראה רדיוס של 15 מטרים אך לא כיוון מדויק. הוא נאלץ לחפור בכל המחסן. לאחר יישום משדר UWB עם דיוק של 10 סנטימטרים, אובדן כלים חדל להיות בעיה. ביצענו פרויקט כזה עבור לקוח בתחום הבטיחות התעשייתית — במלואו, כולל הכל: מקושחת המשדר ועד אפליקציה ניידת ל-iOS ואנדרואיד. הניסיון מראה שאיתור UWB מקצר את זמן איתור הפריטים ב-90%.

UWB (Ultra-Wideband) משתמש בפולסים קצרים למדידת מרחק באמצעות Time of Flight (ToF) בדיוק של ננו-שניות. טלפון עם שבב U1 והמשדר מחליפים אותות, ומחשבים לא רק מרחק אלא גם זווית הגעה. זה נותן חץ המצביע על האובייקט. הבסיס הוא תקן IEEE 802.15.4z, המתואר בUltra-wideband.

כיצד פועל איתור אובייקטים מדויק ב-UWB?

סשן UWB במכשיר נייד מתחיל דרך Bluetooth Low Energy: המשדר משדר את המזהה והמפתחות שלו. לאחר מכן נוצר חיבור UWB, ומתחיל חילופי נתונים בתדירות של עד 60 הרץ. המרחק מחושב מזמן התפשטות האות; הכיוון נגזר מהפרשי פאזה בין אנטנות.

למה ליישם איתור UWB עכשיו?

משדרי Bluetooth מספקים רק מרחק משוער, בעוד UWB נותן דיוק של עד 10 ס"מ וכיוון. עבור אתרי תעשייה, בתי חולים, מחסנים, זה אומר חיסכון של עד 40% בתקציב על איתור ציוד שאבד. הלקוחות שלנו מדווחים שזמן המלאי מתקצר פי שלושה.

שני תרחישים: רשת Find My לעומת UWB עצמאי

מאפיין רשת Find My UWB עצמאי
דרישות משדר MFi, שבב Bluetooth עם Apple H2 שבב UWB (DW3000, NXP)
מעקב גלובלי כן, דרך רשת iPhone לא, רק בקרבת מקום
רישיון MFi נדרש לא נדרש
דיוק איתור ≤10 ס"מ (עם UWB) ≤10 ס"מ
זמן עד לשוק ארוך יותר (אישור Apple) מהיר יותר

גישת UWB עצמאי מהירה פי 2-3 לפריסה מאשר אינטגרציה לרשת Find My, בשל היעדר הסמכת MFi. עבור מגזרי B2B (מחסנים, בנייה, בתי חולים), זה הפתרון המועדף.

iOS: יישום באמצעות NearbyInteraction

ב-iOS, המסגרת המרכזית היא NearbyInteraction. היא מספקת אובייקטים NINearbyObject עם distance ו-direction. הנה דוגמה לסשן טיפוסי:

import NearbyInteraction
import CoreBluetooth

class ItemFinderSession: NSObject {
    private var niSession: NISession?
    private var currentDistance: Float = 0
    private var currentDirection: SIMD3<Float>?

    func startFinding(accessoryToken: Data, bluetoothId: UUID) {
        niSession = NISession()
        niSession?.delegate = self
        niSession?.delegateQueue = .main
        let config = NINearbyAccessoryConfiguration(
            accessoryData: accessoryToken,
            bluetoothPeerIdentifier: bluetoothId
        )
        niSession?.run(config)
    }
}

extension ItemFinderSession: NISessionDelegate {
    func session(_ session: NISession, didUpdate nearbyObjects: [NINearbyObject]) {
        guard let obj = nearbyObjects.first else { return }
        if let distance = obj.distance {
            currentDistance = distance
            // Обновляем UI: расстояние до предмета
            updateDistanceDisplay(meters: distance)
        }
        if let direction = obj.direction {
            currentDirection = direction
            // direction — единичный вектор в ARKit coordinate space
            // direction.x: влево-вправо, direction.y: вверх-вниз, direction.z: вперёд-назад
            updateDirectionalArrow(direction: direction)
        }
    }

    func session(_ session: NISession, didUpdateAlgorithmConvergence convergence: NIAlgorithmConvergence, for object: NINearbyObject?) {
        // convergence.status: .converged / .notConverged([reasons])
        // При notConverged — просить пользователя повести телефоном
        handleConvergence(convergence.status)
    }
}

היבט קריטי הוא import NearbyInteraction import CoreBluetooth class ItemFinderSession: NSObject { private var niSession: NISession? private var currentDistance: Float = 0 private var currentDirection: SIMD3<Float>? func startFinding(accessoryToken: Data, bluetoothId: UUID) { niSession = NISession() niSession?.delegate = self niSession?.delegateQueue = .main let config = NINearbyAccessoryConfiguration( accessoryData: accessoryToken, bluetoothPeerIdentifier: bluetoothId ) niSession?.run(config) } } extension ItemFinderSession: NISessionDelegate { func session(_ session: NISession, didUpdate nearbyObjects: [NINearbyObject]) { guard let obj = nearbyObjects.first else { return } if let distance = obj.distance { currentDistance = distance // Обновляем UI: расстояние до предмета updateDistanceDisplay(meters: distance) } if let direction = obj.direction { currentDirection = direction // direction — единичный вектор в ARKit coordinate space // direction.x: влево-вправо, direction.y: вверх-вниз, direction.z: вперёд-назад updateDirectionalArrow(direction: direction) } } func session(_ session: NISession, didUpdateAlgorithmConvergence convergence: NIAlgorithmConvergence, for object: NINearbyObject?) { // convergence.status: .converged / .notConverged([reasons]) // При notConverged — просить пользователя повести телефоном handleConvergence(convergence.status) } } . אם המשתמש עומד במקום, convergence.status לא מסופק. בפרויקט שלנו, הוספנו אנימציה והנחיה קולית "הזז את הטלפון" — זה קיצר את זמן הזיהוי הראשוני ל-2 שניות.

מה מגדיר UX: התכנסות אלגוריתם ומשוב?

אלגוריתם UWB דורש תנועה כדי לקבוע זווית. יישמנו אינדיקציה משולבת: מרחק מוצג בגדול, כיוון כחץ. במרחקים מתחת ל-0.3 מ', מופעלת רטט direction. משוב הפטי הוא תקן השאול מ-AirTag.

משדר מבוסס DW3000 לפתרון עצמאי

למשדר עצמאי ללא MFi, אנו משתמשים ב-Qorvo DWM3001C — משדר UWB מוכן עם BLE. הקושחה מיישמת תפקיד Initiator של UWB, מחליפה טוקן דרך BLE, ומגיבה לבקשות TWR מהטלפון. באנדרואיד, חוויה דומה מסופקת על ידי ספריית UIImpactFeedbackGenerator(.heavy):

val rangingParams = UwbRangingParameters(
    uwbConfigType = UwbRangingParameters.CONFIG_UNICAST_DS_TWR,
    complexChannel = controllerScope.uwbComplexChannel,
    peerDevices = listOf(UwbDevice.createForAddress(trackerUwbAddress)),
    updateRateType = UwbRangingParameters.RANGING_UPDATE_RATE_FREQUENT,
    sessionKeyInfo = sharedSessionKey
)
מפרט טכני של המשדר
  • מודול: DWM3001C (Qorvo)
  • תדר: 6.5 GHz (ערוץ 5)
  • טווח: עד 10 מ' (זווית עד 20 מ')
  • כוח: CR2032 (חיי סוללה עד 12 חודשים)
  • ממשק: BLE 5.0 + UWB
  • תפקידים: Initiator/Responder

מה כולל פתרון UWB במלואו?

הצוות שלנו, עם ניסיון של 5+ שנים ויותר מ-50 פרויקטי BLE/UWB, מציע:

  1. ניתוח דרישות ובחירת פלטפורמת חומרה (DW3000, NXP, או מותאם אישית).
  2. תכנון ופיתוח קושחת משדר UWB.
  3. יצירת אפליקציה ניידת ל-iOS (Swift, NearbyInteraction) ולאנדרואיד (Kotlin, UWB API).
  4. אינטגרציה עם מערכות חשבונאות (1C, SAP, API מותאם אישית).
  5. עיצוב ארכיטקטורת אבטחה (הצפנת מפתחות סשן).
  6. בדיקות דיוק ויציבות בתנאים אמיתיים.
  7. תיעוד והדרכת צוות.

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

שלב משך
ניתוח ובחירת פלטפורמה 1-2 שבועות
פיתוח קושחת משדר 2-6 שבועות
אפליקציה ניידת (פלטפורמה אחת) 1-3 שבועות
אינטגרציה ובדיקות 1-2 שבועות
תיעוד והדרכה שבוע אחד

קבל ייעוץ — נבחן את המשימה שלך ונציע חומרה אופטימלית.

לוחות זמנים

אפליקציה ניידת עם פונקציונליות UWB (עם משדר מוכן) — בין 1 ל-3 שבועות. מחזור מלא: קושחת משדר + אפליקציה + אינטגרציה — בין 1 ל-3 חודשים. העלות מחושבת באופן אישי לפי מספר המכשירים הנתמכים והיקף ה-API. צור קשר כדי לדון בפרטים.