こんにちはイムここに新しいと私は誰かが私を助けることができると思います22で、次の仕様でNFC AndroidのWifiのペアリング
をタグ。このバイト配列をNFCタグ(最初は同じSSIDなど)に書き込んで、何が起こるかを見たいと思います。
http://www.maintag.fr/fichiers/pdf-fr/nfcforum-ts-connectionhandover-1-1.pdf
しかし、書き込み動作時に、フォーマット障害が発生しました。私が書いてみたい配列はここにあります(Macを除くすべては同じでなければなりません - 仕様では、Macが知られていない場合、MacはZeroに設定されています)。
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
};
私の意見では長さが1つだけであるため、最初のペイロード長が0x01でのオーデルの0x0Aのであれば、私はまたdownt知っている - 私はdownt 10バイトが最初のレコードに格納する場所を知っていますか?
誰かが私を助けてくれることを願っています。
レコード2は実際にはレコード1に埋め込まれています。レコード2は合計9バイトで、レコード1(1バイト)のバージョン番号とともに10バイトになります。 –
BTW:http://www.nfc-forum.org/specs/spec_list/#refappsで利用可能な接続ハンドオーバー仕様の最新バージョンがあります。 –
今、私は10バイトがどこから来たのか分かります。更新リンクのためのthx。私が解決しなければならない問題は、WIFIのペアリングですが、完全に新しいので、私はいくつかの理解の問題があります。 1)これは静的なハンドオーバです。つまり、セレクタタグが必要です。または私はまた、携帯電話上のリクエスタタグが必要ですか?なぜなら、選択タグをNFCタグに保存しておけば、携帯電話でタグを読み取るとどうなりますか?私はこの場合、データを読み込んで解析し、WIFIマネージャを設定するか、必要なレスポンスが必要なのだと思いますか? –