2015-03-04 2 views
0

Я искал способ создания p2p связи между Android телефон (назовем его ) и PN532 + микроконтроллер (назовем их B).P2p NFC связь между Android и Adafruit PN532

По p2p я имею в виду сценарий, в котором:

1. А посылает некоторые прикладные конкретные данные Б

2. В принимает данные и отправляет ответ, содержащий данные, определенные для приложения к А

Я видел похожие вопросы, но большинство из них датируется 2011 годом, заявив, что такая функциональность еще не поддерживается API. Глядя на новейший API, я все еще вижу только решение, в котором B рассматривается как TAG.

Я пропустил что-то или это вид общения, который я ищу, по-прежнему не поддерживается?

ответ

1

Если вы хотите специально использовать одноранговый режим NFC, то те же самые ответы действительны сегодня: Android поддерживает только Android Beam для связи P2P. Следовательно, вы можете, в общем, передавать только одно сообщение в одном направлении, и каждый раз, когда вы хотите отправлять данные, вам нужно нажимать «Луч». Однако, если ваше взаимодействие - это ровно 1 сообщение от Android до PN532, а затем 1 сообщение от PN532 до Android, и вы в порядке, нажав на Beam UI при отправке с Android, вы можете использовать некоторые трюки, чтобы сначала получить сообщение от Android, затем отключите и снова подключите, чтобы отправить ответ на Android.

Когда вы открыты для поддержки других режимов, то у вас есть несколько вариантов:

  1. Если Android устройства Android 4.4 или более поздней версии и поддерживает эмуляцию хоста-карт (HCE): Используйте PN532 считыватель/режим записи и реализовать службу HCE на стороне Android.

  2. В противном случае используйте режим эмуляции PN532 в режиме эмуляции хост-карты и получите доступ к нему со стороны Android с помощью стандартного API-интерфейсов чтения/записи NFC (например, IsoDep/NfcA или NfcF).

+0

Thanks @Michael Roland! Я попытаюсь взломать это. Постскриптум Я думаю, вы действительно можете избежать необходимости использовать экран в последней версии API, вызвав invokeBeam(). Это не слишком беспокоит меня, но, – user57927

+1

Сообщение от Android и ответный ответ должны быть возможны, используя только Beam (SNEP). Я использовал его раньше, чтобы реализовать охоту за мусорщиком, используя NXP TagWriter на Android и скрипт луча nfcpy. Приложение TagWriter может быть настроено для отправки ранее обнаруженного сообщения NDEF на пучок nfcpy и получено обратно сообщение со следующей целью для поиска. Остальные примеры nfcpy/beam.py - это действие «recv send», зарегистрированное по адресу http://nfcpy.readthedocs.org/en/latest/examples/beam.html#recv-send. –

+0

@StephenTiedemann Я пробовал это довольно давно, и у меня сложилось впечатление, что Android быстро истекает время и что у вас есть только очень короткое время (мое впечатление было на самом деле * недостаточно времени *) на стороне PN532 для обработки полученного сообщения и генерировать ответ. Но я должен признать, что я еще не исследовал это, и то, что я испытал, могло иметь и совершенно другой источник. –

 Смежные вопросы

  • Нет связанных вопросов^_^