Мы пытаемся отправить большой файл с телефона android на микропроцессор через nfc-p2p, android-beam и snep.Android Beam и SNEP to pn532
Это то, что мы имеем до сих пор. Я могу подключить pn532 (цель) к телефону (инициатору). Мое приложение Android использует setNdefPushMessage для отправки NdefMessage через nfc. Как только я нажмите телефон (Beam-UI) он начинает соединяться с SAP 4 на моем pn532 и после readcommand (tgGetData) я получаю следующее:
00 FF 86 7A D5 87 00 13 20 00 10 02 00 00 03 BD C1 01 00 00 03 B6 54 30 68 61 6C 6C 6F 20 64 61 73 20 69 73 74 20 65 69 6E 20 74 65 73 74 31 68 61 6C 6C 6F 20 64 61 73 20 69 73 74 20 65 69 6E 20 74 65 73 74 32 68 61 6C 6C 6F 20 64 61 73 20 69 73 74 20 65 69 6E 20 74 65 73 74 33 68 61 6C 6C 6F 20 64 61 73 20 69 73 74 20 65 69 6E 20 74 65 73 74 34 68 61 6C 6C 6F 20 64 61 73 20 69 73 74 20 65 69 6E 20 74 65 73 74
Чтобы очистить его: PN532 заголовок: 00 FF 86 7A D5 87 00
нет MI бит набор!
LLCP Заголовок: 13 20 00
I-пакет от SAP 32 до 4
Snep заголовка: 10 02 00 00 03 BD
версии 10 запроса PUT LEN заголовок 0x3bd
ЦНКА: C1 01 00 00 03 B6 54
c1: старт + EndMessage
сообщения ... остальное
I сделал соединение в комплекте с MUI 128.
моя проблема: говорит, что пакеты SNEP длинны 0x3BD, но я получил эту короткую часть. Нигде в этом сообщении нет никаких указаний, является ли это разделенным сообщением.
где находится остальная часть моей данных? Я пытался читать больше пакетов с pn532, но их не было.
** Редактировать: После ночи я наконец-то добрался. То, что работало по крайней мере, иногда: (все с точки PN532 зрения)
приема: Подключение
посыла: Подключение полной [MUI = 128]
получить: SYMM
посыла: SYMM
получить: Я первый фрагментированные данные (как показано выше)
отправить: RR
получают: SYMM
отправить: Я Snep: ответ ПРОДОЛЖИТЬ
получают: RR
отправить: Я Snep: запрос CONTINUE
получают: Я второй фрагментированные данные
отправить: RR
получить: RR
посыла: Я Snep: запрос ПРОДОЛЖИТЬ
получить: Я третий данных Фрагмент
Как я сказал, что это работает только несколько раз. большую часть времени мой PN532 просто отвечает с ошибкой Код 0x29 -> Инициатор сбросил соединение. Итак, вопрос: может ли это быть проблемой времени или что еще заставляет соединение удаляться перед отправкой остальной части данных.
Какова остальная часть общения с LLCP? Более конкретно, что MIU выполнил ваш микроконтроллер и устройство Android? Может ли это быть 128 байтов? –
Да, 128 байт. Я также пробовал другие, но он почти всегда производит тот же результат: соединение становится отброшенным (PN532 дает код ошибки 0x29) –