Provisionierbare Erkennung
Die provisionierbare Erkennung erfolgt vor der Provisionierung und bezieht sich auf das Erkennen und Identifizieren eines provisionierbaren Knotens. Es gibt drei Methoden, mit denen ein provisionierbarer Knoten für sich werben kann:
- Bluetooth Low Energy (BLE)
- WLAN-Soft-AP
- DNS-SD in einem IP-Netzwerk, auch bekannt als bestehendes IP-basiertes Netzwerk
Bei beiden Methoden wirbt der provisionierbare Knoten mit den in Tabelle 1 gezeigten Informationen.
| Feld | Länge | Erforderlich |
|---|---|---|
| Diskriminator | 12 Bit | Ja |
| Anbieter-ID | 16 Bit | Nein |
| Produkt-ID | 16 Bit | Nein |
| Erweiterte Daten | variabel | Nein |
Gemäß der Matter Spezifikation sind Anbieter-ID und Produkt-ID nicht erforderlich, können aber angegeben werden. Der Diskriminator ist obligatorisch und spielt beim Provisionierungsprozess eine entscheidende Rolle, um das richtige Gerät bereitzustellen, falls mehrere identische Geräte gleichzeitig verbunden sind. Mit Erweiterte Daten können benutzerdefinierte anbieterspezifische Informationen codiert werden.
Viele Geräte werben nach dem Einschalten für kurze Zeit (~3–15 Minuten) für sich. Andere Geräte dürfen nicht mit der Werbung beginnen, entweder weil ihre primäre Steuerung nicht vom Fabric stammt oder weil die automatische Werbung für nicht provisionierte Geräte wie Schlösser nicht sicher ist. Tabelle 2 fasst dieses Verhalten zusammen.
| Primäre Gerätefunktion | Automatische Ankündigung |
|---|---|
| Geräte für den Zugriff auf Schlösser und Barrieren | Nein |
| Die meiste Steuerung stammt vom Fabric. Beispiel: Schalter oder Glühbirne | Ja |
| Die meiste Steuerung stammt nicht vom Fabric. Beispiel: Geschirrspüler oder Kühlschrank | Nein |
Bluetooth Low Energy
In diesem Werbemodus sieht der Commissioner BLE-Werbung. Der Commissionee muss eine periphere Schnittstelle für das Generic Access Profile (GAP) implementieren und seinen nicht provisionierten Status regelmäßig bewerben. In den ersten 30 Sekunden nach dem Einschalten eines Geräts muss die Werbefrequenz hoch sein, mit Intervallen von 20 bis 60 Millisekunden.
Nach 30 Sekunden muss das Gerät mit einer niedrigen Frequenz werben, mit Intervallen von 150 bis 1.500 Millisekunden. Wenn das Gerät zum ersten Mal provisioniert wird, muss es die BLE-Werbung beenden.
Der Commissioner muss keine Scan-Anfragen senden. Er sollte einen passiven Scan auf den drei BLE-Werbekanälen durchführen: 37 (2.402 MHz), 38 (2.426 MHz) und 39 (2.480 MHz). Diese Kanäle werden aus Regionen im Spektrum ausgewählt, die nur minimale Überschneidungen mit WLAN-Kanälen aufweisen, um Funkstörungen zu minimieren.
BLE wird nicht für die betriebliche Erkennung verwendet.
WLAN-Soft-AP
Bei Verwendung von WLAN-Soft-AP wird der Commissionee über ein Ad-hoc-Netzwerk mit Soft Access Point (Soft-AP) erkannt. Die SSID (Netzwerkname) des Netzwerks hat das Format MATTER-ddd-vvvv-pppp, wobei:
- ddd der 12-Bit-Diskriminator in HEX ist.
- vvvv die 16-Bit-Anbieter-ID in HEX ist.
- pppp die 16-Bit-Produkt-ID in HEX ist.
Wenn sich der Commissioner mit dem Commissionee verbindet, konfigurieren beide eindeutige IPv6-Link-Local-Adressen, um eine Verbindung auf der WLAN-Ebene zu ermöglichen. An diesem Punkt wird die Erkennung wie im Fall der DNS-SD-Methode fortgesetzt, die im nächsten Abschnitt behandelt wird.
Außerdem kann ein WLAN-Soft-AP DHCP für IPv4 und Information Element (IE) implementieren, um anbieterspezifische zusätzliche Informationen bereitzustellen. IE ist ein Feld mit variabler Länge in den 802.11-Verwaltungsframes (WLAN), mit dem benutzerdefinierte Informationen an andere Systeme übertragen werden können.
Bei der Suche durch den Commissioner sollten die WLAN-Kanäle 1, 6 und 11 bevorzugt werden. Es müssen aber alle Kanäle gescannt werden, die gemäß der lokalen Spektrumregulierung zulässig sind.
WLAN-Soft-AP wird nicht für die betriebliche Erkennung verwendet.
DNS-SD
In diesem Fall wird der Commissionee durch seine Domain Name Service – Service Discovery (DNS-SD)-Werbung erkannt, die Informationen zu den von den Knoten bereitgestellten Diensten enthält. Weitere Informationen zu DNS-SD finden Sie in RFC 6762. Dies ist eine gängige Methode zur Geräteerkennung, wenn:
- Der Commissionee ist mit Ethernet verbunden und hat somit physischen Zugriff auf ein unverschlüsseltes Netzwerkmedium.
- Der Commissionee ist auf anderem Wege als über das Band dem WLAN- oder Thread Netzwerk beigetreten.
- Der Commissionee wurde bereits für ein anderes Fabric provisioniert und ist dem WLAN-/Thread Netzwerk beigetreten. In diesem Fall kann der Commissionee keine BLE-Werbung verwenden oder einen Soft-AP erstellen. Daher werden alle sekundären Fabrics mit dieser Methode provisioniert.
Thread Geräte verwenden DNS-SD nicht direkt, sondern eine Proxy-Methode, die vom Thread Border Router bereitgestellt wird. Diese Methode wird durch das DNS-SD Service Registration Protocol und seinen Advertising Proxydefiniert. Thread Geräte registrieren sich im SRP-Dienst der in der Regel von einem Thread Border Router bereitgestellt wird. Dieser Dienst verarbeitet mDNS-Traffic im Namen jedes registrierten Thread Knotens, ohne das ThreadNetzwerk mit zusätzlichem Traffic zu belasten, der von diesen Protokollen generiert wird.
Der DNS-SD-Instanzname für die Geräteerkennung ist _matterc._udp und die Hostnamen werden entweder durch eine 48-Bit-MAC-Adresse oder eine 64-Bit-MAC-Erweiterungsadresse erstellt, die als Hex-String wie A5F15790B0D15F32.local. ausgedrückt wird.
Dieser Eintrag wird in der Regel nur beworben, wenn der Commissionee provisioniert werden kann. Er kann aber auch beworben werden, wenn er sich nicht im Provisionierungsmodus befindet. Dieses Verhalten wird als erweiterte Erkennung bezeichnet.
Nach der Erkennung werden IPv6-Adressen in den AAAA-Einträgen und Schlüssel/Wert-Paare im DNS-SD-TXT-Eintrag zurückgegeben. Das Schlüssel/Wert-Paar enthält Informationen wie den Diskriminator, die Anbieter-ID und die Produkt-ID. Der Knoten bewirbt auch Provisionierungsuntertypen, mit denen die Ergebnisse gefiltert werden können, um nur Commissionees zu finden, die einem bestimmten Attribut entsprechen.
Betriebliche Erkennung
Die betriebliche Erkennung ist der Prozess, bei dem ein provisionierter Knoten erkannt und identifiziert wird. Die betriebliche Erkennung erfolgt nur über die IP-basierte DNS-SD-Methode. Der Name der Knoteninstanz setzt sich aus der 64-Bit-komprimierten Fabric-ID und der 64-Bit-Knoten-ID zusammen. Diese IDs in Hexadezimal werden dann mit einem Bindestrich verkettet, z. B. 2906C908D115D362-8FC7772401CD0696.local..
Die betriebliche Erkennung verwendet denselben Zielhostnamen wie die DNS-SD-Geräteerkennung.
Der DNS-SD-Diensttyp ist _matter._tcp. Obwohl die Benennung _tcp verwendet wird, kann das Gerät auch andere Transporte wie UDP verwenden.