1FloJack: NFC for iOS (and more)
The FloJack is a pocket-sized NFC reader, and writer, for Apple mobile devices. It brings the revolutionary power of NFC to the iPad, the iPod Touch, and the iPhone. Now, Apple mobile devices can start touching the real world.
We’re also happy to announce that the FloJack has been made to work with Android devices as well!! So if your Android device doesn’t come with a built-in NFC hardware, don’t worry.. FloJack’s got your back.
The FloJack is compatible with iPhone 4, iPhone 4S, iPhone 5, iPhone 5s, iPhone6, and iPhone6+ as well as the 4th and 5th generation iPod Touch. It works on all iPads and Samsung Galaxy tablets. For more details, check out FloJack Specification v2.0.
2Setting up your FloJack
The FloJack has come a long way. The first prototype was the size of a lunchbox and weighed a ton. So we shrunk it down 2,000% and made it pocket size – small and light. We’ve built hundreds of FloJacks and they work great! To test out that your FloJack is working correctly, follow these steps:
1) Launch the ACS MobileMate App and connect the FloJack (ACR35) to the audio jack of your iOS/Android device. Immediately a green LED on the FloJack should light up. If not your device volume is low or the FloJack needs to be charged.
2) Select “Explore Contactless Card” from the menu options.
3) Place a tag on the surface of the FloJack where it has the “NFC” logo (both sides of device work)
4) Tap the “Answer-to-Reset (ATR)” field at the top of the app window. This will pull the tag into reset and get some basic protocol information. This is what I get when reading one of our NFC stickers:
Answer-To-Reset (ATR)
Init| T0| TD1| TD2| T1| Tk| Len | RID | Std | Card | RFU | TCK
Hdr | | | | | | | | | Name | |
3B | 8F| 80 | 01 | 80| 4F| 0C | A0 00 00 03 06| 03 | 00 03| 00 00 00 00| 68
Worth studying are the following fields:
Len = 0C // 12 bytes of config data
RID = A0 00 00 03 06 // Registered App Provider Identifier: PC/SC Workgroup
Std = 03 // Standard format: ISO14443A, Part3
Card Name = 00 03 // Mifare Ultralight
Other possibilities for cards include:
00 01 // Mifare 1K
00 02 // Mifare 4k
00 26 // Mifare Mini
F0 04 // Topaz and Jewel
F0 11 // Felica 212k
F0 12 // Felica 424k
5) Now that you know what card name you have, you can construct the APDU to request it’s UUID. The Mifare Ultralight has a 7 byte UUID so the Get UID Format should be:
Command | Class | INS | P1 | P2 | Le
Get Data | FF | CA | 00 | 00 | 00
Response | UID | SW1 | SW2
Result | 04 CC 2F DA C4 29 80 | 90 | 00 // this is my UID
6) You can then validate you’ve read the right UUID by reading the same tag with an Android NFC phone running the NFC TagInfo App and reviewing the Tag Information->UID[7] field value.
3Flomio SDK
We’re also excited to announce the Flomio SDK. Now, it’s easy for developers to add NFC to their iOS and Android apps. And together with the Flomio Cloud Infrastructure – developers can power NFC experiences across all devices.
The SDK includes:
- SDK library (iOS)
- Cordova Plugin
- Docs, Sample Logger App, etc
- Get it here: iOS or Android (coming soon)
It’s super easy to get started – drop our static library into your development environment and you’re ready to go. We handle the low level NFC protocols, audio sessions, reader management and all the other hard stuff! The SDK also provides seamless integration with the Flomio experience engine allowing you to bridge the digital and physical worlds with experiences like ‘tap to like’, ‘tap to check-in’, and more.
Getting your Device ID:
If you have an ACR35 and would like to upgrade to FloJack plug-and-play Basic or Pro SDK functionality, then we need you to send us your device ID. More details on the difference between Basic and Pro SDK’s please check here. To retrieve get your device ID follow these steps:
1) Launch the ACS MobileMate App and connect the FloJack (ACR35) to the audio jack of your iOS/Android device. Immediately a green LED on the FloJack should light up. If not your device volume is low or the FloJack needs to be charged.
2) Select “Explore Device” from the menu options.
3) Under the field “Reader ID” you should see a string of 16 characters. You will need to send this information along with a payment of $24.99 for Basic SDK or $150.01 for Pro SDK via PayPal to info@flomio.com.
Note: You may encounter an error alert stating “The flash data is corrupted.” This is an issue with the ACS MobileMate application so no need to be alarmed.