Access Interfacing Solutions ATR110 Product Manual

1d/2d barcode imager
Table of Contents

Advertisement

Quick Links

Subject: ATR110 Manual
Revision: 1.0
Issue Date: 15/03/2016
Product names
mentioned herein are for
identification purposes
only and may be
trademarks and/or
registered trademarks of
their respective
companies.
© Copyright 2016
ALL RIGHTS
RESERVED
Access-IS
18 Suttons Business Park, Reading
Berkshire, RG6 1AZ, United Kingdom
Tel: +44 (0) 118 966 3333
Web: www.access-is.com
Email: support@access-is.com
ATR110
1D/2D Barcode Imager
(Barcode and NFC Version)
Product Manual

Advertisement

Table of Contents
loading

Summary of Contents for Access Interfacing Solutions ATR110

  • Page 1 Subject: ATR110 Manual ATR110 Revision: 1.0 1D/2D Barcode Imager Issue Date: 15/03/2016 (Barcode and NFC Version) Product names mentioned herein are for Product Manual identification purposes only and may be trademarks and/or registered trademarks of their respective companies. © Copyright 2016...
  • Page 2 Warnings This manual contains important information regarding the installation and operation of the ATR110 1D/2D Barcode Imager. For safe and reliable operation of the imager, installers must ensure that they are familiar with and fully understand all instructions contained herein.
  • Page 3: Table Of Contents

    Contents Overview ........................5 Specifications ......................6 Part numbers....................... 7 Installation ........................8 Unpack the ATR110 ....................8 Connection ........................8 Mounting ........................8 Barcode interface options ..................11 NFC interface ......................11 Barcode module installation ..................12 NFC module installation .................... 12 Test the device ......................
  • Page 4 Get NFC timings ......................53 Enter sleep mode ...................... 54 Exit sleep mode ......................55 ATR110 LED control command ................55 8.10 Get NFC kernel version ..................... 57 8.11 Get media serial number ................... 58 A. NFC module serial number matching ..............60 B.
  • Page 5: Overview

    1. Overview The ATR110 is a compact and fast barcode reader with Near Field Communication (NFC) contactless capabilities. This ‘one-box’ solution helps process a wide range of electronic ticketing across a variety of media. The device reads all popular linear, PDF417 and 2D barcode symbologies, including QR and Aztec codes, from smartphones, tablets and printed-paper documents.
  • Page 6: Specifications

    2. Specifications Specification Details Dimensions (L x W x H) 120.6 mm x 96.0 mm x 81.2 mm Weight 461 g (with cable) Environmental Operating temperature: -25ºC to 50ºC Storage temperature: -30ºC to 70ºC Humidity: 95% non-condensing Designed to meet IP54 Body Dark grey ABS with blue rubber smartphone bumper Glass...
  • Page 7: Part Numbers

    Part numbers Product Part Number Barcode and NFC-enabled, USB-connected ATR110 AKEGEOTA911 USB power injector cable 5KBD133402 Pole mount - 1.25 inches (31.75 mm) pole diameter AKEGEOXB081 Pole mount - 1.5 inches (38.1 mm) pole diameter AKEGEOXB091 An external power supply is available, if required.
  • Page 8: Installation

    For optimum performance, do not position the ATR110 in direct sunlight. NFC INSTALLATION WARNING To optimise the performance, DO NOT install the ATR110 so that its NFC antenna is within 40 mm of a large metal or electrically conductive component or structure.
  • Page 9 Figure 3. ATR110 dimensions (rounded to the nearest millimetre) 3.3.1 Mounting points Figure 4. ATR110 mounting points Use four M3 screws (not provided) to mount the unit. Maximum insertion depth is 4 mm; minimum recommended insertion depth is 2 mm.
  • Page 10 3. Unscrew the four screws holding the two plastic ‘U’-shaped mouldings to the top and bottom of the mounting bracket. 4. Screw the mounting bracket to the back of the ATR110 using four M3 screws. 5. Replace the plastic ‘U’-shaped mouldings and screw into place.
  • Page 11: Barcode Interface Options

    You should refer to the HID programming guide for the operating system that you are using. Refer to HID reports on page 61 for the details of the HID reports used with the ATR110. NFC interface The NFC module enumerates as a standard Chip Card Interface Device (CCID) smartcard reader.
  • Page 12: Barcode Module Installation

    Note: If you intend to use the Access driver, ensure that you install the driver before you connect the device to the computer. 3.6.1 Driverless keyboard output There is no additional driver required for this mode. Connect the USB cable from the ATR110 to a USB port on the computer. 3.6.2 CDC driver This method for USB installation uses the Windows CDC drivers.
  • Page 13: Test The Device

    Smartcard Resource Manager API. Refer to the Microsoft website for more detailed information on the Smartcard Resource Manager API. For more information on the operation of the ATR110’s NFC reader, see page 33. Refer to page 36 for MIFARE media commands and responses and page 50 for NFC management interface commands.
  • Page 14: Troubleshooting

    3.11 Troubleshooting If the ATR110 does not appear to be working, refer to Table 1 to help identify and resolve the problem. For further assistance, contact support@access-is.com. Alternatively, use the Contact Customer Support Team page on the Access-IS website. Note: Do not attempt to disassemble the ATR110 if it does not operate correctly.
  • Page 15: Barcode Operating Modes

    The ATR110 is a two-way communication device, controlled fully by a host. The ATR110 detects the media and sends a command to the host with this information. If the media is removed, a second command is sent telling the host the media is no longer detected.
  • Page 16: Dumb Mode

    Dumb mode Figure 9 shows the process for an ATR110 in Dumb mode. Reader Idle Media Detected Imager and Illumination Activated Lights ‘Good Read’ (as Settings Barcode Read Instruct) Data Sent to Host Imager and Illumination Deactivated Reader Idle Figure 9. Dumb mode process flow 4.2.1 Dumb mode example...
  • Page 17: Host Mode

    Host mode Figure 10 shows the process for an ATR110 in Host mode. Reader Idle Media Detected Imager and Illumination Activated Barcode Read Data Sent to Host. Imager and Illumination Deactivated Accept or Reject? Reject Accept Ignore Command or No Response within Timeout Lights ‘Bad Read’...
  • Page 18 Host decides to accept or AISXXR0 reject the data. Lights activated as defined in the ‘Good Read’ settings. No media detected for 0.5 seconds; ATR110 resets. 4.3.1.2 Reject Comments ATR Command to Host Host Command to ATR Media placed in front of ATR110.
  • Page 19: Interactive Mode

    Interactive mode Figure 11 shows the process for an ATR110 in Interactive mode. The host can send ‘Good Read’ and ‘Bad Read’ commands to the ATR110 at any time. Reader Idle Media Detected, Message Sent Untrigger Requesting Trigger Send Trigger?
  • Page 20 4.4.1 Interactive mode example ‘Good Read’ initiated by ATR110 detecting media 4.4.1.1 Comments ATR Command to Host Host Command to ATR [0x16][0x0D]TRIG:1[0x16][0x0A] Media placed in front of ATR110. The ATR110 sends commands to host notifying of media. [0x16][0x74][0x0D] Host sends a command to trigger the imager.
  • Page 21: Barcode Command Reference

    USB keyboard. To query the current settings (including a temporary one) Send the six-character command with a ‘?’ instead of the parameter and the ATR110 will return the command with the current setting.
  • Page 22: Prefix And Suffix Solutions

    Command Description Default Parameters/Range AISOMD Indicator mode setting. 0 - Dumb mode 1 - Host mode 2 - Interactive mode AISTAM Triggers Auto mode. 0 - Normal operation AISOMD Only used when is set to 2 1 - Automatic untrigger when media removed (Interactive).
  • Page 23: Atr110 Illumination

    ATR110 illumination The standard method of reading barcodes cycles the illumination on and off. You can control illumination for various different applications using the commands in Table 4. For example, it is often beneficial to turn off the illumination to prevent reflections from shiny surfaces, for example, mobile phones.
  • Page 24 Command Description Default Parameters/Range AISOFM Illumination off mode. 0 - Normal adaptive AISOFT When set to 0, the timing for the operation; uses illumination off period is set to a single timing value, AISOFT. AISOF1 1 - Cycles through When set to 1, the illumination off period AISOF3 timings cycles continuously (while triggered)
  • Page 25: Indicator Control

    Indicator control These commands control the behaviour of the ‘Good Read’ and ‘Bad Read’ LEDs, device LEDs and sounder. 5.4.1 Indicator LEDs These commands control the behaviour of the ‘Good Read’ and ‘Bad Read’ LEDs. Table 5. Indicator LED commands Command Description Default...
  • Page 26 5.4.3 LED and sounder commands On the ATR110, LED bank 1 is the front LED bank; LED bank 2 is the rear LED bank (in desktop orientation). LED locations A–D are from left to right (in desktop orientation). Figure 12. ATR110 LED locations Page 26 of 70 Copyright ©...
  • Page 27 Table 6. LED and sounder commands Command Description Default Parameters AISLCM LED control method. 0 - LSR110 1 - Enhanced 2 - Direct 3 - NFC AISLCT LED control. Used in Enhanced mode. 0 - Turn all LEDs off 1 - Turn on ‘Bad Read’ LED(s) 2 - Turn on ‘Good Read’...
  • Page 28 5.4.4 LED control direct parameter format The parameter is a 16-character string. The string consists of eight character pairs, each of which represents the state of an LED. The first four pairs represent the LEDs in LED bank 1 (front LEDs in desktop orientation), the remaining pairs represent the LEDs in LED bank 2 (rear LEDs in desktop orientation).
  • Page 29: Development Commands

    The firmware levels identify the release and build of a unit. Send the command to obtain this information. For example: SB 01.00.00 is a first generation ATR110. To check the latest firmware version or to update firmware, contact support@access-is.com. Table 9. Firmware and imager commands...
  • Page 30 1 - On 5.5.2 Status LEDs The ATR110 contains two small orange LEDs on the main circuit board, typically used for debug purposes only. We recommend turning these off in normal use. A typical configuration will have these turned off, but the default values will be as below (for...
  • Page 31: Triggering

    48 - Brownout status - Detection or reset (Diagnostic) 64 - Intelli sensor reset (Diagnostic) 128 - Watchdog reset (Diagnostic) Triggering These commands control triggering and untriggering of the ATR110. Table 11. Triggering commands Command Description Default Parameters/Range AISTUT Automatically untrigger.
  • Page 32: Counter

    5.6.1 Interactive mode The commands to trigger the ATR110 for Interactive mode do not follow the same format as [0x16][0x74][0x0D] described in Table 11. For Interactive mode, trigger commands are sent as...
  • Page 33: Nfc Operation

    Once communication is complete, or a user removes the card, the NFC module disconnects from the card and waits for another card connection. Figure 13 shows an overview of the process that the NFC module in the ATR110 uses to identify and communicate with contactless media.
  • Page 34 Figure 13. NFC module-contactless media process flow Page 34 of 70 Copyright © Access-IS 2016...
  • Page 35: Mifare Cards

    MIFARE cards When the reader detects NFC media, the application gets the ATR of the media. Since there is no ATR present for MIFARE media, the NFC module constructs an ATR from the fixed elements that identify the card. The ATR for MIFARE media is 20 bytes long. It has fixed values, with the exception of the 15 byte, which indicates the type of MIFARE media.
  • Page 36: Mifare Media Commands And Responses

    7. MIFARE media commands and responses This section describes the MIFARE media commands and responses for the NFC module. Note: The commands and responses in the examples in this section omit trailing zeroes. The command bytes have a command code, which is bit encoded as follows: 1 - RF selection prior to 1 - Authentication after RF Command function code...
  • Page 37: Mifare Load Key

    7.1.3 Example This command successfully retrieves the MIFARE media type (MIFARE Classic 4K) and the Unique Identifier (UID) of the card. [0x00][0x00] Command: [0x00][0x01][0x04][0x02][0x0A][0xA8][0x9C][0x90][0x00] Response: MIFARE load key Use this command to load the MIFARE key to access the protected sectors of the MIFARE media. You must execute this command before any operation that involves MIFARE authentication.
  • Page 38: Mifare Authenticate Block (Key A Or Key B)

    MIFARE authenticate block (key A or key B) Use this command to authenticate the specified MIFARE block against the MIFARE media’s internal Key A or B. You must load the MIFARE key using MIFARE load key (on page 37) before sending this command. The MIFARE authenticate block command is largely used for test purposes.
  • Page 39 7.4.1 MIFARE command bytes MIFARE command bytes Command header Command code Block number [0x00] [0x06] Block number Read block (Key A) [0x16] Read block (Key B) [0x46] Authenticate and read block (Key A) [0x56] Authenticate and read block (Key B) [0x86] [0xC6] RF select, authenticate and read block (Key A)
  • Page 40: Mifare Write Block (Key A Or Key B)

    MIFARE write block (key A or key B) Use this command to authenticate the specified MIFARE block against the MIFARE media’s internal Key A or B and then write the specified data into that block. You must load the MIFARE key using MIFARE load key (on page 37) before sending this command. Note: This command is NOT applicable to MIFARE Ultralight cards and fails if executed on Ultralight cards.
  • Page 41: Mifare Create Value Block (Key A Or Key B)

    MIFARE create value block (key A or key B) Use this command to authenticate the specified MIFARE block against the MIFARE media’s internal Key A or B and then create a value block in that block number. The value block is initialised to the specified 32-bit initial value.
  • Page 42: Mifare Increment Value Block (Key A Or Key B)

    7.6.3 Example This command successfully creates a value field in block number 4 and initialises the value to 0x00000001. This command uses the loaded key and authenticates against Key A in the media. [0x00][0x4A][0x04][0x00][0x00][0x00][0x01] Command: [0x00][0x4B][0x04][0x90][0x00] Response: MIFARE increment value block (key A or key B) Use this command to authenticate the given MIFARE block against the MIFARE media’s internal Key A or B and then increase the value stored in the value block.
  • Page 43: Mifare Decrement Value Block (Key A Or Key B)

    7.7.3 Example This command successfully increments the previously created value field at block number 4 by 0x00000001. The command uses the loaded key and authenticates against Key A in the media. [0x00][0x4C][0x04][0x00][0x00][0x00][0x01] Command: [0x00][0x4D][0x04][0x90][0x00] Response: MIFARE decrement value block (key A or key B) Use this command to authenticate the specified MIFARE block against the MIFARE media’s internal Key A or B and then decrease the value stored in the value block.
  • Page 44: Mifare Ultralight Read Block

    7.8.3 Example This command successfully decrements the previously created value field at block number 4 by 0x00000001. The command uses the loaded key and authenticates against Key A in the media. [0x00][0x4E][0x04][0x00][0x00][0x00][0x01] Command: [0x00][0x4F][0x04][0x90][0x00] Response: MIFARE Ultralight read block Use this command to read the contents of the specified block. The Ultralight card blocks are only 4 bytes long.
  • Page 45: Mifare Ultralight Write Block

    7.10 MIFARE Ultralight write block Use this command to write data to the specified block. Note: This command is applicable ONLY to MIFARE Ultralight cards and fails if executed on other MIFARE card types. 7.10.1 MIFARE Ultralight command bytes MIFARE Ultralight command bytes Command header Command code Block...
  • Page 46: Mifare Ultralight-C Authenticate - Part 2

    7.11.2 MIFARE Ultralight-C response bytes MIFARE Ultralight-C response bytes Response header Response code Block number Response Status bytes cryptogram(1) [0x00] [0x25] [0x90][0x00] Ignored 9 bytes starting [0xAF] with Success [0x69][Status Code] Failure (1) This field is present only if the command is successful. Refer to page 48 for information on MIFARE failure status codes.
  • Page 47: Mifare Transceive Direct

    7.12.2 MIFARE Ultralight-C response bytes MIFARE Ultralight-C response bytes Response header Response code Block number Response Status bytes cryptogram (1) [0x00] [0x25] [0x90][0x00] Ignored 9 bytes starting [0x00] with Success [0x69][Status Code] Failure (1) This field is present only if the command is successful. Refer to page 48 for information on MIFARE failure status codes.
  • Page 48: Mifare Failure Status Codes

    7.13.1 MIFARE command bytes MIFARE command bytes Command header Command code Block number Data bytes [0x00] [0x28] Ignored Bytes to send to the MIFARE media MIFARE transceive direct 7.13.2 MIFARE response bytes MIFARE response bytes Response header Response code Block number Response bytes (1) Status bytes [0x00]...
  • Page 49 MIFARE failure code Failure description [0x88] Increment value block failed [0x89] Decrement value block failed [0x8A] Transfer value block failed (this is an internal command failure) [0x8B] MIFARE Ultralight-C Authentication Part 1 failed [0x8C] MIFARE Ultralight-C Authentication Part 2 failed [0x8D] MIFARE direct transceive failed Page 49 of 70...
  • Page 50: Nfc Module Management Interface Commands

    8. NFC module management interface commands The NFC module exposes a HID interface, known as the Management Interface. Your application software uses the Management Interface to manage and configure the NFC module. This section of the manual describes the command set and its responses. ...
  • Page 51: Get Bootloader Version

    Get bootloader version Use this command to retrieve the bootloader version on the NFC module. 8.2.1 Management command bytes Byte Command/Value Comments [0x01] Command byte [0x00] [0x00] 1–63 Unused bytes, set to 8.2.2 Management response bytes Byte Response/Value Comments [0x01] Command echoed Bootloader major version Bootloader minor version...
  • Page 52: Get Serial Number

    Use this command to set various operating timings for the NFC reader. This is an 11-byte command starting for the command byte. Warning: Access-IS optimise the NFC timings for the ATR110 and these values should not need to be changed. The NFC module does not modify a timing value if its value is set to zero (0) when you send the command.
  • Page 53: Get Nfc Timings

    Byte Command / Value Comments [0x00] RF reset time for media polling (Least Default - 0 milliseconds Significant Bit (LSB)) [0x64] RF reset time for media polling (LSB) Default - 100 milliseconds [0x14] Media warm up time in milliseconds Default - 20 milliseconds [0x00] RF reset time during MIFARE select Default - 0 milliseconds...
  • Page 54: Enter Sleep Mode

    8.6.2 Management response bytes Byte Response/Value Comments [0x06] Command echoed [0x00] Same as command byte 1 [0x80] Same as command byte 2 [0x00] RF reset time for media polling (LSB) Default - 0 milliseconds [0x64] RF reset time for media polling (LSB) Default - 100 milliseconds [0x14] Media warm up time...
  • Page 55: Exit Sleep Mode

    Use this command to control the LEDs in the ATR110. On the ATR110, LED bank 1 is the front LED bank; LED bank 2 is the rear LED bank (in desktop orientation). LED locations A–D are from left to right (in desktop orientation).
  • Page 56 Figure 14. ATR110 LED locations 8.9.1 Management command bytes The LED control command comprises a command byte and eight bytes that specify the LED bank and number that you want to control. Command Bank 1 Bank 1 Bank 1 Bank 1...
  • Page 57: Get Nfc Kernel Version

    8.9.3 Examples This command switches LED A in bank 1 on. The LED illuminates blue. Binary = 00001101, Hex = [0x0D] [0x0A][0x0D] Command: [0x0A][0x90][0x00] Response: This command switches LED A in bank 1 and bank 2 on using the ‘common’ setting. The LED illuminates blue.
  • Page 58: Get Media Serial Number

    8.11 Get media serial number Use this command to get the media serial number. Table 16 shows the data element returned by the reader for different types of media. Table 16. Media types and data elements returned by the ATR110 Media type Data element...
  • Page 59 Media type Type value Current support [0x06] MIFARE Plus [0x07] Felica media [0x08] ISO15693 [0x09] NFC Type 1 Tag [0x0A] NFC DEP media Page 59 of 70 Copyright © Access-IS 2016...
  • Page 60: Nfc Module Serial Number Matching

    A. NFC module serial number matching The NFC module exposes a maximum of five CCID smartcard readers and one HID interface for management. It may be possible that a system is connected to two or more modules. In this scenario, the application software should perform serial number matching to determine which readers are physically present together in one module.
  • Page 61: Hid Reports - Barcode Only

    B. HID reports - barcode only B.1 Receive data Data received from the ATR110 will be in a HID input report, structured as below: Byte Report ID = 2 Length of data field AIM symbology identifier (always ‘]’) AIM symbology identifier 1...
  • Page 62: Send Commands

    [0x20]100 [0x00] [0x00] [0x00] [0x00] [0x73] - ‘s’ [0x00] B.2 Send commands To send commands to the ATR110, use a HID out report with the following structure: Byte Report ID = 253 Data length Output data (up to 62 bytes) B.2.1 Example output report to request firmware version...
  • Page 63: Trigger Controls

    B.3 Trigger controls To set the device status or to sound flash the ‘read’ lights on the device, send a HID output report with the following structure: Byte Report ID = 4 Flash Flash Initiate Prevent ‘Good ‘Bad barcode barcode Read’...
  • Page 64: Nfc Module Example Code And Api Functions

    C. NFC module example code and API functions This section presents code snippets for the NFC module process flow (see Figure 13 on page 34). The main API functions in are shown in red. C.1 Initialise smartcard sub-system // Try to establish the Smartcard sub-system context while(SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hRFIDContext) != SCARD_S_SUCCESS) Sleep(1000);...
  • Page 65: Get Atr Of The Card

    C.4 Get ATR of the card RcvLength = 128; if(SCardStatus(hCrd, (LPSTR)_Buffer, &RcvLength, NULL, NULL, ATR, &_ATRLen) != SCARD_S_SUCCESS) SCardDisconnect(hCrd, SCARD_LEAVE_CARD); MessageBox(“Unable to get ATR of card”); else MessageBox(“ATR successful”); C.5 Communicate with card RcvLength = RX_BUFFER_SIZE; if(SCardTransmit(hCrd, &SendPci, TX_Buffer, Transmit_Length, NULL, RX_Buffer, &RcvLength) != SCARD_S_SUCCESS) MessageBox(“Communication failed”);...
  • Page 66: Ascii Character Reference

    D. ASCII character reference Symbol Description Null char Start of heading Start of text End of text End of transmission Enquiry Acknowledgment Bell Back space Horizontal tab Line feed Vertical tab Form feed Carriage return Shift out / X-on Shift in / X-off Data line escape Device control 1 (oft.
  • Page 67 Symbol Description & Ampersand Single quote Open parenthesis (or open bracket) Close parenthesis (or close bracket) Asterisk Plus Comma Hyphen Period, dot or full stop Slash or divide Zero Three Four Five Seven Eight Nine Colon Semicolon < Less than (or open angled bracket) Equals >...
  • Page 68 Symbol Description Uppercase N Uppercase O Uppercase P Uppercase Q Uppercase R Uppercase S Uppercase T Uppercase U Uppercase V Uppercase W Uppercase X Uppercase Y Uppercase Z Opening bracket Backslash Closing bracket Caret - circumflex Underscore Grave accent Lowercase a Lowercase b Lowercase c Lowercase d...
  • Page 69 Symbol Description Lowercase v Lowercase w Lowercase x Lowercase y Lowercase z Opening brace Vertical bar Closing brace Tilde Delete Page 69 of 70 Copyright © Access-IS 2016...
  • Page 70: Document History

    E. Document history Issue Date Description 15.03.2016 First release Page 70 of 70 Copyright © Access-IS 2016...

Table of Contents