Scoperta commissionabile
Il rilevamento della messa in servizio avviene prima della messa in servizio e si riferisce alla procedura di rilevamento e identificazione di un nodo commissionabile. Esistono tre metodi tramite i quali un nodo commissionabile può annunciare la propria presenza:
- Bluetooth Low Energy (BLE)
- Wi-Fi Soft AP
- DNS-SD su una rete IP, nota anche come rete IP esistente
In entrambi i metodi, il nodo commissionabile annuncia le informazioni come mostrato nella Tabella 1.
| Campo | Lunghezza | Obbligatorio |
|---|---|---|
| Discriminatore | 12 bit | Sì |
| ID fornitore | 16 bit | No |
| ID prodotto | 16 bit | No |
| Dati estesi | variabile | No |
In base alla specifica Matter, l'ID fornitore e l'ID prodotto non sono obbligatori, ma possono essere inclusi. Il discriminatore è obbligatorio ed è fondamentale durante il processo di messa in servizio per eseguire il provisioning del dispositivo corretto, nel caso in cui siano connessi più dispositivi identici contemporaneamente. I dati estesi possono essere utilizzati per codificare informazioni personalizzate specifiche del fornitore.
Molti dispositivi trasmettono annunci per un breve periodo di tempo (~3-15 minuti) dopo l'accensione. Gli altri dispositivi non devono iniziare l'annuncio perché il loro controllo principale non proviene dal fabric o perché l'annuncio automatico non eseguito dei dispositivi, come le serrature, non è sicuro. La Tabella 2 riassume questo comportamento.
| Funzione principale del dispositivo | Annuncio automatico |
|---|---|
| Dispositivi di accesso a serrature e barriere | No |
| La maggior parte del controllo proviene dal tessuto. Ad esempio, interruttore o lampadina. | Sì |
| La maggior parte del controllo non proviene dal tessuto. Ad esempio, lavastoviglie o frigorifero. | No |
Bluetooth Low Energy
In questa modalità di annuncio, il Commissioner vedrà gli annunci BLE. Il Commissionee deve implementare un'interfaccia periferica Generic Access Profile (GAP) e annunciare periodicamente il proprio stato di non commissionato. Per i primi 30 secondi dopo l'accensione di un dispositivo, la frequenza di annuncio deve essere elevata, a intervalli compresi tra 20 e 60 millisecondi.
Dopo 30 secondi, il dispositivo deve trasmettere a bassa frequenza, a intervalli compresi tra 150 e 1500 millisecondi. Quando viene commissionato al suo primo fabric, il dispositivo deve interrompere l'annuncio BLE.
Il Commissioner non deve inviare richieste di scansione. Deve eseguire una scansione passiva sui tre canali pubblicitari BLE: 37 (2402 MHz), 38 (2426 MHz) e 39 (2480 MHz). Questi canali vengono scelti da regioni dello spettro con una sovrapposizione minima con i canali Wi-Fi, riducendo al minimo l'interferenza tra le radio.
BLE non viene utilizzato per il rilevamento operativo.
Soft AP Wi-Fi
Quando utilizzi il Soft AP Wi-Fi, il Commissionee verrà rilevato tramite una rete Soft Access Point (Soft AP) ad hoc. L'SSID (nome della rete) della rete è nel formato MATTER-ddd-vvvv-pppp, dove:
- ddd è il discriminatore a 12 bit in formato esadecimale.
- vvvv è l'ID fornitore a 16 bit in formato esadecimale.
- pppp è l'ID prodotto a 16 bit in formato esadecimale.
Ogni volta che il Commissioner si connette al Commissionee, entrambi configurano indirizzi link-local IPv6 univoci, consentendo la connessione a livello Wi-Fi. A questo punto, il discovery continua come nel caso del metodo DNS-SD descritto nella sezione successiva.
Inoltre, un soft AP Wi-Fi può implementare DHCP per IPv4 e Information Element (IE) per esporre informazioni aggiuntive specifiche del fornitore. L'IE è un campo di lunghezza variabile all'interno dei frame di gestione 802.11 (Wi-Fi) che consente di trasferire informazioni personalizzate ad altri sistemi.
Durante la scansione del Commissioner, è preferibile utilizzare i canali Wi-Fi 1, 6 e 11, ma è necessario eseguire la scansione di tutti i canali consentiti dalla normativa locale sullo spettro.
Il soft AP Wi-Fi non viene utilizzato per il rilevamento operativo.
DNS-SD
In questo caso, il commissionee verrà rilevato tramite i suoi annunci Domain Name Service - Service Discovery (DNS-SD) che contengono informazioni sui servizi forniti dai nodi. Per saperne di più su DNS-SD, consulta RFC 6762. Questo è un metodo comune di rilevamento dei dispositivi quando:
- Il Commissionee è connesso a Ethernet e ha quindi accesso fisico a un mezzo di rete non criptato.
- Il commissionee si è connesso alla rete Wi-Fi o Thread tramite qualsiasi mezzo fuori banda.
- Il dispositivo da commissionare è già stato commissionato a un altro fabric e si è connesso alla rete Wi-Fi/Thread. In questo caso, il Commissionee non può utilizzare gli annunci BLE o creare un Soft AP. Pertanto, tutte le fabric secondarie vengono sottoposte a provisioning tramite questo metodo.
I dispositivi Thread non utilizzano direttamente DNS-SD, ma un metodo con proxy fornito da Thread Border Router (TBR). Questo metodo è definito dal protocollo di registrazione del servizio DNS-SD e dal relativo proxy di annuncio. I dispositivi Thread si registrano nel servizio SRP, in genere fornito da un TBR. Questo servizio gestisce il traffico mDNS per conto di ogni nodo Thread registrato senza sovraccaricare la rete Thread con traffico aggiuntivo generato da questi protocolli.
Il nome dell'istanza DNS-SD per il rilevamento dei dispositivi è _matterc._udp e i nomi host sono costituiti da un indirizzo MAC a 48 bit o da un indirizzo MAC esteso a 64 bit, espresso come stringa esadecimale, ad esempio A5F15790B0D15F32.local..
In genere, questo record viene annunciato solo quando il Commissionee può essere
commissionato. Tuttavia, può anche continuare ad annunciare quando non è in modalità di messa in servizio. Questo comportamento è chiamato rilevamento esteso.
Dopo il discovery, gli indirizzi IPv6 vengono restituiti nei record AAAA e le coppie chiave/valore vengono restituite nel record TXT DNS-SD. La coppia chiave/valore contiene informazioni come il discriminatore, l'ID fornitore e l'ID prodotto. Il nodo annuncia anche i sottotipi di commissioning, il che consente di filtrare i risultati per trovare solo i dispositivi da commissionare che corrispondono a un determinato attributo.
Rilevamento operativo
Il rilevamento operativo è il processo di rilevamento e identificazione di un nodo commissionato. Il rilevamento operativo avviene solo tramite il metodo DNS-SD basato su IP. Il nome dell'istanza del nodo sarà composto dall'ID Fabric compresso a 64 bit e dall'ID nodo a 64 bit. Questi ID in formato esadecimale vengono poi concatenati con un trattino, ad esempio 2906C908D115D362-8FC7772401CD0696.local..
Il rilevamento operativo condivide lo stesso nome host di destinazione del rilevamento dei dispositivi DNS-SD.
Il tipo di servizio DNS-SD è _matter._tcp. Anche se viene utilizzata la denominazione _tcp, il dispositivo potrebbe utilizzare altri trasporti, ad esempio UDP.