Détection des opérations et de la commission

Détection commissionnable

La détection commissionnable a lieu avant la mise en service et désigne le processus de détection et d'identification d'un nœud commissionnable. Un nœud commissionnable peut s'annoncer de trois manières :

Dans les deux cas, le nœud commissionnable annonce les informations comme indiqué dans le tableau 1.

Tableau 1 : Annonce d'un nœud commissionnable
Champ Longueur Obligatoire
Discriminateur 12 bits Oui
ID fournisseur 16 bits Non
ID produit 16 bits Non
Données étendues variable Non

Conformément à la Matter spécification, l'ID fournisseur et l'ID produit ne sont pas obligatoires, mais peuvent être inclus. Le discriminateur est obligatoire et essentiel lors du processus de mise en service pour provisionner l'appareil approprié, au cas où plusieurs appareils identiques seraient connectés en même temps. Les données étendues peuvent être utilisées pour encoder des informations personnalisées spécifiques au fournisseur.

De nombreux appareils s'annoncent pendant une courte période (environ 3 à 15 minutes) après leur mise sous tension. D'autres appareils ne doivent pas commencer à s'annoncer, car leur commande principale ne provient pas du fabric ou parce que l'annonce automatique non provisionnée d'appareils tels que les serrures n'est pas sûre. Le tableau 2 récapitule ce comportement.

Tableau 2 : Annonce d'appareils non provisionnés par type d'appareil
Fonction principale de l'appareil Annonce automatique
Appareils d'accès aux serrures et aux barrières Non
La plupart des commandes proviennent du fabric. Par exemple, un interrupteur ou une ampoule. Oui
La plupart des commandes ne proviennent pas du fabric. Par exemple, un lave-vaisselle ou un réfrigérateur. Non

Bluetooth Low Energy

Dans ce mode d'annonce, le commissaire voit les annonces BLE. Le commissionné doit implémenter une interface périphérique Generic Access Profile (GAP) et annoncer périodiquement son état non mis en service. Pendant les 30 premières secondes après la mise sous tension d'un appareil, la fréquence d'annonce doit être élevée, à des intervalles de 20 à 60 millisecondes.

Après 30 secondes, l'appareil doit s'annoncer à basse fréquence, à des intervalles de 150 à 1 500 millisecondes. Lorsqu'il est mis en service sur son premier fabric, l'appareil doit arrêter son annonce BLE.

Le commissaire n'a pas besoin d'émettre de requêtes d'analyse. Il doit effectuer une analyse passive sur les trois canaux d'annonce BLE : 37 (2 402 MHz), 38 (2 426 MHz) et 39 (2 480 MHz). Ces canaux sont sélectionnés dans des régions du spectre avec un chevauchement minimal avec les canaux Wi-Fi, ce qui réduit les interférences croisées.

Le BLE n'est pas utilisé pour la détection opérationnelle.

Point d'accès logiciel Wi-Fi

Lorsque vous utilisez un point d'accès logiciel Wi-Fi, le commissionné est détecté via un réseau soft access point (soft AP) ad hoc. Le SSID (nom du réseau) est en la forme MATTER-ddd-vvvv-pppp, où :

  • ddd correspond au discriminateur de 12 bits au format HEX.
  • vvvv correspond à l'ID fournisseur de 16 bits au format HEX.
  • pppp correspond à l'ID produit de 16 bits au format HEX.

Chaque fois que le commissaire se connecte au commissionné, les deux configurent des adresses de liaison locale IPv6 uniques, ce qui permet la connexion au niveau de la couche Wi-Fi. À ce stade, la détection se poursuit comme dans le cas de la méthode DNS-SD décrite dans la section suivante.

De plus, un point d'accès logiciel Wi-Fi peut implémenter le protocole DHCP pour IPv4 et un élément d'information (IE) afin d'exposer des informations supplémentaires spécifiques au fournisseur. L'IE est un champ de longueur variable dans les trames de gestion 802.11 (Wi-Fi) qui permet de transmettre des informations personnalisées à d'autres systèmes.

Les canaux Wi-Fi 1, 6 et 11 doivent être privilégiés lors de l'analyse du commissaire, mais tous les canaux autorisés par la réglementation locale du spectre doivent être analysés.

Le point d'accès logiciel Wi-Fi n'est pas utilisé pour la détection opérationnelle.

DNS-SD

Dans ce cas, le commissionné est détecté par ses annonces Domain Name Service - Service Discovery (DNS-SD) qui contiennent des informations sur les services rendus par les nœuds. Pour en savoir plus sur DNS-SD, consultez la norme RFC 6762. Il s'agit d'une méthode courante de détection d'appareils lorsque :

  • Le commissionné est connecté à Ethernet et dispose donc d'un accès physique à un support réseau non chiffré.
  • Le commissionné a rejoint le réseau Wi-Fi ou Thread réseau par tout moyen hors bande.
  • Le commissionné a déjà été mis en service sur un autre fabric et a rejoint le réseau Wi-Fi/Thread network. Dans ce cas, le commissionné ne peut pas utiliser d'annonces BLE ni créer de point d'accès logiciel. Tous les fabrics secondaires sont donc provisionnés via cette méthode.

Les appareils Thread n'utilisent pas directement DNS-SD, mais une méthode proxy fournie par le Thread Border Router. Cette méthode est définie par le protocole d'enregistrement de service DNS-SD et son proxy d'annonce. Thread appareils s'enregistrent dans le service SRP généralement fourni par un routeur de bordure Thread. Ce service gère le trafic mDNS pour le compte de chaque nœud Thread enregistré sans alourdir le réseau Thread avec du trafic supplémentaire généré par ces protocoles.

Le nom d'instance DNS-SD pour la détection d'appareils est _matterc._udp, et les noms d'hôte sont créés par une adresse MAC de 48 bits ou une adresse MAC étendue de 64 bits, exprimée sous forme de chaîne hexadécimale telle que A5F15790B0D15F32.local.. En règle générale, cet enregistrement n'est annoncé que lorsque le commissionné peut être mis en service. Toutefois, il peut également continuer à s'annoncer lorsqu'il n'est pas en mode de mise en service. Ce comportement est appelé détection étendue.

Après la détection, les adresses IPv6 sont renvoyées dans les enregistrements AAAA et les paires clé/valeur dans l'enregistrement TXT DNS-SD. La paire clé/valeur contient des informations telles que le discriminateur, l'ID fournisseur et l'ID produit. Le nœud annonce également des sous-types de mise en service, ce qui permet de filtrer les résultats pour ne trouver que les commissionnés qui correspondent à un attribut particulier.

Détection opérationnelle

La détection opérationnelle désigne le processus de détection et d'identification d'un nœud mis en service. La détection opérationnelle n'a lieu que via la méthode DNS-SD basée sur IP. Le nom d'instance du nœud sera composé de l'ID de fabric compressé de 64 bits et de l'ID de nœud de 64 bits. Ces ID au format hexadécimal sont ensuite concaténés avec un trait d'union, comme dans 2906C908D115D362-8FC7772401CD0696.local.. La détection opérationnelle partage le même nom d'hôte cible que la détection d'appareils DNS-SD.

Le type de service DNS-SD est _matter._tcp. Bien que la convention d'attribution de noms _tcp soit utilisée, l'appareil peut utiliser d'autres transports tels que UDP.