שילוב פרוטוקול Matter לשליטה בבית חכם
אנחנו צוות פיתוח מובייל עם ניסיון מעשי ביישום אינטגרציות Matter עבור iOS ו-Android. התמודדנו עם נקודות הכאב האופייניות: commissioning איטי, חוסר תאימות לרשת Thread, ומכשולי אישור (certification). במאמר זה, אנו חולקים כיצד להימנע ממלכודות נפוצות ולהוסיף תמיכה ב-Matter לאפליקציה שלך במהירות.
Matter הוא התקן הפתוח לבית חכם מבית Connectivity Standards Alliance, בגיבוי של Apple, Google, Amazon ו-Samsung. מכשיר עם אישור Matter עובד בצורה חלקה עם כל מערכת אקולוגית — Apple Home, Google Home, Amazon Alexa, SmartThings — ללא אינטגרציות נפרדות. עבור אפליקציות מובייל, משמעות הדבר היא SDK אחד לשליטה בכל מכשירי Matter ללא קשר ליצרן. הערכות צופות מעל מיליארד מכשירים עם אישור Matter — מגמה שאי אפשר להתעלם ממנה.
איך Matter עובד ברמת המחסנית (Stack)
Matter פועל על IPv6 דרך Wi-Fi או Thread (רשת mesh בהספק נמוך). נתב גבול (Border Router) (לדוגמה, HomePod mini, Google Nest Hub, Echo) מגשר בין רשת Thread לרשת ה-IP.
תהליך ה-commissioning:
- המשתמש סורק את קוד ה-QR או מזין את ה-PIN של המכשיר
- הטלפון יוצר חיבור Bluetooth למכשיר
- החלפת אישורים דרך PASE (Passcode Authenticated Session Establishment)
- המכשיר מקבל את פרטי הרשת ומתחבר ל-Wi-Fi/Thread
- המכשיר מתווסף ל-Fabric — מרחב מאובטח משותף
מכשיר פיזי אחד יכול להתווסף למספר Fabrics בו-זמנית (Multi-Admin). לדוגמה, מנורה שנוספה גם ל-Apple Home וגם ל-Google Home — שתי המערכות שולטות בה באופן עצמאי.
למה Matter הוא התקן דה-פקטו
Matter פותר את הבעיה המרכזית של הבית החכם: פרגמנטציה. מפתחים כבר לא צריכים לכתוב אינטגרציות לכל מערכת אקולוגית — סט API אחד מכסה את Apple Home, Google Home, Amazon Alexa ו-SmartThings. זה חוסך עד 40% מזמן הפיתוח והבדיקות.
iOS: Matter דרך HomeKit + MatterSupport
ב-iOS, מכשירי Matter מתווספים דרך HomeKit. האפליקציה שלך יכולה ליזום את התהליך באמצעות MatterSupport.framework (iOS 16.1+):
import MatterSupport
func addMatterDevice() {
let topology = MatterAddDeviceRequest.Topology(
ecosystemName: "MyApp Smart Home",
homes: [
MatterAddDeviceRequest.Topology.Home(
displayName: "Мой дом"
)
]
)
let request = MatterAddDeviceRequest(topology: topology)
Task {
do {
try await request.perform()
// устройство добавлено в HomeKit
} catch {
// MatterAddDeviceRequest.Error.userCancelled — пользователь отменил
}
}
}לאחר ההוספה, המכשיר זמין כ-import MatterSupport func addMatterDevice() { let topology = MatterAddDeviceRequest.Topology( ecosystemName: "MyApp Smart Home", homes: [MatterAddDeviceRequest.Topology.Home( displayName: "Мой дом" )] ) let request = MatterAddDeviceRequest(topology: topology) Task { do { try await request.perform() // устройство добавлено в HomeKit } catch { // MatterAddDeviceRequest.Error.userCancelled — пользователь отменил } } } ב-HomeKit. השליטה משתמשת ב-API הסטנדרטי HMAccessory. אשכולות (clusters) ייחודיים ל-Matter שאינם קיימים ב-HomeKit נגישים דרך HMCharacteristic ו-APIs נוספים.
Android: Google Home Mobile SDK + Matter SDK
Google מציעה שתי דרכים:
Google Home Mobile SDK (מומלץ)
SDK ברמה גבוהה ל-commissioning של מכשירים לתוך מערכת Google Home:
// Добавление через Google Home
val commissioningRequest = CommissioningRequest.builder()
.setCommissioningService(MatterCommissioningService::class.java)
.build()
homeClient.commissionDevice(commissioningRequest)
.addOnSuccessListener { result ->
// устройство добавлено
}
.addOnFailureListener { exception ->
// обработка ошибок
} Matter SDK ישיר (connectedhomeip)
המימוש המלא מ-CSA כולל Fabric מותאם אישית וניהול מכשירים ללא תלות ב-Google Home. זה משמעותית יותר מורכב: עליך לנהל את Fabric Credentials, לאחסן אישורים, וליישם commissioning בעצמך. נתיב זה מתאים כאשר בונים מערכת אקולוגית משלך או שצריך גישה לאשכולות מעבר ל-APIs הסטנדרטיים של HomeKit/Google Home.
בחירה בין MatterSupport ל-Matter SDK
אם אתה צריך אינטגרציה מהירה עם מינימום קוד, בחר ב-MatterSupport (iOS) או Google Home SDK (Android). הם מפחיתים את נפח הקוד פי 3-4 בהשוואה ל-Matter SDK הישיר. ה-SDK הישיר מוצדק כאשר נדרשת שליטה מלאה ב-Fabric או אשכולות לא סטנדרטיים.
| פלטפורמה | SDK מומלץ | רמת הפשטה | מורכבות | שליטה |
|---|---|---|---|---|
| iOS | MatterSupport | גבוהה (דרך HomeKit) | נמוכה | מוגבלת (בתוך HomeKit) |
| Android | Google Home SDK | גבוהה (דרך Google Home) | נמוכה | מוגבלת (בתוך Google Home) |
| שתיהן | Matter SDK (CSA) | נמוכה (גישה ישירה לאשכולות) | גבוהה | מלאה (Fabric משלך) |
אשכולות Matter
Matter משתמש במודל אשכולות — בדומה ל-GATT Characteristics ב-BLE. אשכול 0x0006 — On/Off; 0x0008 — Level Control (בהירות); 0x0300 — Color Control. דרך Matter SDK ניתן לקרוא/לכתוב מאפיינים ישירות:
// Прямое управление через Matter кластер
val endpointId = EndpointId(1u)
val clusterId = ClusterId(0x0006u) // On/Off
val attributePath = AttributePath(
endpointId = endpointId,
clusterId = clusterId,
attributeId = AttributeId(0x0000u) // OnOff attribute
)
// Чтение состояния
chipDeviceController.readAttributePath(devicePtr, listOf(attributePath), 0) אתגרי פיתוח אופייניים
Thread Border Router. אם המכשיר משתמש ב-Thread, הטלפון לא יכול לתקשר איתו ללא Thread Border Router ברשת. הפיתוח דורש Border Router תואם (HomePod mini, Eero 6, Google Nest Wifi Pro).
אישור (Certification). מכשירי Matter חייבים לקבל אישור מ-CSA. האפליקציה שלך אינה דורשת אישור, אבל בדיקות עם אבות טיפוס לא מאושרים אפשריות דרך Development Mode SDK.
חלון Commissioning. המכשיר פותח חלון commissioning (ברירת מחדל 11 דקות). אם ה-commissioning נכשל, יש להפעיל מחדש את התהליך. טפל בזה במפורש ב-UX.
מה כלול בעבודה שלנו
- ביקורת על ארכיטקטורת האפליקציה הנוכחית שלך
- עיצוב אינטגרציה (בחירת SDK, תהליך commissioning)
- יישום commissioning ושליטה במכשירים
- אינטגרציית Push notifications (APNs/FCM) לסטטוס מכשירים
- בדיקות על מכשירי Matter אמיתיים (עד 10 יחידות)
- תיעוד והדרכת צוות
- 3 חודשי תמיכה לאחר השחרור
למה לבחור בנו
- מעל 9 שנות ניסיון בפיתוח מובייל
- 30+ פרויקטי IoT שהושלמו
- מפתחים מוסמכים של Apple ו-Google
- זמן ממוצע לאינטגרציית Matter: שבועיים
צור קשר כדי להעריך את הפרויקט שלך. קבל ייעוץ על ארכיטקטורת פתרון ה-Matter שלך.







