2013-08-05 2 views
3

Если у меня есть устройство чтения/записи NFC, могу ли я получить его, чтобы обнаружить мой Android-телефон с поддержкой NFC, чтобы я мог передавать данные из мой телефон к устройству? Я нашел несколько ссылок на Stackoverflow, связанные с эмуляцией карты, но все они говорят, что эмуляция карт невозможно или слишком сложноПолучение телефона Android, обнаруженного устройством чтения/записи NFC (Basic NFC)

How to make an android phone act as Contactless smart card?
NFC card emulation Android
Can an Android NFC phone act as an NFC tag?
NFC - p2p mode scenario
NFC Peer2Peer Mode - Android Beam - ISO 18092
Galaxy Nexus 4.1.1 and ISO14443 reader

Но pdf-документ, который я нашел онлайн, говорит

Режим эмуляции карты основан на стандартах ISO ISO 14443-A и ISO 14443-B, которые одобрены Форумом NFC.

Кроме того, далее говорит, что режим P2P также одобрен форум NFC, что, если я правильно понял это, также как один телефон работает в режиме эмуляции чтения, а другие работают в режиме эмуляции карты

Итак, если у меня есть телефон с поддержкой NFC и USB-устройство чтения/записи, например, THIS ONE, могу ли я заставить его обнаружить мой телефон как устройство NFC и передать некоторые данные с моего телефона на устройство чтения/записи?

--- EDIT ---
Примечание: Я не говорю о том, чтобы телефон работать в качестве защищенной платежной системы или что-нибудь подобное, на мой вопрос более простой: если я посылаю некоторые данные (скажем, строку «ABC» или номер 1234) с моего телефона с помощью NFC, могу ли я заставить внешний считыватель/запись обнаружить его?

ответ

0

Это не было возможным вообще без каких-либо неудобных хаков, однако все изменилось.

Например, вы можете access the secure element. Если вы хотите, чтобы ваш эмулировать карту Mifare, например, вы можете использовать это, я полагаю (see here).

Или, если вы хотите, чтобы он эмулировал более совершенную карту (такую ​​кредитную карту NFC), попробуйте выполнить следующие инструкции: on this great blog. Это потребует, чтобы у вас был встроенный телефон и запустил Cyanogenmod.

Я не пробовал первый метод, но тот, который требует Cyanogenmod, я протестировал и написал приложение, которое позволяет моему Nexus S связываться с ACR122 reader и отправлять произвольные данные.

+0

В настоящее время я не могу использовать какой-либо метод, который требует укоренения телефона; Мне нужно сделать это, используя систему Android, которая выходит из коробки с телефоном. Одна вещь, которую я до сих пор не понимаю, если телефон может действовать как автор карт, тогда он должен иметь возможность легко отправлять данные. В чем разница между отправкой данных в качестве устройства для записи карт, отправкой данных в виде телефона в режиме P2P и отправкой данных во время работы в качестве карты для внешнего устройства чтения карт? – user13267

+0

Он может легко отправлять данные, отправляя данные. P2P очень ограничен программным обеспечением Android, а не аппаратным обеспечением, и это проблема, Android блокирует многие функции. Если во время эмуляции телефон выступает в качестве карты MiFare, карты являются «немыми», они могут отвечать только на полученные данные, а не отправлять информацию самостоятельно. – Peanut

+0

, так что я не могу заставить телефон действовать как устройство для записи на карту и отправлять данные, которые затем считываются моим внешним читателем в качестве данных, считанных с карты? – user13267

1

Устройство NFC, работающее в режиме P2P, может получать данные с телефона Android с помощью Android Beam.

NFC device должен реализовать "NFC Forum Default SNEP Server", что эквивалентно Android Beam receiverAndroid Beam receiver.

Существуют различные библиотеки и инструменты, чтобы сделать это, один я могу говорить о являются Python основой NFCPy, она поставляется с beam.py примером программой, которая делает его из коробки.

+0

Ваша предоставленная ссылка мертва. –