Начало работы с Open NFC emulator

Я хотел бы начать работу над разработкой приложений NFC для Android. Недавно я начал работу с Android, и я нашел для него очень интересную платформу для разработки. Прежде чем я выйду и инвестирую в устройство Android, которое имеет встроенный считыватель NFC и теги покупки, я хотел бы получить представление о том, как на самом деле писать код для них.

Я нашел эмулятор Open NFC Android, и, похоже, это то, что я ищу. Я скачал: 1. Open NFC для Android 2. Open NFC core Edition

После создания avd для Open NFC я выполнил инструкции.

Теперь проблема, с которой я сталкиваюсь, заключается в том, что в эмуляторе, когда я перехожу к настройкам беспроводной сети, а затем включаю NFC, он говорит, что произошла ошибка. Я попытался установить IP 10.0.2.2, а также IP, который я получаю из ipconfig, но безрезультатно. Я не вижу журнала. Также я попытался полностью отключить брандмауэр во время его запуска, чтобы он случайно не блокировался.

В качестве примечания я хотел бы упомянуть, что перед запуском эмулятора у меня запущен диспетчер подключений.

Есть ли у кого-нибудь опыт работы с Open NFC для Android, если кто-то может указать мне на лучший набор инструкций, я был бы очень благодарен в качестве альтернативы. Если кто-то мог предложить другой симулятор, с помощью которого я могу попробовать примерный код и получить лучшее представление о NFC ,

Результатом логарифма adb является

W/KeyCharacterMap( 165): No keyboard for id 0 W/KeyCharacterMap( 165): Using default keymap: /system/usr/keychars/qwerty.kcm.bin D/NfcSettings( 165): onPreferenceChange: Setting NFC key: nfc_cc_ip D/NfcSettings( 165): onPreferenceChange: Setting NFC value: 10.0.2.2 D/NfcSettings( 165): onPreferenceChange: Setting System NFC NFC_CC_IP: 10.0.2.2 D/NfcSettings( 165): onPreferenceChange: Setting NFC key: nfc_hal_mode_list D/NfcSettings( 165): onPreferenceChange: Setting NFC value: 1 D/NfcSettings( 165): onPreferenceChange: Setting NFC mPreferenceNfcHalMode: SIMULATOR:1 D/NfcSettings( 165): onPreferenceChange: Setting System NFC NFC_HAL_MODE: 1 W/InputManagerService( 68): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@406df430 D/NfcEnabler( 165): Setting NFC enabled state to: true D/OpenNFCService( 250): Enabling NFC. previous =false D/OpenNFCService( 250): mIsNfcEnabled NFC =false D/OpenNFCService( 250): _enable =true D/OpenNFCService( 250): IOpenNFCService:setNFCEnabled(true) D/OpenNFCService( 250): Invalid IP address D/OpenNFCService( 250): can't create configuration ! D/OpenNFCService( 250): updateNfcOnSetting: false D/OpenNFCService( 250): NFC success of _enabletrue) is false D/OpenNFCService( 250): $$$NFC$$$ Will connect ! $$$NFC$$$ W/NfcEnabler( 165): Error setting NFC enabled state to true 

Я получаю ту же ошибку, когда я меняю IP на тот, который получен с помощью ipconfig.

 D/NfcSettings( 165): onPreferenceChange: Setting NFC key: nfc_cc_ip D/NfcSettings( 165): onPreferenceChange: Setting NFC value: 114.31.179.86 D/NfcSettings( 165): onPreferenceChange: Setting System NFC NFC_CC_IP: 114.31.179.86 D/NfcEnabler( 165): Setting NFC enabled state to: true D/OpenNFCService( 250): Enabling NFC. previous =false D/OpenNFCService( 250): mIsNfcEnabled NFC =false D/OpenNFCService( 250): _enable =true D/OpenNFCService( 250): IOpenNFCService:setNFCEnabled(true) D/OpenNFCService( 250): Invalid IP address D/OpenNFCService( 250): can't create configuration ! D/OpenNFCService( 250): updateNfcOnSetting: false D/OpenNFCService( 250): NFC success of _enabletrue) is false D/OpenNFCService( 250): $$$NFC$$$ Will connect ! $$$NFC$$$ W/NfcEnabler( 165): Error setting NFC enabled state to true 

    @nikhil: Спасибо за ссылку на TCP Echo Server. Я получил свой стек OpenNFC для работы после запуска эхо-сервера. Чтобы другие пользователи могли извлечь выгоду из этого упражнения, вот краткое описание того, что нужно сделать, чтобы настроить стек OpenNFC с помощью симулятора контроллера NFC (NFC).

    – Стек (с симулятором NFCC) поддерживается только на хосте Windows , так как и Центр соединений, и симулятор NFCC – это приложения Windows.

    –Загрузить все 3 пакета :

    1. OpenNFC Android SDK addon
    2. OpenNFC core Edition , в котором есть Центр подключения и приложения для симулятора NFCC.
    3. Эхо-сервер: EchoTool

    –Установите аддон SDK и создайте AVD с помощью SDK Addon.

    –start Connection Center (запустите «Connection Center.exe») и настройте его для приема клиентских подключений с других компьютеров.

    – запустить симулятор NFCC (запустить «NfcSimulator.exe»).

    –start echo server (на порте 7), используя cmd: echotool / p tcp / s 7

    – запустить Android-эмулятор с помощью только что созданного AVD.

    – из эмулятора выберите Настройки-> Беспроводные сети-> Настройки NFC

    – центр 10.0.2.2 в центре IP-подключения

    –Выберите Simulator для реализации NFC HAL

    – Теперь нажмите переключатель NFC (флажок), чтобы запустить стек NFC!

    У меня возникли аналогичные проблемы. Оказывается, что Центр связи, упомянутый в документе, – это приложение Windows. Это от разработчика в Inside: «Центр соединений – это инструмент, выпущенный в двоичной форме для Windows. Вы можете найти его, а также симулятор NFC в Core Edition Open NFC». У меня есть среда сборки (Eclipse), запущенная на узле Ubuntu. Поэтому мне не повезло с этим. Вы также находитесь на хосте Linux?

    Для работы симулятора контроллера NFC должен быть запущен узел подключения, как указано в документе: «Перед запуском AVD необходимо запустить и сконфигурировать центр соединения, чтобы принимать клиентские соединения с других компьютеров».

    В любом случае, после отключения logcat, и из сообщений отладки ясно, что Simulator не может подключиться к центру соединения. После того, как щелкнула кнопка переключения NFC, следующий вывод logcat:

     root@android:/ # logcat D/NfcEnabler( 170): Setting NFC enabled state to: true D/OpenNFCService( 273): Enabling NFC. previous =false D/OpenNFCService( 273): mIsNfcEnabled NFC =false D/OpenNFCService( 273): _enable =true D/OpenNFCService( 273): IOpenNFCService:setNFCEnabled(true) D/NFCService( 273): Java_org_opennfc_service_Interface_OpenNFCServerStart D/NFCService( 273): Java_org_opennfc_service_Interface_OpenNFCServerStart : Simulator has been selected D/Microread( 273): static_nfcc_device_open D/Microread( 273): static_nfcc_device_get_binding E/SIMULATOR( 273): 00071 ERROR HAL : GetNALBinding E/CCCLIENT( 273): static_CCClientCreateSocket / connect() failed 111 E/SIMULATOR( 273): 00072 WARN HAL : =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ E/SIMULATOR( 273): E/SIMULATOR( 273): 00073 WARN HAL : CANNOT CONNECT TO THE CONNECTION CENTER. E/SIMULATOR( 273): E/SIMULATOR( 273): 00074 WARN HAL : SYMPTOM: Impossible to connect to the Connection Center E/SIMULATOR( 273): E/SIMULATOR( 273): 00075 WARN HAL : DIAGNOSTIC: Connection Center not started, firewall, ... E/SIMULATOR( 273): Check Connection Center and your network configuration. E/SIMULATOR( 273): D/SIMULATOR( 273): 00076 TRACE HAL : =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ D/SIMULATOR( 273): E/SIMULATOR( 273): 00077 ERROR SIM : static_NALBindingCreateFunction: Cannot create the com port E/OPENNFC_SERVER( 273): 00031 ERROR NFC_HAL PNALServiceCreate: Error returned by the initialization of the NFC HAL E/OPENNFC_SERVER( 273): 00032 ERROR EVENT : static_PContextCreate: Cannot create the NFC HAL Service E/OPENNFC_SERVER( 273): 00033 ERROR STARTUP BootNFCC : PDriverCreate() failed E/NFCService( 273): Java_org_opennfc_service_Interface_OpenNFCServerStart: StartNFCC failed E/OpenNFCService( 273): OpenNFCServerStart failed D/OpenNFCService( 273): updateNfcOnSetting: false D/OpenNFCService( 273): NFC success of _enabletrue) is false D/OpenNFCService( 273): $$$NFC$$$ Will connect ! $$$NFC$$$ W/NfcEnabler( 170): Error setting NFC enabled state to true 

    Разработчик сказал, что для этого для работы на хосте Linux «вам может потребоваться настроить эхо-сервер TCP параллельно с центром подключения на компьютере для ответа на порт 7». Я не уверен, как это делается и что требуется.

    Я предлагаю вам попробовать ту же настройку на хосте Windows, что и я буду делать.

    С новыми версиями NFC Core, SDK, Connection Center, NFC Emulator и новым изображением дополнения Android можно. Я тестировал, и он работает … Просто просмотрите страницу Open NFC Project и загрузите новые версии этих вещей.