Partilhar 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 Tocar e Configurar e Tocar e Reconectar.

Observação

Atualmente, há suporte para a implementação de emparelhamento descrita neste tópico em Windows 8.1, apenas para emparelhamento com dispositivos de impressora.

Windows 10 e posteriores dão suporte à NFC para Wi-Fi a entrega 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 de dispositivo direto Wi-Fi periférico

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 OOB (Wi-Fi Alliance Out-Of-Band) e as recomendações do Fórum NFC. O Windows depende de uma mensagem de emparelhamento proprietária, conforme definido abaixo.

O Windows solicitará consentimento ao usuário e, se for fornecido, o Windows tentará se conectar a cada um dos endereços, em ordem, até que um seja bem-sucedido. Não há mais interação 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). O Windows assina essas 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 exige 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 Wi-Fi registro de configuração de operadora direta. 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 juntos para dar suporte ao emparelhamento sem fio unidirecional para dispositivos Wi-Fi Direct, como impressoras.

Referências do provedor NFP

Wi-Fi emparelhamento direto é realizado usando um tipo de mensagem Selecionar Seleção de Entrega de Conexão padronizada do Fórum NFC. O gráfico abaixo fornece uma visão geral de como uma mensagem Seleção de Entrega de Conexão é aplicada para Wi-Fi emparelhamento de dispositivo direto, especificamente registros NDEF 3 e 4. A mensagem Seleção de Entrega descreve um ou mais registros "ac" ou "Operadora Alternativa". Esses registros seguem o registro Handover Select sequencialmente e cada um tem 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 substituição de conexão.

Wi-Fi mensagem de emparelhamento de dispositivo direto

Nos casos de uso de exemplo a seguir, as marcas do tipo NFC 2 são usadas como um 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 a seguir. 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 esse cenário.
Tamanho dos dados OOB WORD Há suporte para até 64 KB de dados OOB.
Wi-Fi dados OOB diretos <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 OOB diretos do WiFi. Os Dados Unidirecionais OOB podem ser transmitidos por qualquer dispositivo OOB P2P unidirecional.

Atributos ID do atributo Obrigatório/Opcional Observação
Cabeçalho

OOB Consulte tabela de formato de atributo de cabeçalho OOB.
N/D 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 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 de 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 campos a seguir 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 DEI 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 OOB
0x01 Dados do ouvinte de provisionamento OOB
0x02 Dados do conector de provisionamento OOB
0x03 Dados de Reinvoke 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 em Especificação P2P. Um identificador usado para referenciar exclusivamente um dispositivo P2P.
Métodos de configuração 2 Conforme definido em Especificação P2P. Os métodos WSC compatíveis com esse dispositivo.

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

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 indicam 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 nome do dispositivo WSC.

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

Atributos OOB P2P

Tipo OOB (Hex) Descrição
0x00 OOB Status
0x01 Informações do dispositivo OOB
0x02 Informações de provisionamento de OOB
0x03 ID do grupo OOB
0x04 OOB Listen Channel
0x05 Tempo limite de configuração do OOB
0xDC 0x06 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 Configurações de provisionamento .
Método Config 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 Dados do 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ções Observaçõ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, essas informações de provisionamento são para ingressar em um grupo existente.
1 Impor 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 deverá 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 de 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 Quantidade de tempo que esse dispositivo P2P gastará aguardando Wi-Fi comunicação direta após a transferência de dados 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 Seleção de Entrega 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 Carga do registro NDEF.

Nome do campo Valor Valor de comprimento Descrição
TNF 0x02 3 bits Formato do campo Tipo a seguir. Tipo de mídia conforme definido no RFC 2046.
Tipo 'application/vnd.ms-windows.devicepairing' bytes 0x28 Nova cadeia de caracteres de tipo que definimos para esse cenário.
MajorVersion 0x1 2 bytes A versão principal é necessária para ser 0x1.
MinorVersion 0x0 2 bytes A versão secundária é necessária para ser 0x0.
Flags 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 por sequência de registros de operadora alternativos.

Nota Os valores 0x0002 por meio de 0x0064 são reservados.
Comprimento do nome amigável do dispositivo Comprimento do campo nome amigável do dispositivo. 1 byte Comprimento do nome amigável do dispositivo.
Nome amigável do dispositivo Cadeia de caracteres codificada em UTF-8 até 255 bytes. Comprimento do nome amigável do dispositivo Nome amigável para o dispositivo que será mostrado na interface do usuário de consentimento no cliente.

Wi-Fi direct apenas funciona cerimônia, formato de marca de entrega de conexão estática

Por exemplo, o seguinte é uma implementação típica para uma marca 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 compartilhamento de rede e o registro de emparelhamento ms-device.

Esta primeira tabela ilustra o formato da parte de emparelhamento Wi-Fi Direct da marca.

Deslocamento 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 da versão: Major = 1, Minor = 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
8 0x04 1 Comprimento da carga: 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 OOB Direto: 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 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 P2P Direto: "01:23:34:ab:cd:ef"
69 0x01 0x00 2 Tipo de configuração
71

0x00 0x01 0x00 0x50 0xF2 0x00 0x00 0x00
8 Tipo de dispositivo primário
79 0x12 1 Funcionalidade
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 diz "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 Configurando bitmap: novo grupo, impor persistente
101 0x01 0x00 2 Método Config: entrada de pino
103 0x08 1 Comprimento do pino: 8 octetos
104

0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08
8 Fixar: "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 unidades de 100 milissegundos

Esta segunda tabela ilustra o formato da parte de emparelhamento da impressora de rede da marca.

Deslocamento Conteúdo Comprimento Explicação
116 0x12 1 Cabeçalho do registro NDEF:
MB=0b,ME=0b, CF=0b, SR=1b, IL=0b,TNF=010b
117 0x29 1 Campo comprimento do tipo
118 0x19 1 Campo comprimento do conteúdo
119 0x61 0x70 0x70 0x6c 0x69 0x63 0x61 0x74 0x69 0x6f 0x6e 0x2f

0x69 0x6f 0x6e 0x2f

0x76 0x6e 0x64 0x2e 0x6d 0x73 0x2d 0x77

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



0x77 0x73 0x2e 0x6e

0x77 0x70 0x72 0x69

0x6e 0x74 0x69 0x6e

0x67 0x2e 0x6f 0x6f 0x6e 0x74 0x69 0x6e 0x62 0x62 0x62 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

25 Nome da impressora: "\printServer\printerName"

Esta terceira tabela ilustra o formato da parte de emparelhamento MS-Device da marca.

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

MB=0b, ME=1b, CF=0b, SR=1b, IL=0b,TNF=010b
186 0x28 1 Campo comprimento do tipo
187 0x15 1 Campo de comprimento da carga
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 Sinalizadores: defina como 0, experimente todos os transportes
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á.

Tratamento de casos de borda

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

Se um usuário entrar no intervalo 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á o dispositivo. Nesse caso, não haverá nenhuma interface do usuário de consentimento do computador e o usuário precisará tocar 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 Wi-Fi rádio desativar, a instalação não será bem-sucedida.

Se um usuário tocar em dois dispositivos aproximadamente ao mesmo tempo, somente o emparelhamento para as 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 usar uma interface do usuário de emparelhamento fornecida para Bluetooth e usar o botão de emparelhamento para iniciar o emparelhamento.