Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
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.