Partager via


Wi-Fi implémentation de l’appairage direct

Cette section fournit des instructions de conception et des exigences pour qu’un appareil périphérique participe aux cas d’usage Tap et Setup et Tap and Reconnect.

Remarque

L’implémentation de jumelage décrite dans cette rubrique est actuellement prise en charge dans Windows 8.1, pour le jumelage aux appareils d’imprimante uniquement.

Windows 10 et versions ultérieures prend en charge NFC pour Wi-Fi la remise de connexion statique directe via l’enregistrement de configuration de l’opérateur P2P de l’alliance Wi-Fi Wi-Fi. Pour plus d’informations, consultez Wi-Fi Alliance.

Jumelage direct de périphériques Wi-Fi

Pendant l’appui, NFP reçoit les informations de jumelage de l’appareil connecté. NFP transmet les informations de jumelage à Windows. Wi-Fi appareils Direct suivent la procédure de jumelage Wi-Fi Alliance Out-Of-Band (OOB) et les recommandations du Forum NFC. Windows s’appuie sur un message de jumelage propriétaire tel que défini ci-dessous.

Windows invite l’utilisateur à donner son consentement et, s’il est donné, Windows tente de se connecter à chacune des adresses, dans l’ordre, jusqu’à ce qu’il réussisse. Il n’existe aucune autre interaction entre un fournisseur NFP dans le PC et l’appareil de connexion.

À l’aide de NFC comme exemple, l’installation unidirectionnelle est effectuée en stockant les informations de jumelage dans une balise NFC statique ou passive (une balise NFC active en mode d’émulation statique peut également être utilisée). Windows s’abonne à ces informations de jumelage. Un fournisseur NFP compatible NFC sur le PC reçoit les informations de connexion de la balise et le transmet à Windows en tant qu’abonné. À la réception des informations de connexion, Windows effectue l’installation réelle de l’appareil en bande à l’aide de techniques spécifiques à la classe d’appareil.

Exigences d’interopérabilité

Pour garantir l’interopérabilité entre les fournisseurs NFP, les informations de jumelage doivent être encapsulées dans un format de message spécifique au fournisseur.

Comme décrit ailleurs dans ce document, il n’existe aucune exigence spécifique pour les technologies de proximité autres que pour les fournisseurs NFP compatibles NFC.

Windows exige des fournisseurs NFP compatibles NFC qu'ils prennent en charge un mécanisme spécifique défini par le Forum NFC pour transmettre les informations de jumelage direct OOB Wi-Fi pour le jumelage unidirectionnel. Le message NDEF contient un premier enregistrement avec une valeur de champ TNF de 0x01 et un champ TYPE égal à « Hs » et un autre enregistrement opérateur qui pointe vers un enregistrement de configuration de l’opérateur direct Wi-Fi. Dans cette méthode, seule la CHARGE UTILE de l’enregistrement NDEF sera utilisée.

Jumelage unidirectionnel à l’aide de NFC pour Wi-Fi Direct

Cette section fournit plus d’informations sur la façon dont NFC, Wi-Fi Direct et Windows fonctionnent ensemble pour prendre en charge le jumelage sans fil unidirectionnel pour Wi-Fi appareils Direct tels que les imprimantes.

Références du fournisseur NFP

Wi-Fi L'Appairage Direct s'effectue à l’aide d’un type de message Select de Connexion standardisé par le Forum NFC. Le graphique ci-dessous fournit un aperçu de la façon dont un message de sélection de connexion est appliqué pour l'appairage direct des appareils Wi-Fi, en particulier les enregistrements NDEF 3 et 4. Le message Handover Select décrit un ou plusieurs enregistrements « ac » ou « Transporteur Alternatif ». Ces enregistrements suivent l’enregistrement Handover Select séquentiellement et chacun possède un type bien défini. Enfin, le message contient un enregistrement de jumelage d’appareils défini par Microsoft qui fournit à Windows des informations sur la façon de traiter l’opération de jumelage.

message de sélection de remise de connexion.

Message de jumelage direct d’appareil Wi-Fi

Dans les exemples de cas d’usage qui suivent, les balises NFC de type 2 sont utilisées comme exemple illustrant. S’il est nécessaire d’utiliser un autre type de balise NFC, le message NDEF doit être correctement encapsulé en fonction de cette définition de balise.

Terrain Valeur Descriptif
TNF 0x02 Format du champ Type qui suit. Type de média tel que défini dans RFC 2046.
Catégorie 'application/vnd.ms-windows.wfd.oob' Nouvelle chaîne de type que nous définissons pour ce scénario.
Taille des données OOB WORD Jusqu’à 64 Ko de données OOB prises en charge.
Wi-Fi données OOB directes <objet blob de taille indiquée par le champ précédent> Wi-Fi données OOB directes définies ci-dessous.

format OOB direct Wi-Fi

Le tableau suivant décrit le format des données OOB WiFi Direct. Les données unidirectionnelles OOB peuvent être transmises par n’importe quel appareil OOB P2P unidirectionnel.

Attributs ID d’attribut Obligatoire ou facultatif Remarque
En-tête OOB
Voir le tableau du format d'attribut de l'en-tête OOB
.
N/A Obligatoire L’attribut d’en-tête OOB doit être présent dans l’objet blob de données OOB P2P et avoir sa valeur de type OOB définie sur « Données d’approvisionnement unidirectionnelles OOB ».
Informations de l'appareil OOB

Voir le tableau du format de l'attribut des informations de l'appareil OOB.
1 Obligatoire Cet attribut doit être présent. Il fournit des informations sur cet appareil P2P.
Informations d’approvisionnement OOB 2 Obligatoire Cet attribut doit être présent. Il fournit des informations d’approvisionnement que cet appareil P2P s’attend à utiliser.
Délai d’expiration de la configuration OOB 5 Obligatoire Cet attribut doit être présent. Il fournit des informations sur la durée pendant laquelle cet appareil P2P attend une réponse sur Wi-Fi Direct.

Format d’attribut d’en-tête OOB

Nom du champ Taille (octets) Valeur Descriptif
Longueur totale des données 2 Variable Longueur de l'intégralité du blob de données OOB (y compris l'en-tête).
Longueur 2 Variable Longueur des champs suivants dans l’en-tête OOB.
Version 1 0x10 Valeur identifiant la version de cet enregistrement OOB P2P.
OOB Type 1 Variable Valeur identifiant le type de transaction OOB. La valeur spécifique est définie dans la table Types de transactions OOB .
OUI 0 ou 3 Variable OUI spécifique au fournisseur. Cette valeur est facultative. Doit être présent uniquement lorsque le type OOB est spécifique au fournisseur.
OUI Type 0 ou 1 Variable Type spécifique au fournisseur. Cette valeur est facultative. Doit être présent uniquement lorsque le type OOB est spécifique au fournisseur.

Types de transactions OOB

Type OOB (hexadécimal) Descriptif
0x00 Données d’approvisionnement unidirectionnelles OOB
0x01 Données du récepteur de provisionnement OOB
0x02 Données du connecteur d’approvisionnement OOB
0x03 Données OOB Reinvoke
0x04-0xDC Réservé
0xDD Spécifique au fournisseur
0xDE-0xFF Réservé

Format d’attribut d’informations sur l’appareil OOB

Nom du champ Taille (octets) Valeur Descriptif
ID d’attribut 1 1 Identification du type d’attribut OOB P2P. La valeur spécifique est définie dans la table Attributs OOB P2P.
Longueur 2 Variable Longueur des champs suivants dans l’attribut.
Adresse de l’appareil P2P 6 Comme défini dans les spécifications P2P. Identificateur utilisé pour référencer de manière unique un appareil P2P.
Méthodes de configuration 2 Comme défini dans les spécifications P2P. Méthodes WSC prises en charge par cet appareil.

Note : L’ordre des octets dans le champ méthodes de configuration doit être en big-endian.
Type d’appareil principal 8 Comme défini dans les spécifications P2P. Type d’appareil principal de l’appareil P2P. Contient uniquement la partie Données de l’attribut WSC Type d’appareil principal (exclut l’ID d’attribut et les champs Longueur).

Remarque : L’ordre d’octets dans le champ Type d’appareil principal doit être en big-endian.
Bitmap de capacité d’appareil 1 Comme défini dans les spécifications P2P. Ensemble de paramètres indiquant les fonctionnalités de l’appareil P2P.
Nom de l’appareil Variable Comme défini dans les spécifications P2P. Nom convivial de l’appareil P2P. Contient l’intégralité du format TLV de l’attribut Nom d'Appareil WSC.

Note : L’ordre d’octets dans le champ Nom d'Appareil doit être big-endian.

Attributs OOB P2P

Type OOB (hexadécimal) Descriptif
0x00 État OOB
0x01 Informations sur l’appareil OOB
0x02 Informations d’approvisionnement OOB
0x03 ID de groupe OOB
0x04 Canal d’écoute OOB
0x05 Délai d’expiration de la configuration OOB
0x06-0xDC Réservé
0xDD Attribut spécifique du fournisseur
0xDE-0xFF Réservé

Format d’attribut d’approvisionnement OOB

Nom du champ Taille (octets) Valeur Descriptif
ID d’attribut 1 1 Identification du type d’attribut OOB P2P. La valeur spécifique est définie dans la table Attributs OOB P2P .
Longueur 2 Variable Longueur des champs suivants dans l’attribut.
Bitmap des paramètres d’approvisionnement 1 Variable Ensemble d’options de paramètres d’approvisionnement, tel que défini dans la table des paramètres d’approvisionnement .
Méthode de configuration sélectionnée 2 Comme défini dans les spécifications P2P. Méthode WSC sélectionnée par cet appareil P2P pour l’approvisionnement.
Longueur des broches 1 0 - 8 Nombre d’octets dans le champ de données PIN suivant. Ce champ défini sur 0 indique qu’aucune donnée de code confidentiel supplémentaire n’est définie.
Épingler des données Variable n Ce champ est facultatif. Ce champ n’est présent que si le champ Longueur du code confidentiel n’est pas 0 et contient un tableau d’octets qui représentent un code confidentiel à utiliser pour l’approvisionnement.

Paramètres d’approvisionnement

Bit(s) Informations Remarques
0 Créer un groupe Le bit Créer un groupe est défini sur 1 si ces informations d’approvisionnement sont destinées à former un nouveau groupe avec l’appareil P2P cible. Dans le cas contraire, ces informations de configuration concernent le fait de rejoindre un groupe existant.
1 Appliquer le paramètre de type de groupe Le bit Appliquer le paramètre de type de groupe est défini sur 1 si le bit type de groupe souhaité doit être appliqué ; Sinon, le bit type de groupe souhaité est simplement une préférence.
2 Type de groupe souhaité Le bit de type de groupe souhaité doit être défini sur 0 si le type de groupe souhaité est temporaire et doit être défini sur 1 si le type de groupe souhaité est persistant.
3 - 7 Réservé  

Format d’attribut de délai d’expiration de configuration OOB

Nom du champ Taille (octets) Valeur Descriptif
ID d’attribut 1 5 Identification du type d’attribut OOB P2P. La valeur spécifique est définie dans la table Attributs OOB P2P .
Longueur 2 1 Longueur des champs suivants dans l’attribut.
Délai d’expiration de la configuration de l’écouteur 1 0 - 255 Durée pendant laquelle cet appareil P2P passe en attente de Wi-Fi communication directe après le transfert de données OOB, en unités de 100 millisecondes. (Maximum de 25,5 secondes).

Enregistrement de jumelage d’appareils Windows

L’enregistrement de jumelage d’appareils Windows suit la spécification NDEF. Il fournit des informations supplémentaires à Windows sur la façon de traiter le message de sélection de transfert de connexion. Les champs TNF et Type doivent être spécifiés conformément à la spécification NDEF. Les autres champs ci-dessous sont répertoriés séquentiellement dans le champ Charge utile de l’enregistrement NDEF.

Nom du champ Valeur Valeur de longueur Descriptif
TNF 0x02 3 bits Format du champ Type qui suit. Type de média tel que défini dans RFC 2046.
Catégorie 'application/vnd.ms-windows.devicepairing' 0x28 octets Nouvelle chaîne de type que nous définissons pour ce scénario.
VersionMajeure 0x1 2 octets La version principale doit être 0x1.
VersionMineure 0x0 2 octets La version mineure doit être 0x00.
Drapeaux 0x0 ou 0x01 4 octets Définissez la valeur 0x0 pour essayer tous les transports.

Définissez la valeur 0x1 pour tenter l’installation de manière séquentielle et arrêter après la première réussite. La préférence pour les transports est indiquée par la séquence d’enregistrements d’opérateurs alternatifs.

Note Les valeurs 0x0002 via 0x0064 sont réservées.
Longueur du nom convivial de l’appareil Longueur du champ de nom convivial de l’appareil. 1 octet Longueur du nom convivial de l’appareil.
Nom convivial de l’appareil Chaîne encodée en UTF-8 allant jusqu'à 255 octets. Longueur du nom convivial de l’appareil Nom convivial de l’appareil qui sera affiché dans l’interface utilisateur de consentement sur le client.

Wi-Fi Fonctionnement immédiat de la cérémonie, format de balise de transfert de connexion statique

Par exemple, l’implémentation suivante est une implémentation classique pour une balise passive NFC. Cela correspond à un cas de basculement de connexion statique avec un enregistrement d’opérateur direct Wi-Fi, une imprimante de partage réseau et l’enregistrement de jumelage ms-device.

Ce premier tableau illustre le format de la partie Wi-Fi Appairage direct de la balise.

Offset Contenu Longueur Explication
0 0x91 1 En-tête d’enregistrement NDEF :

MB=1b, ME=0b, CF=0b, SR=1b, IL=0b, TNF=001b
1 0x02 1 Longueur du type d’enregistrement : 2 octets
2 0x0A 1 Longueur du type d’enregistrement : 10 octets
3 0x48 0x73 2 Type d’enregistrement : « Hs »
5 0x12 1 Numéro de version : Major = 1, Minor = 2
6 0xD1 1 En-tête d’enregistrement NDEF :

MB=1b, ME=1b, CF=0b, SR=1b, IL=0b, TNF=001b
7 0x02 1 Longueur du type d’enregistrement : 2 octets
8 0x04 1 Longueur de la charge utile : 4 octets
9 0x61 0x63 2 Type d’enregistrement : « ac »
11 0x01 1 Indicateurs de la porteuse : CPS=1, « actif »
12 0x01 1 Longueur de référence des données de l’opérateur : 1 octet
13 0x30 1 Référence des données de l’opérateur : « 0 »
14 0x00 1 Nombre de références de données auxiliaires : 0
15 0x1A 1 En-tête d’enregistrement NDEF :

MB=0b, ME=0b, CF=0b, SR=1b, IL=1b, TNF=010b
16 0x22 1 Longueur du nom du type d’enregistrement : 34 octets
17 0x3E 1 Longueur de la charge utile : 62 octets
18 0x01 1 Longueur de l’ID : 1 octet
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 Nom du type d’enregistrement : 'application/vnd.ms-windows.wfd.oob'
53 0x30 1 ID : « 0 »
54 0x3E 0x00 2 Wi-Fi longueur des données OOB directes : 62 octets. La longueur est lue sous la forme d’un court non signé et inclut l'entièreté du blob. Inclut 2 octets de longueur. Cette valeur doit être stockée au format little-endian.
56 0x02, 0x00 2 Longueur de l’en-tête : 2 octets
58 0x10 1 Version : 0x10
59 0x00 1 Type OOB : 0x00 (unidirectionnel)
soixante 0x01 1 Attribut : 0x01 (attribut Informations sur l’appareil)
61 0x22 0x00 2 Longueur des informations de l’appareil : 34 octets
63

0x01 0x23 0x34 0xab 0xcd 0xef
6 Wi-Fi adresse MAC de l’appareil Direct P2P : « 01:23:34 :ab :cd :ef »
69 0x01 0x00 2 Type de configuration
71 0x00 0x01 0x00 0x50

0xF2 0x00 0x00 0x00
8 Type d’appareil principal
79 0x12 1 Capacité
80 0x10 0x11 2 Attribut : Nom de l’appareil
82 0x00 0x0d 2 Longueur du nom de l’appareil : 13 octets
84

0x43 0x6f 0x6e 0x74 0x6f 0x73 0x6f 0x20

0x4d 0x6f 0x75 0x73 0x65

13 Nom convivial de l’appareil en UTF-8. Notez qu’il n’existe aucun caractère de fin NULL et que UTF-8 peut être un ou deux octets par caractère. Cet exemple affiche « Contoso Mouse »
97 0x02 1 Attribut : informations d’approvisionnement
98 0x0c 0x00 2 Longueur des informations d’approvisionnement : 12 octets
100 0x07 1 Configuration de bitmap : nouveau groupe, enforcer la persistance
101 0x01 0x00 2 Méthode de configuration : saisie du code PIN
1:03 0x08 1 Longueur d’épingle : 8 octets
104

0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08
8 Épingle : « 12345678 »
112 0x05 1 Attribut : Informations sur le délai d’expiration de la configuration
113 0x01 0x00 2 Durée du délai d’expiration de la configuration
115 0x64 1 10 secondes, en 100 millisecondes

Ce deuxième tableau illustre le format du segment réservé à l'appairage de l'imprimante réseau de l'étiquette.

Offset Contenu Longueur Explication
116 0x12 1 En-tête d’enregistrement NDEF :
MB=0b,ME=0b, CF=0b, SR=1b, IL=0b,TNF=010b
117 0x29 1 Champ De longueur de type
118 0x19 1 Champ longueur de la charge utile
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

0x6e 0x74 0x69 0x6e

0x67 0x2e 0x6f 0x6f

0x62
41 Nom du type d’enregistrement : « 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

25 Nom de l’imprimante : « \printServer\printerName »

Ce troisième tableau illustre le format de la partie de jumelage MS-Device de la balise.

Offset Contenu Longueur Explication
185 0x52 1 En-tête d’enregistrement NDEF :

MB=0b, ME=1b, CF=0b, SR=1b, IL=0b,TNF=010b
186 0x28 1 Champ de longueur de type
187 0x15 1 Champ longueur de la charge utile
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 Nom du type d’enregistrement : « application/vnd.ms-windows.devicepairing »
228 0x00 0x01 0x00

0x00
4 Version : Major = 1, Minor = 0
232 0x00 1 Indicateurs : défini sur 0, essayez tous les transports
233 0x0F 1 Longueur du nom convivial de l’appareil
234

0x43 0x6f 0x6e 0x74 0x6f 0x73 0x6f 0x20

0x50 0x72 0x69 0x6e 0x74 0x65 0x72

15 Nom convivial de l’appareil affiché à l’utilisateur : « Imprimante Contoso »

exigences en matière de connectivité directe Wi-Fi

Les appareils et les clients doivent activer la radio Wi-Fi. Si ce n’est pas le cas, le jumelage échoue.

Gestion des cas limites

Si un utilisateur a précédemment associé un appareil, mais supprime manuellement l’appareil de la liste des appareils, le fait d’appuyer à nouveau entraîne une tentative d’installation ou de paire.

Si un utilisateur entre dans la plage d’actionnement, mais qu’il quitte soudainement avant que les informations OOB (out-of-band) ne soient transférées, l’appareil peut devenir connectable, mais le PC ne recherche pas l’appareil. Dans ce cas, il n’y aura pas d’interface utilisateur de consentement à partir du PC et l’utilisateur devra appuyer à nouveau. Si l’appareil est déjà détectable lorsqu’il est appuyé à nouveau, il doit rester détectable et réinitialiser la période d’expiration.

Pour les appareils Direct Wi-Fi, si la radio Wi-Fi s'éteint, l’installation ne réussira pas.

Si un utilisateur appuie sur deux appareils à peu près en même temps, seul le jumelage pour les premières informations OOB reçues est tenté.

Toute tentative de toucher l'appareil sur un système exécutant un système d'exploitation qui ne prend pas en charge le Tap to Setup ou le Tap to Reconnect peut faire entrer l'appareil en mode connectable, mais le jumelage n'aura pas lieu. Les utilisateurs devront utiliser une interface utilisateur d'appairage fournie pour Bluetooth et le bouton d'appairage pour lancer l'appairage.