Provisionsfähige Entdeckung
Die Erkennung von Geräten, die in Betrieb genommen werden können, erfolgt vor der Inbetriebnahme und bezieht sich auf den Prozess der Erkennung und Identifizierung eines Knotens, der in Betrieb genommen werden kann. Es gibt drei Methoden, mit denen ein in Betrieb nehmbarer Knoten sich selbst bewerben kann:
- Bluetooth Low Energy (BLE)
- WLAN-SoftAP
- DNS-SD in einem IP-Netzwerk, auch als vorhandenes IP-Netzwerk bezeichnet
Bei beiden Methoden werden die Informationen wie in Tabelle 1 dargestellt vom in Betrieb zu nehmenden Knoten beworben.
| Feld | Länge | Erforderlich |
|---|---|---|
| Diskriminator | 12 Bit | Ja |
| Anbieter-ID | 16 Bit | Nein |
| Produkt-ID | 16 Bit | Nein |
| Erweiterte Daten | Variable | Nein |
Gemäß der Matter-Spezifikation sind die Anbieter-ID und die Produkt-ID nicht erforderlich, können aber angegeben werden. Der Discriminator ist obligatorisch und während der Inbetriebnahme entscheidend, um das richtige Gerät bereitzustellen, falls mehrere identische Geräte gleichzeitig verbunden sind. Erweiterte Daten können verwendet werden, um benutzerdefinierte anbieterspezifische Informationen zu codieren.
Viele Geräte senden nach dem Einschalten für kurze Zeit (~3–15 Minuten) Advertising-Pakete. Andere Geräte dürfen ebenfalls nicht mit dem Advertising beginnen, weil ihre primäre Steuerung nicht von der Fabric stammt oder weil das automatische Advertising von nicht bereitgestellten Geräten wie Schlössern nicht sicher ist. Tabelle 2 fasst dieses Verhalten zusammen.
| Primäre Gerätefunktion | Automatische Ansage |
|---|---|
| Zugangsgeräte für Schlösser und Schranken | Nein |
| Die meisten Steuerelemente stammen von Fabric. Beispiel: Schalter oder Glühbirne. | Ja |
| Die meisten Steuerelemente stammen nicht von Fabric. Beispiel: Geschirrspüler oder Kühlschrank. | Nein |
Bluetooth Low Energy
In diesem Werbemodus sieht der Commissioner BLE-Werbung. Der Commissionee muss eine Peripherieschnittstelle für das Generic Access Profile (GAP) implementieren und seinen nicht in Betrieb genommenen Status regelmäßig bekannt geben. In den ersten 30 Sekunden nach dem Einschalten eines Geräts muss die Advertising-Frequenz hoch sein und in Intervallen von 20 bis 60 Millisekunden erfolgen.
Nach 30 Sekunden muss das Gerät mit einer niedrigen Frequenz in Intervallen von 150 bis 1.500 Millisekunden senden. Wenn das Gerät zum ersten Mal in einer Fabric in Betrieb genommen wird, muss es die BLE-Ankündigung beenden.
Der Commissioner muss keine Scananfragen senden. Es sollte einen passiven Scan auf den drei BLE-Advertising-Kanälen durchführen: 37 (2.402 MHz), 38 (2.426 MHz) und 39 (2.480 MHz). Diese Kanäle werden aus Bereichen des Spektrums ausgewählt, die sich nur minimal mit WLAN-Kanälen überschneiden, um Interferenzen zwischen den Funktechnologien zu minimieren.
BLE wird nicht für die Erkennung von Geräten verwendet.
WLAN-SoftAP
Wenn du einen Soft-AP verwendest, wird der Commissionee über ein Ad-hoc-Soft-AP-Netzwerk erkannt. Die SSID (Netzwerkname) des Netzwerks hat das Format MATTER-ddd-vvvv-pppp, wobei:
- ddd ist der 12-Bit-Diskriminator in HEX.
- vvvv ist die 16-Bit-Anbieter-ID im Hexadezimalformat.
- pppp ist die 16-Bit-Produkt-ID im HEX-Format.
Wenn der Commissioner eine Verbindung zum Commissionee herstellt, konfigurieren beide eindeutige IPv6-Link-Local-Adressen, um eine Verbindung auf der WLAN-Ebene zu ermöglichen. An dieser Stelle wird die Erkennung wie bei der DNS-SD-Methode fortgesetzt, die im nächsten Abschnitt beschrieben wird.
Außerdem kann ein WLAN-Soft-AP DHCP für IPv4 und Information Element (IE) implementieren, um herstellerspezifische zusätzliche Informationen bereitzustellen. IE ist ein Feld mit variabler Länge innerhalb der 802.11-Verwaltungsframes (WLAN), mit dem benutzerdefinierte Informationen an andere Systeme übertragen werden können.
Beim Commissioner-Scan sollten die WLAN-Kanäle 1, 6 und 11 bevorzugt werden. Es müssen jedoch alle Kanäle gescannt werden, die gemäß den lokalen Frequenzbestimmungen zulässig sind.
Der WLAN-Soft-AP wird nicht für die Erkennung von Geräten verwendet.
DNS-SD
In diesem Fall wird der Commissionee über seine DNS-SD-Advertisements (Domain Name Service – Service Discovery) erkannt, die Informationen zu den von den Knoten bereitgestellten Diensten enthalten. Weitere Informationen zu DNS-SD finden Sie unter RFC 6762. Diese Methode der Geräteerkennung wird häufig in folgenden Fällen verwendet:
- Der Commissionee ist mit dem Ethernet verbunden und hat somit physischen Zugriff auf ein unverschlüsseltes Netzwerkmedium.
- Der Commissionee ist dem WLAN oder Thread-Netzwerk über ein Out-of-Band-Verfahren beigetreten.
- Das zu kommissionierende Gerät wurde bereits einer anderen Fabric zugewiesen und ist dem WLAN/Thread-Netzwerk beigetreten. In diesem Fall kann der Commissionee keine BLE-Advertisements verwenden oder einen Soft-AP erstellen. Alle sekundären Fabrics werden also über diese Methode bereitgestellt.
Thread-Geräte verwenden DNS-SD nicht direkt, sondern eine Proxy-Methode, die vom Thread Border Router (TBR) bereitgestellt wird. Diese Methode wird durch das DNS-SD-Dienstregistrierungsprotokoll und seinen Advertising-Proxy definiert. Thread-Geräte registrieren sich im SRP-Dienst, der normalerweise von einem TBR bereitgestellt wird. Dieser Dienst verarbeitet mDNS-Traffic im Namen jedes registrierten Thread-Knotens, ohne das Thread-Netzwerk mit zusätzlichem Traffic zu belasten, der durch diese Protokolle generiert wird.
Der DNS-SD-Instanzname für die Geräteerkennung ist _matterc._udp und die Hostnamen werden entweder aus einer 48-Bit-MAC-Adresse oder einer 64-Bit-MAC-erweiterten Adresse erstellt, die als Hexadezimalstring wie A5F15790B0D15F32.local. ausgedrückt wird.
Im Allgemeinen wird dieser Eintrag nur dann beworben, wenn der Beauftragte beauftragt werden kann. Es kann jedoch auch außerhalb des Inbetriebnahme-Modus weiterhin Advertising-Pakete senden. 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 kündigt auch Untertypen für die Inbetriebnahme an, sodass die Ergebnisse gefiltert werden können, um nur Commissionees zu finden, die einem bestimmten Attribut entsprechen.
Betriebliche Erkennung
Die operative Erkennung ist der Prozess, bei dem ein in Betrieb genommener Knoten erkannt und identifiziert wird. Die operative Erkennung erfolgt nur über die IP-basierte DNS-SD-Methode. Der Name der Knoteninstanz setzt sich aus der komprimierten 64-Bit-Fabric-ID und der 64-Bit-Knoten-ID zusammen. Diese IDs im Hexadezimalformat werden dann mit einem Bindestrich verkettet, z. B. 2906C908D115D362-8FC7772401CD0696.local..
Die operative 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 andere Übertragungsarten wie UDP verwenden.