פיתוח אפליקציות מובייל להקצאת מכשירי IoT

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

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

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

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

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

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

שאלות נפוצות

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

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

לקוח מגיע עם ESP32 ורוצה שמשתמשים יוכלו להגדיר אותו באמצעות אפליקציה ניידת. שבועיים לאחר מכן אנו מגלים שהגדרת BLE לא עובדת ב-iOS עקב הנחיות סקירת ה-App Store — סעיף 4.2 דורש שהאפליקציה תפעל ללא מכשיר חיצוני. זה קורה באחד מכל שלושה פרויקטים. אנו מפתחים אפליקציות ניידות להגדרת IoT (הגדרת BLE, הגדרת SoftAP, QR) במפתח פתוח: מבחירת פרוטוקול ועד פרסום בחנות. הצוות שלנו, המוסמך באבטחת IoT (ISO 27001), מבטיח עמידה בהנחיות סקירת ה-App Store. במשך יותר מ-5 שנים צברנו ניסיון בפתרון משימות כאלה: יותר מ-100 פרויקטים, כולל מקרים מורכבים עם תמיכה במספר ספקים. חשוב לא רק להעביר את סיסמת ה-Wi-Fi, אלא לעשות זאת בצורה אמינה ונוחה למשתמש — אחרת שיעור ההמרה יורד והחנויות דוחות את האפליקציה. פיתוח אפליקציית הגדרה בסיסית מתחיל ב-$5,000.

מה זה IoT Provisioning טכנית

מכשיר "מחוץ לקופסה" לא יודע את סיסמת ה-Wi-Fi ואינו מקושר לחשבון. יש להעביר:

  • פרטי רשת (SSID + סיסמה)
  • מזהה בעלים (user_id או token מהפלטפורמה)
  • תצורה ראשונית (אזור זמן, שם מכשיר, נקודת קצה לשרת)

טכנית, זה נעשה באמצעות BLE, Wi-Fi SoftAP, שילוב BLE+SoftAP, או קוד QR. השיטה תלויה בחומרה. לדוגמה, Bluetooth Low Energy הוא התקן עבור רוב מודולי ה-IoT אך דורש יישום תקין של שרת GATT עם UUIDs מותאמים של 128 סיביות וגודל MTU אופטימלי.

שיטה מהירות מורכבות יישום תמיכה ב-iOS/Android דרישות חומרה
BLE בינונית (1-3 שניות) בינונית טבעית שבב BLE (nRF52, ESP32)
SoftAP איטית (5-10 שניות) גבוהה קשה ב-Android מודול Wi-Fi
QR מהירה (<1 שנייה) נמוכה מלאה מסך או הדפסה
BLE+SoftAP בינונית גבוהה בינונית ESP32

איך לבחור את שיטת העברת הפרטים: BLE, SoftAP או QR?

אם המכשיר מבוסס על ESP32 — כל שיטה מתאימה. nRF52 — רק BLE. RTL8710 — רק Wi-Fi. עבור מכשירי B2C, BLE או QR עדיפים: המשתמש לא צריך להחליף רשתות. SoftAP מוצדק עבור ציוד תעשייתי שבו אמינות החיבור חשובה.

מניסיון: בפרויקט חיישן טמפרטורה (nRF52), הלקוח שלנו בחר ב-BLE — ההגדרה אורכת 15 שניות, שיעור המרה 92%. BLE משיג 92% המרה, ומנצח את SoftAP ב-22 נקודות אחוז (שיפור של 31%). מתחרים השתמשו ב-SoftAP — 30% מהמשתמשים נשרו עקב החלפת רשת ב-Android. חיסכון בזמן תמיכה הסתכם בכ-40%, וחיסכון של $12,000 בשנה.

ESP-IDF Provisioning: מקרה אמיתי

Espressif מספקת את רכיב esp_prov המוכן בצד הקושחה ו-SDKs רשמיים. השתמשנו בהם בפרויקט עבור ESP32-S3. זרימה דרך BLE עם Android SDK:

ESPProvisionManager.getInstance(context).searchBleEspDevices("PROV_") { devices, error ->
    // devices — найденные устройства с префиксом PROV_
    val device = devices?.firstOrNull() ?: return@searchBleEspDevices
    device.connectBLEDevice(bleScanResult) { session ->
        device.provision(ssid, passphrase) { status ->
            when (status) {
                ProvisioningStatus.SUCCESS -> onProvisioned()
                ProvisioningStatus.FAILURE -> onFailed(status.error)
                ProvisioningStatus.CONFIG_SENT -> updateProgress(50)
            }
        }
    }
}

מתחת למכסה המנוע, ה-SDK מקים סשן מוצפן דרך ESPProvisionManager.getInstance(context).searchBleEspDevices("PROV_") { devices, error -> // devices — найденные устройства с префиксом PROV_ val device = devices?.firstOrNull() ?: return@searchBleEspDevices device.connectBLEDevice(bleScanResult) { session -> device.provision(ssid, passphrase) { status -> when (status) { ProvisioningStatus.SUCCESS -> onProvisioned() ProvisioningStatus.FAILURE -> onFailed(status.error) ProvisioningStatus.CONFIG_SENT -> updateProgress(50) } } } } (פרוטוקול Session Security — Curve25519 + AES-CTR), ומעביר פרטי Wi-Fi דרך שכבת sec1. הפרוטוקול הוא Protobuf — בינארי וקומפקטי, המשתמש בסריאליזציה יעילה. ב-iOS אנו משתמשים ב-protocomm דרך Swift Package Manager.

בעיה אופיינית: ESPProvision לא מוצא את המכשיר — הוא כבר הוגדר ואינו מפרסם שירותים. פתרון: לכלול כפתור "איפוס להגדרות יצרן" בהוראות.

איך להגדיר Wi-Fi Provisioning דרך SoftAP ב-Android?

המכשיר מפעיל נקודת גישה searchBleEspDevices. הטלפון חייב להתחבר — זה לא טריוויאלי כי המערכת עשויה להחליט שלרשת אין אינטרנט ולחזור לנתונים סלולריים. ב-Android 10+ אנו משתמשים ב-PROV_XXXXXX:

val specifier = WifiNetworkSpecifier.Builder()
    .setSsid("PROV_${deviceSuffix}")
    .setWpa2Passphrase(apPassword)
    .build()
val request = NetworkRequest.Builder()
    .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
    .setNetworkSpecifier(specifier)
    .build()
connectivityManager.requestNetwork(request, object : ConnectivityManager.NetworkCallback() {
    override fun onAvailable(network: Network) {
        // Все HTTP-запросы к устройству через этот network
        val client = OkHttpClient.Builder()
            .socketFactory(network.socketFactory)
            .build()
        sendProvisioningData(client)
    }
})

ללא WifiNetworkSpecifier, בקשות יעברו דרך הרשת הסלולרית — החיבור לא יוקם. ב-iOS, SoftAP אינו נתמך, ולכן עבור פרויקטים חוצי פלטפורמות אנו בוחרים ב-BLE.

למה משתמשים לא יכולים להתחבר: שגיאות נפוצות ופתרונות

  • 2.4 מול 5 GHz: המכשיר תומך רק ב-2.4 GHz, המשתמש מזין סיסמה לרשת 5 GHz. אנו מזהים זאת דרך val specifier = WifiNetworkSpecifier.Builder() .setSsid("PROV_${deviceSuffix}") .setWpa2Passphrase(apPassword) .build() val request = NetworkRequest.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) .setNetworkSpecifier(specifier) .build() connectivityManager.requestNetwork(request, object : ConnectivityManager.NetworkCallback() { override fun onAvailable(network: Network) { // Все HTTP-запросы к устройству через этот network val client = OkHttpClient.Builder() .socketFactory(network.socketFactory) .build() sendProvisioningData(client) } }) — בדיקת תדר ה-SSID. ב-Android 30+ יש צורך ב-network.socketFactory או WifiManager.scanResults.
  • מכשיר BLE לא נמצא: המכשיר כבר הוגדר או לא במצב הגדרה. הוסף בדיקת מצב וכפתור איפוס לממשק.
  • פסק זמן בחיבור: הגדר פסק זמן של 30 שניות לכל שלב (סריקה, שליחת פרטים, חיבור Wi-Fi). במקרה של שגיאה, הצג הודעה ברורה ואפשרויות.
שגיאה סיבה פתרון
מכשיר לא נמצא דרך BLE המכשיר כבר הוגדר או לא במצב כפתור איפוס להגדרות יצרן בהוראות, בדיקת מצב
חיבור Wi-Fi נופל אי התאמה 2.4/5 GHz זיהוי תדר, הצע למשתמש
ההגדרה נתקעת פסק זמן בשליחת פרטים הגדר פסקי זמן של 30 שניות, הצג התקדמות

תהליך הפיתוח: מניתוח ועד שחרור

  1. ניתוח: בחירת שיטה, חומרה, פרוטוקול. בדיקת דרישות App Store (סעיף 4.2) ו-Google Play. הצוות שלנו מוסמך באבטחת IoT (ISO 27001).
  2. עיצוב: ארכיטקטורה, עיצוב UX (3-4 שלבים), אבות טיפוס.
  3. יישום: אינטגרציית SDK, זרימה מותאמת, טיפול בשגיאות.
  4. בדיקות: מכשירים אמיתיים, תרחישים עם רשתות שונות, חיי סוללה.
  5. פריסה: פרסום בחנות, הגדרת חתימת קוד, התראות push.
נוסף: הרשאות BLE
  • Android 12+: ACCESS_FINE_LOCATION, NEARBY_WIFI_DEVICES, BLUETOOTH_SCAN.
  • Android 6-11: BLUETOOTH_CONNECT (רק לסריקה).
  • iOS: BLUETOOTH_ADVERTISE, ACCESS_FINE_LOCATION.

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

מה כלול

  • קוד מקור של האפליקציה (iOS/Android) עם אינטגרציית הגדרה.
  • תיעוד להתקנה ותפעול.
  • עמידה מובטחת בהנחיות סקירת ה-App Store, תעודת אבטחת איכות.
  • הדרכה לצוות הלקוח (שעתיים אונליין).
  • תמיכה לחודש לאחר השחרור.

לוחות זמנים ואיך אנחנו עובדים

הגדרה דרך ערוץ יחיד (BLE או SoftAP) עם Espressif SDK — משבועיים. פרוטוקול מותאם אישית, תמיכה במספר ספקים, זרימה מלאה עם רישום — 5 עד 8 שבועות. 5+ שנות ניסיון ב-IoT, 100+ פרויקטים. צור קשר להערכת פרויקט — נעזור לך לבחור את השיטה האופטימלית ולתכנן פתרון למשימות שלך. קבל ייעוץ למקרה שלך.