Condividi tramite


Wi-Fi'implementazione diretta dell'associazione

In questa sezione vengono fornite linee guida e requisiti di progettazione per un dispositivo periferico per partecipare ai casi d'uso Tap e Setup e Tap e Reconnect and Reconnect.

Nota

L'implementazione di associazione descritta in questo argomento è attualmente supportata in Windows 8.1, solo per l'associazione ai dispositivi della stampante.

Windows 10 e versioni successive supporta NFC per Wi-Fi consegna della connessione statica diretta tramite il record di configurazione del vettore P2P Wi-Fi dell'alleanza Wi-Fi. Per altre informazioni, vedere Wi-Fi Alliance.

Associazione di dispositivi diretti Wi-Fi periferiche

Durante il tocco, NFP riceve le informazioni di associazione dal dispositivo di connessione. NFP passa le informazioni di associazione a Windows. Wi-Fi Dispositivi diretti seguono la procedura di associazione Wi-Fi Alliance Out-Of-Band (OOB) e le raccomandazioni del forum NFC. Windows si basa su un messaggio di associazione proprietario, come definito di seguito.

Windows richiederà all'utente il consenso e, se viene specificato, Windows tenterà di connettersi a ognuno degli indirizzi, in ordine, fino a quando non viene completato. Non vi è alcuna ulteriore interazione tra un provider NFP nel PC e il dispositivo di connessione.

Usando NFC come esempio, l'installazione unidirezionale viene eseguita archiviando le informazioni di associazione in un tag NFC statico o passivo (è anche possibile usare un tag NFC attivo in modalità di emulazione statica). Windows sottoscrive queste informazioni di associazione. Un provider NFP abilitato per NFC nel PC riceve le informazioni di connessione dal tag e lo passa a Windows come sottoscrittore. Al momento della ricezione delle informazioni di connessione, Windows esegue l'installazione effettiva del dispositivo in banda usando tecniche specifiche della classe del dispositivo.

Requisiti di interoperabilità

Per garantire l'interoperabilità tra provider NFP, le informazioni di associazione devono essere incapsulate in un formato di messaggio specifico del provider.

Come descritto altrove in questo documento, non esistono requisiti specifici per le tecnologie di prossimità diverse da quelle per i provider NFP abilitati per NFC.

Windows richiede ai provider NFP abilitati per NFC di supportare un meccanismo specifico definito dal forum NFC per trasmettere le informazioni di associazione OOB dirette Wi-Fi per l'associazione unidirezionale. Il messaggio NDEF contiene un primo record con un valore di campo TNF di 0x01 e un campo TYPE uguale a "Hs" e un record gestore telefonico alternativo che punta a un record di configurazione Wi-Fi gestore telefonico diretto. In questo metodo verrà usato solo il PAYLOAD del record NDEF.

Associazione unidirezionale tramite NFC per Wi-Fi Direct

Questa sezione fornisce altri dettagli su come NFC, Wi-Fi Direct e Windows interagiscono per supportare l'associazione wireless unidirezionale per dispositivi Wi-Fi Direct, ad esempio stampanti.

Riferimenti al provider NFP

Wi-Fi l'associazione diretta viene eseguita usando un tipo di messaggio Select di connessione standardizzato del forum NFC. L'immagine seguente offre una panoramica del modo in cui viene applicato un messaggio Di selezione della connessione per Wi-Fi associazione diretta dei dispositivi, in particolare i record NDEF 3 e 4. Il messaggio Handover Select descrive uno o più record "ac" o "Carrier alternativo". Questi record seguono il record Handover Select in sequenza e ognuno ha un tipo ben definito. Infine, il messaggio conterrà un record di associazione di dispositivi definito da Microsoft che fornisce a Windows informazioni su come elaborare l'operazione di associazione.

handover della connessione selezionare il messaggio.

Wi-Fi messaggio di associazione di dispositivi diretti

Nei casi d'uso di esempio che seguono, i tag NFC di tipo 2 vengono usati come esempio illustrativo. Se è necessario usare un tipo di tag NFC diverso, il messaggio NDEF deve essere incapsulato correttamente in base alla definizione del tag.

Campo Valore Descrizione
TNF 0x02 Formato del campo Tipo riportato di seguito. Tipo di supporto definito in RFC 2046.
Tipo 'application/vnd.ms-windows.wfd.oob' Nuova stringa di tipo definita per questo scenario.
Dimensioni dei dati OOB WORD Sono supportati fino a 64 KB di dati OOB.
Wi-Fi dati OOB diretti <BLOB di dimensioni indicate dal campo precedente> Wi-Fi dati OOB diretti, come definito di seguito.

Wi-Fi formato OOB diretto

Nella tabella seguente viene descritto il formato dei dati OOB direct WiFi. I dati unidirezionali OOB possono essere trasmessi da qualsiasi dispositivo OOB P2P unidirezionale.

Attributi ID attributo Obbligatorio/facoltativo Nota
Intestazione

OOB Vedere la tabella formato attributo intestazione OOB.
N/D Necessario L'attributo OOB Header deve essere presente nel BLOB di dati OOB P2P e avere il relativo valore di tipo OOB impostato su "OOB Unidirectional Provisioning Data".
Informazioni sul dispositivo

OOB Vedere la tabella formato attributo informazioni dispositivo OOB.
1 Obbligatoria Questo attributo deve essere presente. Fornisce informazioni su questo dispositivo P2P.
Informazioni sul provisioning OOB 2 Necessario Questo attributo deve essere presente. Fornisce informazioni sul provisioning che il dispositivo P2P prevede di usare.
Timeout configurazione OOB 5 Necessario Questo attributo deve essere presente. Fornisce informazioni su quanto tempo il dispositivo P2P attenderà una risposta su Wi-Fi Direct.

Formato dell'attributo intestazione OOB

Nome campo Dimensioni (ottetti) Valore Descrizione
Lunghezza totale dati 2 Variabile Lunghezza dell'intero BLOB di dati OOB (inclusa l'intestazione).
Length 2 Variabile Lunghezza dei campi seguenti nell'intestazione OOB.
Versione 1 0x10 Valore che identifica la versione del record OOB P2P.
Tipo OOB 1 Variabile Valore che identifica il tipo di transazione OOB. Il valore specifico è definito nella tabella Tipi di transazione OOB .
OUI 0 o 3 Variabile OUI specifico del fornitore. Si tratta di un valore facoltativo. Deve essere presente solo quando il tipo OOB è specifico del fornitore.
Tipo OUI 0 o 1 Variabile Tipo specifico del fornitore. Si tratta di un valore facoltativo. Deve essere presente solo quando il tipo OOB è specifico del fornitore.

Tipi di transazione OOB

Tipo OOB (esadecimale) Descrizione
0x00 Dati di provisioning unidirectionali OOB
0x01 Dati del listener di provisioning OOB
0x02 Dati del connettore di provisioning OOB
0x03 Reinvoca i dati di OOB
0x04-0xDC Riservato
0xDD Specifica del fornitore
0xDE-0xFF Riservato

Formato dell'attributo dell'attributo di info del dispositivo OOB

Nome campo Dimensioni (ottetti) Valore Descrizione
ID attributo 1 1 Identificazione del tipo di attributo OOB P2P. Il valore specifico è definito nella tabella Attributi OOB P2P.
Length 2 Variabile Lunghezza dei campi seguenti nell'attributo.
Indirizzo del dispositivo P2P 6 Come definito in P2P Spec. Identificatore usato per fare riferimento univoco a un dispositivo P2P.
Metodi di configurazione 2 Come definito in P2P Spec. Metodi WSC supportati da questo dispositivo.

Nota: L'ordinamento di byte all'interno del campo Metodi di configurazione deve essere big-endian.
Tipo di dispositivo primario 8 Come definito in P2P Spec. Tipo di dispositivo primario del dispositivo P2P. Contiene solo la parte Dati dell'attributo Tipo di dispositivo primario WSC (esclude i campi ID attributo e lunghezza).

Nota: L'ordinamento di byte all'interno del campo Tipo di dispositivo primario deve essere big-endian.
Bitmap funzionalità dispositivo 1 Come definito in P2P Spec. Set di parametri che indicano le funzionalità del dispositivo P2P.
Device Name Variabile Come definito in P2P Spec. Nome descrittivo del dispositivo P2P. Contiene l'intero formato TLV dell'attributo Nome dispositivo WSC.

Nota: L'ordinamento di byte all'interno del campo Nome dispositivo deve essere big-endian.

Attributi OOB P2P

Tipo OOB (esadecimale) Descrizione
0x00 Stato OOB
0x01 Informazioni sul dispositivo OOB
0x02 Informazioni sul provisioning OOB
0x03 ID gruppo OOB
0x04 Canale di ascolto OOB
0x05 Timeout di configurazione OOB
0x06-0xDC Riservato
0xDD Attributo specifico del fornitore
0xDE-0xFF Riservato

Formato dell'attributo di provisioning OOB

Nome campo Dimensioni (ottetti) Valore Descrizione
ID attributo 1 1 Identificazione del tipo di attributo OOB P2P. Il valore specifico è definito nella tabella Attributi OOB P2P .
Length 2 Variabile Lunghezza dei campi seguenti nell'attributo .
Bitmap delle impostazioni di provisioning 1 Variabile Set di opzioni delle impostazioni di provisioning, come definito nella tabella Impostazioni di provisioning .
Metodo config selezionato 2 Come definito nella specifica P2P. Metodo WSC selezionato da questo dispositivo P2P per il provisioning.
Lunghezza pin 1 0 - 8 Numero di byte nel campo Dati PIN seguente. Questo campo impostato su 0 indica che non sono presenti dati PIN aggiuntivi.
Aggiungi dati Variabile n Questo campo è facoltativo. Questo campo è presente solo se il campo Lunghezza PIN non è 0 e contiene una matrice di ottetti che rappresentano un PIN da usare per il provisioning.

Impostazioni di provisioning

Bit Informazioni Note
0 Crea nuovo gruppo Il bit Crea nuovo gruppo è impostato su 1 se queste informazioni di provisioning sono per formare un nuovo gruppo con il dispositivo P2P di destinazione. In caso contrario, queste informazioni di provisioning sono destinate all'aggiunta a un gruppo esistente.
1 Imponi impostazione tipo di gruppo Il bit Imponi impostazione tipo di gruppo è impostato su 1 se il bit del tipo di gruppo desiderato deve essere applicato. In caso contrario, il bit del tipo di gruppo desiderato è semplicemente una preferenza.
2 Tipo di gruppo desiderato Il bit del tipo di gruppo desiderato deve essere impostato su 0 se il tipo di gruppo desiderato è temporaneo e deve essere impostato su 1 se il tipo di gruppo desiderato è persistente.
3 - 7 Riservato  

Formato dell'attributo di timeout della configurazione OOB

Nome campo Dimensioni (ottetti) Valore Descrizione
ID attributo 1 5 Identificazione del tipo di attributo OOB P2P. Il valore specifico è definito nella tabella Attributi OOB P2P .
Length 2 1 Lunghezza dei campi seguenti nell'attributo .
Timeout della configurazione del listener 1 0-255 Quantità di tempo che questo dispositivo P2P impiega in attesa di Wi-Fi comunicazione diretta dopo il trasferimento dei dati OOB, in unità di 100 millisecondi. (Massimo 25,5 secondi).

Record di associazione di dispositivi Windows

Il record di associazione di dispositivi Windows segue la specifica NDEF. Fornisce informazioni aggiuntive a Windows su come elaborare il messaggio Di selezione della connessione. I campi TNF e Type devono essere specificati in base alla specifica NDEF. Gli altri campi seguenti verranno elencati in sequenza nel campo Payload del record NDEF.

Nome campo Valore Valore lunghezza Descrizione
TNF 0x02 3 bit Formato del campo Tipo riportato di seguito. Tipo di supporto definito in RFC 2046.
Tipo 'application/vnd.ms-windows.devicepairing' byte 0x28 Nuova stringa di tipo definita per questo scenario.
MajorVersion 0x1 2 byte La versione principale deve essere 0x1.
MinorVersion 0x0 2 byte La versione secondaria deve essere 0x0.
Flags 0x0 o 0x01 4 byte Impostare su 0x0 per provare tutti i trasporti.

Impostare su 0x1 per tentare l'installazione in sequenza e arrestarla dopo il primo esito positivo. La preferenza per i trasporti è indicata dalla sequenza di record di vettori alternativi.

Nota I valori 0x0002 tramite 0x0064 sono riservati.
Lunghezza del nome descrittivo del dispositivo Lunghezza del campo nome descrittivo del dispositivo. 1 byte Lunghezza del nome descrittivo del dispositivo.
Nome descrittivo del dispositivo Stringa con codifica UTF-8 fino a 255 byte. Lunghezza del nome descrittivo del dispositivo Nome descrittivo per il dispositivo che verrà visualizzato nell'interfaccia utente del consenso nel client.

Wi-Fi Direct just works ceremony, static connection handover tag format

Ad esempio, di seguito è riportata un'implementazione tipica per un tag NFC passivo. Corrisponde a un caso di handover della connessione statica con un record di gestore diretto Wi-Fi, una stampante di condivisione di rete e il record di associazione ms-device.

Questa prima tabella illustra il formato della parte di associazione diretta Wi-Fi del tag.

Offset Content Length Spiegazione
0 0x91 1 Intestazione record NDEF:

MB=1b, ME=0b, CF=0b, SR=1b, IL=0b, TNF=001b
1 0x02 1 Lunghezza tipo di record: 2 ottetti
2 0x0A 1 Lunghezza tipo di record: 10 ottetti
3 0x48 0x73 2 Tipo di record: "Hs"
5 0x12 1 Numero di versione: Major = 1, Minor = 2
6 0xD1 1 Intestazione record NDEF:

MB=1b, ME=1b, CF=0b, SR=1b, IL=0b, TNF=001b
7 0x02 1 Lunghezza tipo di record: 2 ottetti
8 0x04 1 Lunghezza del payload: 4 ottetti
9 0x61 0x63 2 Tipo di record: "ac"
11 0x01 1 Flag di vettore: CPS=1, "attivo"
12 0x01 1 Lunghezza riferimento dati vettore: 1 ottetto
13 0x30 1 Riferimento ai dati del vettore: "0"
14 0x00 1 Numero di riferimenti ai dati ausiliari: 0
15 0x1A 1 Intestazione record NDEF:

MB=0b, ME=0b, CF=0b, SR=1b, IL=1b, TNF=010b
16 0x22 1 Lunghezza nome tipo di record: 34 ottetti
17 0x3E 1 Lunghezza del payload: 62 ottetti
18 0x01 1 Lunghezza ID: 1 ottetto
19















0x61 0x70 0x70 0x6C 0x69 0x63 0x61 0x74 0x69 0x6F 0x6E 0x2F 0x76 0x6E 0x64 0x2E 0x6D 0x73 0x2D 0x77 0x69 0x6E 0x64 0x6F 0x77 0x73 0x2E 0x77 0x66 0x64 0x2E 0x6F 0x6F 0x62
34 Nome tipo di record: 'application/vnd.ms-windows.wfd.oob'
53 0x30 1 ID: "0"
54 0x3E 0x00 2 Wi-Fi lunghezza dati OOB diretta: 62 ottetti. La lunghezza viene letto come corto senza segno e include l'intero BLOB. Include 2 ottetti di lunghezza. Questo valore deve essere archiviato in formato little-endian.
56 0x02, 0x00 2 Lunghezza intestazione: 2 ottetti
58 0x10 1 Versione: 0x10
59 0x00 1 Tipo OOB: 0x00 (unidirectional)
60 0x01 1 Attributo: 0x01 (attributo Informazioni dispositivo)
61 0x22 0x00 2 Lunghezza delle informazioni sul dispositivo: 34 ottetti
63

0x01 0x23 0x34 0xab 0xcd 0xef
6 Wi-Fi indirizzo MAC del dispositivo Direct P2P: "01:23:34:ab:cd:ef"
69 0x01 0x00 2 Tipo di configurazione
71

0x00 0x01 0x00 0x50 0xF2 0x00 0x00 0x00
8 Tipo di dispositivo primario
79 0x12 1 Funzionalità
80 0x10 0x11 2 Attributo: Nome del dispositivo
82 0x00 0x0d 2 Lunghezza nome dispositivo: 13 ottetti
84

0x43 0x6f 0x6e 0x74 0x6f 0x73 0x6f 0x20 0x4d 0x6f 0x75 0x73 0x65



13 Nome descrittivo del dispositivo in UTF-8. Si noti che non esiste alcun carattere di terminazione NULL e che UTF-8 può essere uno o due byte per carattere. In questo esempio viene letto "Contoso Mouse"
97 0x02 1 Attributo: informazioni di provisioning
98 0x0c 0x00 2 Lunghezza delle informazioni di provisioning: 12 ottetti
100 0x07 1 Impostazione della bitmap: nuovo gruppo, applicare persistenti
101 0x01 0x00 2 Metodo config: voce pin
103 0x08 1 Lunghezza del pin: 8 ottetti
104

0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08
8 Pin: "12345678"
112 0x05 1 Attributo: informazioni sul timeout della configurazione
113 0x01 0x00 2 Lunghezza del timeout della configurazione
115 0x64 1 10 secondi, in 100 unità millisecondi

Questa seconda tabella illustra il formato della parte di associazione della stampante di rete del tag.

Offset Content Length Spiegazione
116 0x12 1 Intestazione record NDEF:
MB=0b,ME=0b, CF=0b, SR=1b, IL=0b,TNF=010b
117 0x29 1 Campo lunghezza tipo
118 0x19 1 Campo lunghezza payload
119









0x61 0x70 0x70 0x6c 0x69 0x63 0x61 0x74 0x69 0x6f 0x6e 0x2f 0x76 0x6e 0x64 0x2e 0x6d 0x73 0x2d 0x77 0x69 0x6e 0x64 0x6f



0x77 0x73 0x2e 0x6e 0x77 0x70 0x72 0x69





0x77 0x73 0x2e 0x6e 0x6e 0x74 0x69 0x6e 0x62 0x67 0x2e 0x6f 0x6f 0x62
41 Nome del tipo di record: "application/vnd.ms-windows.nwprinting.oob"
160 0x5c 0x5c 0x70 0x72 0x69 0x6e 0x74 0x53









0x65 0x72 0x76 0x65 0x72 0x5c 0x70 0x72 0x69 0x6e 0x74 0x65 0x72 0x4e 0x61 0x6d 0x65

25 Nome stampante: "\printServer\printerName"

Questa terza tabella illustra il formato della parte di associazione MS-Device del tag.

Offset Content Length Spiegazione
185 0x52 1 Intestazione record NDEF:

MB=0b, ME=1b, CF=0b, SR=1b, IL=0b,TNF=010b
186 0x28 1 Campo lunghezza tipo
187 0x15 1 Campo lunghezza payload
188

0x61 0x70 0x70 0x6c 0x69 0x63 0x61 0x74 0x69 0x6f 0x6e 0x2f

0x76 0x6e 0x64 0x2e



0x6d 0x73 0x2d 0x77



0x69 0x6e 0x64 0x6f 0x77 0x73 0x2e 0x64



0x65 0x76 0x69 0x63 0x65 0x70 0x61 0x69 0x72 0x69 0x6E 0x67

40 Nome del tipo di record: "application/vnd.ms-windows.devicepairing"
228

0x00 0x01 0x00 0x00
4 Versione: Major = 1, Minor = 0
232 0x00 1 Flag: impostare su 0, provare tutti i trasporti
233 0x0F 1 Lunghezza del nome descrittivo del dispositivo
234

0x43 0x6f 0x6e 0x74 0x6f 0x73 0x6f 0x20 0x50 0x72 0x69 0x6e 0x74 0x65 0x72



15 Nome descrittivo del dispositivo visualizzato all'utente: "Contoso Printer"

Wi-Fi Requisiti di connettività diretta

I dispositivi e i client devono avere la radio Wi-Fi attivata. In caso contrario, l'associazione avrà esito negativo.

Gestione dei case perimetrali

Se un utente ha associato in precedenza un dispositivo, ma quindi rimuove manualmente il dispositivo dall'elenco di dispositivi, toccando di nuovo verrà eseguito un tentativo di installazione o associazione.

Se un utente entra nell'intervallo di punteggiatura ma all'improvviso lascia prima che vengano trasferite le informazioni fuori banda (OOB), il dispositivo potrebbe diventare collegabile, ma il PC non cercherà il dispositivo. In questo caso, non ci sarà alcuna interfaccia utente di consenso dal PC e l'utente dovrà toccare di nuovo. Se il dispositivo è già individuabile quando viene toccato di nuovo, dovrebbe rimanere individuabile e dovrebbe reimpostare il periodo di timeout.

Per i dispositivi Wi-Fi Direct, se la radio Wi-Fi si spegne, l'installazione non avrà esito positivo.

Se un utente tocca due dispositivi approssimativamente contemporaneamente, verrà tentata solo l'associazione per le prime informazioni OOB ricevute.

Qualsiasi tentativo di toccare il dispositivo in un sistema che esegue un sistema operativo che non supporta Tap to Setup o Tap to Reconnect (Tocca per riconnettersi) può comportare che il dispositivo entri in modalità connettibile, ma l'associazione non verrà eseguita. Gli utenti dovranno usare un'interfaccia utente di associazione fornita per Bluetooth e usare il pulsante di associazione per avviare l'associazione.