Compartilhar via


Wi-Fi implementação de emparelhamento direto

Esta seção fornece diretrizes de design e requisitos para que um dispositivo periférico participe dos casos de uso Tap e Configurar e Tap e Reconectar.

Observação

A implementação de emparelhamento descrita neste tópico atualmente tem suporte no Windows 8.1, somente para emparelhamento com dispositivos de impressora.

O Windows 10 e posteriores dão suporte à NFC para Wi-Fi transferência de conexão estática direta por meio do registro de configuração de operadora P2P Wi-Fi da aliança Wi-Fi. Para obter mais informações, consulte Wi-Fi Alliance.

Emparelhamento direto do dispositivo periférico Wi-Fi

Durante o toque, o NFP recebe informações de emparelhamento do dispositivo de conexão. O NFP passa as informações de emparelhamento para o Windows. Wi-Fi dispositivos Diretos seguem o procedimento de emparelhamento Wi-Fi Alliance Out-Of-Band (OOB) e as recomendações do Fórum NFC. O Windows depende de uma mensagem de emparelhamento proprietária, conforme definido abaixo.

Windows solicitará consentimento ao usuário e, se for fornecido, Windows tentará se conectar a cada um dos endereços, em ordem, até que uma conexão seja bem-sucedida. Não há nenhuma interação adicional entre um provedor NFP no computador e o dispositivo de conexão.

Usando NFC como exemplo, a instalação unidirecional é realizada armazenando as informações de emparelhamento em uma marca NFC estática ou passiva (uma marca NFC ativa no modo de emulação estática também pode ser usada). Windows inscreve-se nessas informações de emparelhamento. Um provedor NFP habilitado para NFC no computador recebe as informações de conexão da marca e passa isso para o Windows como assinante. Após o recebimento das informações de conexão, o Windows executa a instalação real do dispositivo em banda usando técnicas específicas da classe de dispositivo.

Requisitos de interoperabilidade

Para garantir a interoperabilidade entre provedores NFP, as informações de emparelhamento devem ser encapsuladas em um formato de mensagem específico do provedor.

Conforme descrito em outro lugar neste documento, não há requisitos específicos para tecnologias de proximidade que não sejam para provedores NFP habilitados para NFC.

O Windows requer que os provedores NFP habilitados para NFC ofereçam suporte a um mecanismo específico definido pelo Fórum NFC para transmitir as informações de emparelhamento OOB direto Wi-Fi para emparelhamento unidirecional. A mensagem NDEF contém um primeiro registro com um valor de campo TNF de 0x01 e um campo TYPE igual a "Hs" e um registro de operadora alternativo que aponta para um registro de configuração de operadora Wi-Fi Direct Carrier. Nesse método, somente o PAYLOAD do registro NDEF será usado.

Emparelhamento unidirecional usando NFC para Wi-Fi Direct

Esta seção fornece mais detalhes sobre como NFC, Wi-Fi Direct e Windows funcionam em conjunto para dar suporte ao emparelhamento sem fio unidirecional para dispositivos Wi-Fi Direct, como impressoras.

Referências de provedor NFP

Wi-Fi O emparelhamento direto é realizado usando um tipo de mensagem Seleção de Conexão de Handover padronizada pelo Fórum NFC. O gráfico abaixo fornece uma visão geral de como uma mensagem de Seleção de Transferência de Conexão é aplicada para Emparelhamento de Dispositivo Direto Wi-Fi, especificamente nos registros NDEF 3 e 4. A mensagem Seleção de Entrega descreve um ou mais registros "ac" ou "Transportadora Alternativa". Esses registros seguem o registro Handover Select de forma sequencial, e cada um possui um tipo bem definido. Por fim, a mensagem conterá um registro de emparelhamento de dispositivo definido pela Microsoft que fornece ao Windows informações sobre como processar a operação de emparelhamento.

mensagem de seleção de transferência de conexão.

Wi-Fi mensagem de emparelhamento de dispositivo direto

Nos casos de uso de exemplo a seguir, etiquetas tipo 2 NFC são usadas como exemplo ilustrativo. Se for necessário usar um tipo de marca NFC diferente, a mensagem NDEF deverá ser encapsulada corretamente de acordo com essa definição de marca.

Campo Valor Descrição
TNF 0x02 Formato do campo 'Tipo' que segue. Tipo de mídia conforme definido no RFC 2046.
Tipo 'application/vnd.ms-windows.wfd.oob' Nova cadeia de caracteres de tipo que definimos para este cenário.
Tamanho dos dados OOB WORD Há suporte para até 64 KB de dados OOB.
Wi-Fi dados diretos OOB <blob de tamanho indicado pelo campo anterior> Wi-Fi Dados OOB Diretos, conforme definido abaixo.

Wi-Fi formato OOB Direto

A tabela a seguir descreve o formato dos dados do WiFi Direct OOB. Os Dados Unidirecionais do OOB podem ser transmitidos por qualquer dispositivo OOB P2P unidirecional.

Atributos ID do Atributo Obrigatório/opcional Observação
Cabeçalho OOB

Consulte a tabela de formato do atributo Cabeçalho OOB.
Não aplicável Obrigatório O atributo cabeçalho OOB deve estar presente no blob de dados OOB P2P e ter seu valor de tipo OOB definido como "Dados de Provisionamento Unidirecional OOB".
Informações do

dispositivo OOB Consulte a tabela de formato de atributo de informações do dispositivo OOB.
1 Obrigatório Esse atributo deve estar presente. Ele fornece informações sobre este dispositivo P2P.
Informações de provisionamento do OOB 2 Obrigatório Esse atributo deve estar presente. Ele fornece informações de provisionamento que este dispositivo P2P espera usar.
Tempo limite de configuração do OOB 5 Obrigatório Esse atributo deve estar presente. Ele fornece informações sobre quanto tempo esse dispositivo P2P aguardará uma resposta sobre Wi-Fi Direct.

Formato de atributo de cabeçalho OOB

Nome do campo Tamanho (octetos) Valor Descrição
Tamanho total dos dados 2 Variável Comprimento de todo o Blob de Dados OOB (incluindo o cabeçalho).
Comprimento 2 Variável Comprimento dos seguintes campos no cabeçalho OOB.
Versão 1 0x10 Valor que identifica a versão deste registro OOB P2P.
Tipo OOB 1 Variável Valor que identifica o tipo de transação OOB. O valor específico é definido na tabela Tipos de Transação OOB .
OUI 0 ou 3 Variável OUI específica do fornecedor. Esse é um valor opcional. Só deve estar presente quando o tipo OOB for Específico do Fornecedor.
Tipo OUI 0 ou 1 Variável Tipo específico do fornecedor. Esse é um valor opcional. Só deve estar presente quando o tipo OOB for Específico do Fornecedor.

Tipos de transação OOB

Tipo OOB (Hex) Descrição
0x00 Dados de provisionamento unidirecional do OOB
0x01 Dados do Listener de Provisionamento OOB
0x02 Dados do conector de provisionamento OOB
0x03 Dados de Reinvocação OOB
0x04-0xDC Reservado
0xDD Específico do fornecedor
0xDE-0xFF Reservado

Formato de atributo de informações do dispositivo OOB

Nome do campo Tamanho (octetos) Valor Descrição
ID do Atributo 1 1 Identificando o tipo de atributo OOB P2P. O valor específico é definido na tabela Atributos OOB P2P.
Comprimento 2 Variável Comprimento dos campos a seguir no atributo.
Endereço do dispositivo P2P 6 Conforme definido na Especificação P2P. Um identificador usado para referenciar exclusivamente um dispositivo P2P.
Métodos de configuração 2 Conforme definido na Especificação P2P. Os métodos WSC que são suportados por este dispositivo.

Nota: A ordenação de bytes dentro do campo Métodos de Configuração deve ser big-endian.
Tipo de dispositivo primário oito Conforme definido em Especificação P2P. Tipo de dispositivo primário do dispositivo P2P. Contém apenas a parte de dados do atributo Tipo de Dispositivo Primário do WSC (exclui os campos ID e Comprimento do Atributo).

Nota: A ordenação de bytes no campo Tipo de Dispositivo Primário deve ser big-endian.
Bitmap de funcionalidade do dispositivo 1 Conforme definido em Especificação P2P. Um conjunto de parâmetros que indica os recursos do dispositivo P2P.
Nome do dispositivo Variável Conforme definido em Especificação P2P. Nome amigável do dispositivo P2P. Contém todo o formato TLV do atributo WSC Device Name.

Nota: A ordenação de bytes dentro do campo Nome do Dispositivo deve ser big-endian.

Atributos P2P OOB

Tipo OOB (Hex) Descrição
0x00 OOB Status
0x01 Informações do dispositivo OOB
0x02 Informações de provisionamento do OOB
0x03 ID do grupo OOB
0x04 Canal de Escuta OOB
0x05 Tempo limite de configuração do OOB
0x06-0xDC Reservado
0xDD Atributo específico do fornecedor
0xDE-0xFF Reservado

Formato de atributo de informações de provisionamento OOB

Nome do campo Tamanho (octetos) Valor Descrição
ID do Atributo 1 1 Identificando o tipo de atributo OOB P2P. O valor específico é definido na tabela Atributos OOB P2P .
Comprimento 2 Variável Comprimento dos campos a seguir no atributo.
Bitmap de Configurações de Provisionamento 1 Variável Um conjunto de opções de configurações de provisionamento, conforme definido na tabela de configurações de provisionamento .
Método de configuração selecionado 2 Conforme definido em Especificação P2P. O método WSC que foi selecionado por este dispositivo P2P para provisionamento.
Comprimento do pino 1 0 - 8 Número de bytes no campo de dados PIN a seguir. Esse campo definido como 0 não indica dados de PIN adicionais.
Fixar dados Variável n Esse campo é opcional. Esse campo só estará presente se o campo Comprimento do PIN não for 0 e contiver uma matriz de octetos que representam um PIN a ser usado para provisionamento.

Configurações de provisionamento

Bits(s) Informação Anotações
0 Criar novo grupo O bit Criar Novo Grupo será definido como 1 se essas informações de provisionamento forem para formar um novo grupo com o dispositivo P2P de destino. Caso contrário, estas informações de provisionamento são para ingresso em um grupo existente.
1 Aplicar configuração de tipo de grupo O bit Impor Configuração de Tipo de Grupo será definido como 1 se o bit Tipo de Grupo Desejado precisar ser imposto, caso contrário, o bit Tipo de Grupo Desejado é simplesmente uma preferência.
2 Tipo de grupo desejado O bit tipo de grupo desejado será definido como 0 se o Tipo de Grupo Desejado for transitório e será definido como 1 se o Tipo de Grupo Desejado for persistente.
3 - 7 Reservado  

Formato do atributo de tempo limite de configuração OOB

Nome do campo Tamanho (octetos) Valor Descrição
ID do Atributo 1 5 Identificando o tipo de atributo OOB P2P. O valor específico é definido na tabela Atributos OOB P2P .
Comprimento 2 1 Comprimento dos campos a seguir no atributo.
Tempo limite de configuração do ouvinte 1 0 - 255 Tempo que este dispositivo P2P gastará aguardando Wi-Fi comunicação direta após a transferência de dados do OOB, em unidades de 100 milissegundos. (Máximo de 25,5 segundos).

Registro de emparelhamento de dispositivos Windows

O Registro de Emparelhamento de Dispositivos windows segue a especificação NDEF. Ele fornece informações adicionais ao Windows sobre como processar a mensagem de Seleção de Transferência de Conexão. Os campos TNF e Type devem ser especificados de acordo com a especificação NDEF. Os outros campos abaixo serão listados sequencialmente no campo de Carga Útil do registro NDEF.

Nome do campo Valor Valor do comprimento Descrição
TNF 0x02 3 bits Formato do campo 'Tipo' que segue. Tipo de mídia conforme definido no RFC 2046.
Tipo application/vnd.ms-windows.devicepairing 0x28 bytes Nova cadeia de caracteres de tipo que definimos para este cenário.
Versão Principal 0x1 2 bytes A versão principal deve ser 0x1.
Versão Menor 0x0 2 bytes A versão menor deve ser 0x0.
Sinalizadores 0x0 ou 0x01 4 bytes Defina como 0x0 para experimentar todos os transportes.

Defina como 0x1 para tentar a instalação sequencialmente e parar após o primeiro êxito. A preferência por transportes é indicada pela sequência de registros de transportadora alternativos.

Nota Os valores de 0x0002 a 0x0064 são reservados.
Comprimento do nome amigável do dispositivo Comprimento do campo do nome amigável do dispositivo. 1 byte Comprimento do nome amigável do dispositivo.
Nome amigável do dispositivo String codificada em UTF-8 com até 255 bytes. Tamanho do nome amigável do dispositivo Nome amigável para o dispositivo que será exibido na interface de usuário de consentimento no aplicativo cliente.

Wi-Fi cerimônia de funcionamento direto, formato de etiqueta de transferência de conexão estática

Por exemplo, o seguinte é uma implementação típica para uma etiqueta passiva NFC. Isso corresponde a um caso de entrega de conexão estática com um registro de operadora Wi-Fi Direct, uma impressora de rede compartilhada e o registro de emparelhamento de dispositivo MS.

Esta primeira tabela ilustra o formato da seção de emparelhamento Wi-Fi Direct do tag.

Offset Conteúdo Comprimento Explicação
0 0x91 1 Cabeçalho de registro NDEF:

MB=1b, ME=0b, CF=0b, SR=1b, IL=0b, TNF=001b
1 0x02 1 Comprimento do tipo de registro: 2 octetos
2 0x0A 1 Comprimento do tipo de registro: 10 octetos
3 0x48 0x73 2 Tipo de registro: "Hs"
5 0x12 1 Número de versão: Maior = 1, Menor = 2
6 0xD1 1 Cabeçalho de registro NDEF:

MB=1b, ME=1b, CF=0b, SR=1b, IL=0b, TNF=001b
7 0x02 1 Comprimento do tipo de registro: 2 octetos
oito 0x04 1 Comprimento do payload: 4 octetos
9 0x61 0x63 2 Tipo de registro: "ac"
11 0x01 1 Sinalizadores de transportadora: CPS=1, "ativo"
12 0x01 1 Comprimento de referência de dados da operadora: 1 octeto
13 0x30 1 Referência de dados da operadora: "0"
14 0x00 1 Contagem de referência de dados auxiliares: 0
15 0x1A 1 Cabeçalho de registro NDEF:

MB=0b, ME=0b, CF=0b, SR=1b, IL=1b, TNF=010b
16 0x22 1 Comprimento do nome do tipo de registro: 34 octetos
17 0x3E 1 Comprimento da carga: 62 octetos
18 0x01 1 Comprimento da ID: 1 octeto
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 do Tipo de Registro: 'application/vnd.ms-windows.wfd.oob'
53 0x30 1 Id: "0"
54 0x3E 0x00 2 Wi-Fi comprimento de dados Direct OOB: 62 octetos. O comprimento é lido como um curto sem sinal e é inclusivo de todo o blob. Inclui octetos de 2 comprimentos. Esse valor deve ser armazenado no formato little-endian.
56 0x02, 0x00 2 Comprimento do cabeçalho: 2 octetos
58 0x10 1 Versão: 0x10
59 0x00 1 Tipo de OOB: 0x00 (unidirecional)
60 0x01 1 Atributo: 0x01 (atributo de informações do dispositivo)
61 0x22 0x00 2 Comprimento das informações do dispositivo: 34 octetos
63

0x01 0x23 0x34 0xab 0xcd 0xef
6 Wi-Fi endereço MAC do dispositivo Direto P2P: "01:23:34:ab:cd:ef"
69 0x01 0x00 2 Tipo de configuração
71

0x00 0x01 0x00 0x50 0xF2 0x00 0x00 0x00
oito Tipo de dispositivo primário
79 0x12 1 Capacidade
80 0x10 0x11 2 Atributo: Nome do dispositivo
82 0x00 0x0d 2 Comprimento do nome do dispositivo: 13 octetos
84 0x43 0x6f 0x6e 0x74

0x6f 0x73 0x6f 0x20

0x4d 0x6f 0x75 0x73

0x65
13 Nome amigável do dispositivo em UTF-8. Observe que não há nenhum caractere de terminação NULL e que UTF-8 pode ser um ou dois bytes por caractere. Este exemplo exibe "Contoso Mouse"
97 0x02 1 Atributo: informações de provisionamento
98 0x0c 0x00 2 Comprimento das informações de provisionamento: 12 octetos
100 0x07 1 Configuração de bitmap: novo grupo; impor persistência
101 0x01 0x00 2 Método de configuração: entrada de PIN
103 0x08 1 Comprimento do PIN: 8 bytes
104

0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08
oito PIN: "12345678"
112 0x05 1 Atributo: Informações de tempo limite de configuração
113 0x01 0x00 2 Tempo limite de configuração
115 0x64 1 10 segundos, em 100 unidades de milissegundos

Esta segunda tabela ilustra o formato da seção de emparelhamento da etiqueta da impressora de rede.

Offset Conteúdo Comprimento Explicação
116 0x12 1 Cabeçalho de registro NDEF:
MB=0b, ME=0b, CF=0b, SR=1b, IL=0b, TNF=010b
117 0x29 1 Campo de comprimento do tipo
118 0x19 1 Campo de comprimento da carga útil
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 Nome do tipo de registro: "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
vinte e cinco Nome da impressora: "\printServer\printerName"

Esta terceira tabela ilustra o formato do segmento de emparelhamento MS-Device da etiqueta.

Offset Conteúdo Comprimento Explicação
185 0x52 1 Cabeçalho de registro NDEF:

MB=0b, ME=1b, CF=0b, SR=1b, IL=0b, TNF=010b
186 0x28 1 Campo de comprimento do tipo
187 0x15 1 Campo de comprimento da carga útil
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 do tipo de registro: "application/vnd.ms-windows.devicepairing"
228 0x00 0x01 0x00

0x00
4 Versão: Major = 1, Minor = 0
232 0x00 1 Flags: Defina para 0, tente todos os meios de transporte
233 0x0F 1 Comprimento do nome amigável do dispositivo
234 0x43 0x6f 0x6e 0x74

0x6f 0x73 0x6f 0x20

0x50 0x72 0x69 0x6e

0x74 0x65 0x72
15 O nome amigável do dispositivo exibido para o usuário: "Impressora Contoso"

Wi-Fi requisitos de conectividade direta

Dispositivos e clientes devem ter o rádio Wi-Fi ativado. Caso contrário, o emparelhamento falhará.

Manipulando casos extremos

Se um usuário já emparelhou um dispositivo, mas remove manualmente o dispositivo da lista de dispositivos, tocar novamente resultará em uma tentativa de instalar ou emparelhar.

Se um usuário entrar na faixa de atuação, mas, de repente, sair antes que as informações de OOB (fora de banda) sejam transferidas, o dispositivo poderá se tornar conectável, mas o computador não procurará pelo dispositivo. Nesse caso, não haverá interface de consentimento no PC, e o usuário precisará tocar na interface novamente. Se o dispositivo já estiver detectável quando for tocado novamente, ele deverá permanecer detectável e deve redefinir o período de tempo limite.

Para dispositivos Wi-Fi Direct, se o rádio Wi-Fi for desligado, a instalação não será bem-sucedida.

Se um usuário tocar em dois dispositivos aproximadamente ao mesmo tempo, somente o emparelhamento das primeiras informações OOB recebidas será tentado.

Qualquer tentativa de tocar no dispositivo em um sistema que executa um sistema operacional que não dá suporte a Toque para Instalação ou Toque para Reconectar pode resultar na entrada do dispositivo no modo conectável, mas o emparelhamento não ocorrerá. Os usuários precisarão utilizar uma interface de pareamento fornecida para Bluetooth e o botão de emparelhamento para iniciar o processo.