Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 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.