Home › Forums › Ask the Flomies › Reading card data from ACR1255 Android
Tagged: ACR1255U-J1, APDU, PWD_AUTH
-
AuthorPosts
-
March 15, 2016 at 4:35 pm #54774
Hello, we recently ordered several units of ACR1255U-J1. We were able to successfully connect and using the example code authenticate to the reader. However when we tried to get the card data we ran into problems. It appears we can build the appropriate commands using escape commands however we hoping there might be existing solutions. We were wondering if there were any examples of reading the card data or if the Flomio SDK for Android will include that capability. If either of those are the case, is it possible for us to see examples?
We are willing to buy the SDK if it includes Android examples of reading card data.
March 15, 2016 at 5:09 pm #54776Hi Jason, the Flomio SDK is meant to provide this functionality. We currently have a beta version of the SDK for Android available in the Basic Flomio SDK bundle. It has some example code on how to use and you can download it from here:
https://www.dropbox.com/s/y5qloadwievtjp4/FlomioSDK.zip?dl=1
thanks,
RichardMarch 15, 2016 at 5:47 pm #54778Ok thanks for the SDK. We’ll test first thing tomorrow.
March 16, 2016 at 11:42 am #54794We installed the test application that came with the SDK however we were unable to get it to work properly. It appears that we’re connected but that authentication is not happening or at the very least the callback is not occurring. Should the app actually work or should we be trying to use the library directly? Any help/advice you could offer would be much appreciated.
March 16, 2016 at 2:25 pm #54795Can you provide some more details as to your test scenario? The code for building test app in the SDK bundle is included and you’ll notice the UI is very rudimentary and non-existant. We expect testers to open Android Studio and latch on to the app process to observe tag scans from the debugger console. Have you been observing from there? Can you cut/paste the output you see here? What version of Android are you using on your device? Marshmellow? Is your Bluetooth settings on during your test? The ACR1255U-J1 fully charged as well?
March 16, 2016 at 2:39 pm #54796Here’s what we see after building and running the application.
Console:
03-16 10:04:27.818 16736-16736/com.acs.btdemo D/BluetoothGatt: connect() - device: 68:C9:0B:0D:8A:7E, auto: false 03-16 10:04:27.820 16736-16736/com.acs.btdemo D/BluetoothGatt: registerApp() 03-16 10:04:27.825 16736-16736/com.acs.btdemo D/BluetoothGatt: registerApp() - UUID=b7ddf13f-2b1e-4b3c-b9a7-a7812c424329 03-16 10:04:27.828 16736-16748/com.acs.btdemo D/BluetoothGatt: onClientRegistered() - status=0 clientIf=5 03-16 10:04:27.829 16736-16736/com.acs.btdemo I/ReaderActivity: onResume() 03-16 10:04:27.938 16736-16749/com.acs.btdemo D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=5 device=68:C9:0B:0D:8A:7E 03-16 10:04:27.938 16736-16749/com.acs.btdemo D/BluetoothGatt: discoverServices() - device: 68:C9:0B:0D:8A:7E 03-16 10:04:28.839 16736-16762/com.acs.btdemo D/BluetoothGatt: onSearchComplete() = Device=68:C9:0B:0D:8A:7E Status=0 03-16 10:04:28.840 16736-16762/com.acs.btdemo V/ReaderManager: On Acr1255uj1Reader Detected. 03-16 10:04:28.840 16736-16762/com.acs.btdemo D/ReaderManager: Device Detected 03-16 10:04:28.842 16736-16762/com.acs.btdemo I/System.out: Notifying to all the subscribers when product became available 03-16 10:04:28.852 16736-16762/com.acs.btdemo D/BluetoothGatt: setCharacteristicNotification() - uuid: 00002a19-0000-1000-8000-00805f9b34fb enable: true 03-16 10:04:28.904 16736-16762/com.acs.btdemo D/BluetoothGatt: setCharacteristicNotification() - uuid: 0000fff2-0000-1000-8000-00805f9b34fb enable: true 03-16 10:05:09.003 16736-16748/com.acs.btdemo D/BluetoothGatt: onClientConnectionState() - status=34 clientIf=5 device=68:C9:0B:0D:8A:7E
Using Android Marshmallow
Bluetooth is on and the device is connected
Device is fully chargedMarch 16, 2016 at 7:32 pm #54799Hi Jason, we’ll need to look into this for you. Even though we did some testing on Marshmallow we ultimately archived the SDK with Lollipop (Android SDK Target 22). That might be the cause of the issue since from Lollipop to Marshmallow there were big changes made to the Bluetooth functionality of Android, specifically around permissions. I will rebuild the SDK for Marshmallow and send you a drop for you to test. I estimate getting that done by Friday, March 18th.
thanks,
RichardMarch 21, 2016 at 3:32 pm #54842Any update on this?
March 28, 2016 at 2:34 pm #54892Just following up on status of Android SDK. Were you able to rebuild the SDK and did it resolve the issue we were seeing? If you were, is there any chance we could take a look at it?
June 24, 2016 at 8:26 am #55818Hi Jason, we’ve updated the Flomio SDK for Android to address the issues you were experiencing. You can download it from the same link:
https://www.dropbox.com/s/y5qloadwievtjp4/FlomioSDK.zip?dl=1
The Android SDK is found in the Android fold of the bundle. There’s a Test APK your can try along with instructions in the README file to build the same app yourself in Android Studio.
Best,
RichardSeptember 28, 2016 at 5:48 pm #56575Hi, Richhard can you please let me know what would be issue?
09-29 02:44:49.943 22991-23101/flomio.com.testmysdk V/Callback==>: NEW_DEVICE_CONNECTED 09-29 02:44:49.953 22991-23006/flomio.com.testmysdk D/BluetoothGatt: onNotify() - Device=20:91:48:5B:3C:7A UUID=0000fff2-0000-1000-8000-00805f9b34fb 09-29 02:44:49.963 22991-22991/flomio.com.testmysdk D/BluetoothGatt: writeCharacteristic() - uuid: 0000fff1-0000-1000-8000-00805f9b34fb 09-29 02:44:49.973 22991-23005/flomio.com.testmysdk D/BluetoothGatt: onCharacteristicWrite() - Device=20:91:48:5B:3C:7A UUID=0000fff1-0000-1000-8000-00805f9b34fb Status=0 09-29 02:44:49.983 22991-23101/flomio.com.testmysdk D/BluetoothGatt: onNotify() - Device=20:91:48:5B:3C:7A UUID=0000fff2-0000-1000-8000-00805f9b34fb 09-29 02:44:49.983 22991-23005/flomio.com.testmysdk D/BluetoothGatt: onNotify() - Device=20:91:48:5B:3C:7A UUID=0000fff2-0000-1000-8000-00805f9b34fb 09-29 02:44:49.983 22991-23005/flomio.com.testmysdk W/BluetoothGatt: Unhandled exception in callback java.lang.ArrayIndexOutOfBoundsException: length=16; index=16 at com.acs.bluetooth.Acr1255uj1Reader.b(SourceFile:1611) at com.acs.bluetooth.Acr1255uj1Reader.d(SourceFile:331) at com.acs.bluetooth.Acr1255uj1Reader.a(SourceFile:269) at com.acs.bluetooth.BluetoothReader.a(SourceFile:703) at com.acs.bluetooth.BluetoothReaderGattCallback.onCharacteristicChanged(SourceFile:124) at android.bluetooth.BluetoothGatt$1.onNotify(BluetoothGatt.java:419) at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:403) at android.os.Binder.execTransact(Binder.java:407) at dalvik.system.NativeStart.run(Native Method) 09-29 02:44:50.023 22991-23101/flomio.com.testmysdk D/BluetoothGatt: onNotify() - Device=20:91:48:5B:3C:7A UUID=0000fff2-0000-1000-8000-00805f9b34fb 09-29 02:44:50.023 22991-23006/flomio.com.testmysdk D/BluetoothGatt: onNotify() - Device=20:91:48:5B:3C:7A UUID=0000fff2-0000-1000-8000-00805f9b34fb 09-29 02:44:50.023 22991-23006/flomio.com.testmysdk W/BluetoothGatt: Unhandled exception in callback java.lang.ArrayIndexOutOfBoundsException: length=32; index=32 at com.acs.bluetooth.Acr1255uj1Reader.b(SourceFile:1611) at com.acs.bluetooth.Acr1255uj1Reader.d(SourceFile:331) at com.acs.bluetooth.Acr1255uj1Reader.a(SourceFile:269) at com.acs.bluetooth.BluetoothReader.a(SourceFile:703) at com.acs.bluetooth.BluetoothReaderGattCallback.onCharacteristicChanged(SourceFile:124) at android.bluetooth.BluetoothGatt$1.onNotify(BluetoothGatt.java:419) at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:403) at android.os.Binder.execTransact(Binder.java:407) at dalvik.system.NativeStart.run(Native Method) 09-29 02:44:50.373 22991-23005/flomio.com.testmysdk D/BluetoothAdapter: onScanResult() - Device=4C:28:C7:72:02:8F RSSI=-89
September 28, 2016 at 6:23 pm #56577Hello Najeeb,
Can you please tell me what reader do you have and what cards are you trying to read?
B.
September 29, 2016 at 6:19 am #56582I have Acr1255u-j1 bluetooth reader and i try to read mifare ultralight card with flomio sdk Android version which is given here
https://www.dropbox.com/s/y5qloadwievtjp4/FlomioSDK.zip?dl=1I got callback of DEVICE_CONNECTING and DEVICE_CONNECTED but right after that i got above exception and unable to read Card UUID and NDEF Mesasage.
October 26, 2017 at 5:13 am #61396Hello Jason and Najeeb,
did you get solution?October 26, 2017 at 10:22 am #61398Hi, I am testing NTAG213 with ACR1255 Android and Windows 10 (Java). I have read and write protected my NTAG213 card using ACR122U USB and able to authenticate with the command FF 00 00 00 07 D4 42 1B 41 41 41 41 Where 41 41 41 41 is NTAG password. I am not able to find the authentication command (PWD_AUTH for NTAG213) for ACR1255 bluetooth device. Please let me know if you have commands for this.
Thank
NagaOctober 31, 2017 at 1:51 pm #61431Hi Naga, yes we support these APDU commands. Perhaps you’re encountering an issue with how you’ve formatted your commands? What error codes are your getting??
best,
RichardOctober 31, 2017 at 2:49 pm #61437Hi Richard,
I have used the following command to authenticate NTAG213 card using ACR1255U
FF 00 00 00 07 D4 42 1B 41 41 41 41 (Password: 41 41 41 41)
This command returns always 63 00, any suggestions?
Thanks
NagaNovember 3, 2017 at 12:30 pm #61479Hmmm, either you have the password wrong or you are messing up the ADPU format. Can you send us some samples of you tags in order for us to confirm the issue? We have this working on NTAGs of our own.
Ship samples to:
Flomio, Inc.
7171 Bay Dr. Ste 6
Miami Beach, FL 33141best,
RichardNovember 21, 2017 at 5:40 am #61662Hi Richard,
I’m using MIFARE Ultralight (NTAG213) with the ACR1255u-J1 bluetooth reader. Is it possible with your Android SDK to read the tag value I wrote before with my phone (e.g. “12345”)? At the moment I only get the UID of the MIFARE Ultralight if the reader detects one.Best,
JochenNovember 21, 2017 at 9:39 am #61665Hi Jochen, yes it is possible to read back NDEF data written to a MIFARE Ultralight however it requires you prepare your own APDU sequence to do so. This is because we still have not completed the sequence of reading the non-UUID data from the card and feeding it to the NDEF parser. The Android SDK is very much still in development from that standpoint given that demand for it’s use is much less than the iOS SDK.
best,
Richard -
AuthorPosts
You must be logged in to reply to this topic.