Home › Forums › Ask the Flomies › Sending NDef Message over ACR1255U-J1
Tagged: ACR1255U-J1, Card Emulation, NDEF
-
AuthorPosts
-
February 24, 2017 at 1:32 pm #58854
Hello,
I am working on an application that uses NFC and requires me to use the ACR1255U-J1 as a backup external reader. The functionality works for internal NFC, but now I need to send an NDef Message over the ACR1255U-J1. I can get the bytes of the NDefMessage.
My hypotheses are:
1. I am not using the APDU commands properly. I tried using write binary but got a 6A 81 Error as a response. Using update binary, I receive a 90 00 success, but I am not sure this is the functionality I should be using, and the data is not received correctly.2. Android does additional work on NDefMessages before being sent through writeNDef which causes errors when sent via transmitAPDU()
I’ve been experimenting with the demo to rule our my own code as a cause for connection issue, but unfortunately I don’t have a debugger at the moment for the receiving device.
Any ideas?
February 26, 2017 at 7:24 pm #58859Hello:
Can you provide more details? What command are you sending?
Can you provide a code fragment to try to find the problem?
Thanks,
February 26, 2017 at 7:29 pm #58860Hi JD, I have a couple clarification questions in order to help.
Are you trying to have the ACR1255U-J1 operate in Card Emulation mode or Discovery (read/write) mode? I ask since the topic title makes me think the former but the APDUs you’re sending makes me think the later.
APDU error
6A 81
means “function not supported” (complete list of response codes here) so whichever target you’re hitting isn’t capable of running the write binary command.When you say you’re “experimenting with the demo”, are you referring to the sample app that’s included with the ACS1255U-J1 driver code? We have an app on Google Play and Apple App store that called Flomio Test that allows you to send APDUs to all of the readers we sell. On Android, this App offers both native as well as ACR1255U-J1 support. It might help you troubleshoot your problem further.
Download Flomio Test from Google Play here.
Hope that helps,
RichardFebruary 26, 2017 at 11:56 pm #58864Apologies. I should have given more detail. I was in a hurry.
I have two use cases.
Android Phone >>>ACR1255U-J1>>>>>>>>>>NFC Chip
>>>Android INternal NFC >>>>>>>> NFC chipI need to be able to send an NDefMessage. Sending in through the internal NFC interface works. I am now working on sending over the ACR Reader/Writer as an intermediary.
Ideally, I could send the NDefMessage straight through the ACR1255U-J1
Admittedly, I may be going about this entirely wrong.
This is the data of the NdefMessage as a string as hex characters:
d2 18 10 74 6c 6f 67 67 65 72 2f 64 65 6d 6f 2e 6e 68 73 2e 6e 78 70 2e 6c 6f 67 49 00 9f 9f b3 58 01 00 00 00 e8 03 01 19 00 01I was trying to send it through the ACS demo app like this through the BluetoothReader class’s transmitApdu method:
“FF D6 00 04 04 03 2B d2 18 ” + “FF D6 00 05 04 10 74 6c 6F ” + “FF D6 00 06 04 67 67 65 72 ” + “FF D6 00 07 04 2F 64 65 6d ” + “FF D6 00 08 04 6F 2E 6E 68 ” + “FF D6 00 09 04 73 2E 6E 78 ” + “FF D6 00 0A 04 70 2E 6C 6F “+ “FF D6 00 0B 04 67 49 00 9f “+ “FF D6 00 0D 04 9f b3 58 01 “+ “FF D6 00 0D 04 00 00 00 e8 “+ “FF D6 00 0E 04 03 01 19 00 “+ “FF D6 00 0F 04 01 FE 00 00”;
The manipulation of Strings to bytes and back is handled by the Utils class provided in the ACS BtDemo
I tried the Flomio Test app, but it doesn’t find my device while the ACS app does.
February 27, 2017 at 1:58 pm #58873Hi JD, I understand what you are attempting to do now. You want to use the ACR1255U-J1 for card emulation. This is possible but not in the method you have tried. You have to use transparent PCSC 2.0 commands which are not well documented.
Are you able to describe your use case?? I only ask because we have built and deployed several solutions for customers many different vertical markets and have found that often using NFC in combination with other proximity technologies like Bluetooth or server-side logic we address requirements much easier. If you’re certain that card emulation on the ACR1255U-J1 is what you need for your application, then you can purchase Flomio Service hours for us to assign resources to get that done for you.
RE: Flomio Test app not connecting. This may be because you are still connected via the ACS app or perhaps you are connected the the reader from another device. Establishing connection to the ACR1255U-J1 is pretty standard so unless your Bluetooth is switched off or something basic like that, I would expect the app to connect without issue. What Android version are you using? What Android device??
best,
RichardFebruary 27, 2017 at 8:46 pm #58878I found to which you are referring here:
https://www.manualslib.com/manual/1203584/Acs-Ts760a.html?page=15I am hoping it still applies.
So now I am sending this as my command based on the PCSC 2.0 Part 3 protocol description for C2
FF C2 00 01 2B d2 18 10 74 6c 6f 67 67 65 72 2f
64 65 6d 6f 2e 6e 68 73 2e 6e 78 70 2e 6c 6f 67
49 00 9f 9f b3 58 01 00 00 00 e8 03 01 19 00 01and I receive C0 03 01 63 00 90 00 as a response. Still seems to be unsuccessful, but the error may now be on the receiving end which I am waiting on a response to rule out.
Thanks,
JDFebruary 28, 2017 at 4:48 am #58879Hi JD, you can download the official reference manual for the ACR1255U-J1 from here. Check section 6.6.16. That should be used in conjunction with transparent commands to encode your NDEF message of choice. I’m not sure I follow your issued APDUs, how are you forming them?
You may want to look through this thread to get a feel of how transparent PCSC commands should behave.
Best,
Richard -
AuthorPosts
You must be logged in to reply to this topic.