NFC Android Wifi配对

时间:2012-03-14 15:56:15

标签: java android nfc

嗨,我是新来的,我希望有人可以帮助我:

在第22页的以下规范中(表4:最小Wi-Fi切换选择消息的二进制内容) 是一个示例标签。我想在NFC标签上写这个字节数组(首先使用相同的SSID等等)来看看会发生什么。

http://www.maintag.fr/fichiers/pdf-fr/nfcforum-ts-connectionhandover-1-1.pdf

但是在写入操作期间,会发生格式化失败。这是我要编写的我的数组(除了Mac之外,一切都应该是相同的 - 在规则中,如果不知道Mac将其设置为零)。

byte[] mydata = new byte[] {
    /* Record 1 */
    (byte) 0x91,
    0x02,
    0x0a, //0x01 or 0x0A?
    0x48, 0x73, // Hs
    0x10,

    /* Record 2 */
    (byte) 0xd1,
    0x02,
    0x04,
    0x61, 0x63,
    0x01,
    0x01,
    0x30,
    0x00,

    /* Record 3 */
    0x5a,
    0x17, // 23 bytes type application/vnd.wfa.wsc 
    0x42, // 66 bytes payload // TODO
    0x01,
    0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 
    0x2f, 0x76, 0x6e, 0x64, 0x2e, 0x77, 0x66, 0x61, 0x2e, 0x77, 0x73, 
    0x63,  //application/vnd.wfa.wsc 
    0x30, // ID // FROM HERE included 66 bytes
    (byte) 0x104A, 
    0x0001,
    0x10,
    (byte) 0x100E,
    0x0039, //TODO FROM HERE down 57 byte
    (byte) 0x1026,
    0x0001,
    0x01,
    (byte) 0x1045,
    0x0008, // SSID LENGTH
    0x48, 0x6f, 0x6d, 0x65, 0x57, 0x4c, 0x41, 0x4e, // HomeWLAN
    (byte) 0x1003,
    0x0002,
    0x0020, // WPA2PSK
    (byte) 0x100F,
    0x0002,
    0x0008,
    (byte) 0x1027,
    0x000E,
    0x4d, 0x79, 0x50, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x79, // KEY
    (byte) 0x1020,
    0x06,
    (byte) 0x000000000000
};

我也知道第一个有效载荷长度是否为0x01或0x0a,因为在我看来长度只有1 - 我知道第一个记录中应该存储10个字节?

我希望有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

这可以在当前的Wi-Fi简单配置规范中查找,该规范是Wi-Fi保护设置的基础规范。当前版本为2.0.2,可以从Wi-Fi联盟(http://www.wi-fi.org)获取。

在WSC 2.0.2规范中,请转到10.2节的结构,第12节,它定义了该结构中TLV块的类型和长度。