Here is the first chapter of the "Java Programming with Mifare and ACR120" book.
The "Java Programming with Mifare and ACR120" book is about programming Mifare RFID contactless cards with ACR120 card reader in Java. In this book, I will describe Mifare cards and ACR120 reader, show you how to program them and provide sample code.
I explain how to:
I provide nearly twenty sample programs. The sample code is tested against:
I used a proprietary Java programming library for ACR120 provided by ACS, manufacturer of the reader. The ACR120 model I tested was a USB model. Serial interface model was not tested.
Mifare is an RFID contactless IC manufactured by NXP Semiconductors (originally Philips Semiconductors). Mifare has a long history and widely used throughout the world.
There are some types of Mifare ICs:
The standard models are widely used but suffer from key cracking and UID fraud problems. NXP introduced newer models more secure but still compatible with classic models because the classic data area format (or sector format) is so widely used. The major part of this book is about this classic sector format. Data formats of imcompatible Light, Ultralight and DESFire are not discussed.
You will be rewarded to learn the traditional sector format when you use Mifare Plus or improved version of Mifare 1K/4K ICs that start shipping this year (2010) because these ICs use the same classical sector format.
For simple operations of detecting presence of a card and getting the serial number, ACR120 and its proprietary Java library supports all of the Mifare ICs mentioned above and will probably do so with forthcoming models too.
The word "card" and "tag" are used interchangeably to denote any holder of a Mifare IC chip. Please note, in documents related to RFID technology, an RFID IC card is called "PICC" while its reader is called "PCD."
You can get technical documents about Mifare from the manufacturer's site:
At "Looking for documents" section to the right of the top page, select type of documents such as datasheets, applicaton notes, etc. Select product type "Identification and Security" and then subcategory "Smart card ICs."
Some documents are password-protected; you need to request a password to get these documents. I haven't done so and haven't read any of these password-protected documents yet.
ACR120 is an RFID contactless card reader/writer manufactured by Advanced Card Systems (ACS).
ACR120 supports Mifare and ISO 14443 A and B cards. The reader/writer is available in module form, as well as in both USB (ACR120U) and Serial (ACR120S) interfaces. I will use the word reader in this book although ACR120 can also write to a card.
For developers like us, a good thing about ACR120 is that Software Development Kit (SDK) is easily available. The SDK includes one ACR120 device, software library, and some Mifare cards for testing. A Windows PC and the SDK is all you need to start programming the reader.
You can buy ACR120 SDK from a local dealer or ACS online store. It is priced $179.00 as of September 1, 2010.
You can download the latest driver, Java library and manuals for ACR120 from ACS site:
With this book, you can learn how to program Mifare contactless cards with ACR120 reader using Java programming language.
I will start with an easier and general subject and proceed to a harder and more specific subject.
According to a goal of your programming project, you may only need a simple technique to get your job done. In this case, you don't have to necessarily read later chapters. If you want to do a more difficult task, however, you should read earlier chapters that cover simpler subjects.
In order to understand how to use Java APIs to program ACR120 and Mifare, you must at least look at the following two documents provided by ACS:
Among the Java APIs ACR120 supports, this book covers most of the APIs in the following three groups.
APIs not discussed in this book include:
Other useful documents are:
I have tried to write this book so that you don't have to look into these detailed documentation. You may need to delve into these details if you want to understand the ACR120 reader and Mifare deeper or you want to do more sophisticated things than this book covers.
... continued ...
Written by: ARAI, Bunkichi
Presented by: Kobu.Com
Published through Kopu.Biz Entertainment
September 12, 2010
Copyright © 2010 Kobu.Com. All rights reserved.