Autoread with unidirectional communication

Use case

  • You want to read a number from the card.
    (For all other read operations, use VHL.)
  • You don't want to actively retrieve read results.
  • You don't need to control reader feedback (e.g. LED and beeper) via the host.
  • You don't need to update the firmware or configuration via the host.

Implementation overview

What is Autoread?

The reader scans for cards and reads them autonomously (learn more).

How it works

  • Configure the reader for your cards type(s). You can use our GUI tools BALTECH ToolSuite to conveniently create and deploy the configuration (including wireless deployment options).
  • The reader autonomously polls for cards and reads them.
  • Once it has read a card, it actively forwards the read result to the host.
  • Define the feedback to the card holder as part of the reader configuration.

Diagram showing a BALTECH reader in Autoread mode with unidirectional communication

Supported interfaces

  • RS-232
  • USB virtual COM port (recommended when not using the SDK, required for RDP)
  • USB keyboard emulation

    Keyboard emulation is only recommended if your productive devices have neither keyboard nor mouse. Otherwise you run the risk of having the keyboard input unintentionally directed to applications other than yours as the reader output can be fed into any editor.

Alternatives

Use Autoread via BRP if:

  • You want to use Ethernet.
  • You want to control reader feedback (e.g. LED and beeper) via the host.
  • You want to update the firmware or configuration via the host.
  • You want the option to "upgrade" to VHL later.

Your workflow

Configure the reader

To prepare readers for access from your application, please create a configuration. Alternatively, you can order a configuration from us.

Required equipment

  • A Windows computer with BALTECH ToolSuitecall_made installed
  • A test reader you can connect to your computer.
    If the productive reader type doesn't provide a USB connection, we recommend you use an ID-engine ZB to create and test the configuration.
  1. Create a configuration file.
  2. Add device settings to enable the host protocol and (as an option) define reader feedback (e.g. LED and beeper).
  3. Transfer your draft configuration to the test reader to later test your application.

This registers a new virtual COM-port device

Once you deploy a RawSerial configuration to the reader, a new virtual COM port device will be registered with the computer. However, HID is still used for the connection with BALTECH ToolSuite applications.

Retrieve results via RS-232/virtual COM port

Identify the COM port associated with the reader

With a firmware version below 1.23.00, please look for the reader via the following filename:

  • Windows: \\.\COMx
  • macOS: /dev/cu.usbmodem*
  • Linux: /dev/ttyACMx

As of firmware version 1.23.00, you can iterate through the COM ports of the system as follows:

  1. Open the port and send the ASCII character ? (0x3F) to the device.
  2. Wait 100 ms for a response.
  3. If the device is a BALTECH reader, the response starts with
    BALTECH Reader\n, followed by the reader firmware stringcall_made.

Example: BALTECH Reader\n1100 IDE Z 1.22.00 05/18/20 40020212\n

If you get no response or a different one, repeat the process with the next COM port.

You can try this using a terminal software. Here's how it works with Tera Termcall_made:

  1. Open Tera Term and select Serial.
    Screenshot: New serial connection in Tera Term

  2. In the terminal, type ?.

  3. A BALTECH reader will respond as shown in the screenshot below.
    Screenshot: BALTECH reader response to the command '?' in Tera Term

  4. If you get no response or a different one, try the next port. To do so, click Setup > Serial Port... and select a different port.
    Screenshot: Select a different serial port in Tera Term

Test the host interface

Again, you can use a terminal software such as Tera Term.
When placing a card in front of a test reader, the card's number is returned in ASCII (hex) format with a carriage return line feed at the end.

Read the card number with your host application

You can read the number using a terminal software or an application that can read data via a serial interface. Make sure you open the RS-232 interface or virtual COM port respectively.
When working on Linux and your process isn't running as root, please assign the process permissions to access the reader.

Parallel transmission via both serial interfaces

The reader will send data via both RS-232 and virtual COM port. Thus, it's theoretically possible to connect a reader to 2 applications at the same time.

Retrieve results via keyboard emulation

Test the host interface using any text editor, e.g. Notepad. When placing a card in front of a test reader, the card's number is returned in ASCII (hex) format with a carriage return line feed at the end.

What's next?

That's it for the development part. The next step is to create project settings with card-specific information and integrate the readers with your application. For the full workflow, please refer to this step-by-step guide.

Is this done by someone else?

Then please hand them your configuration if you've created one. Make sure you finalize the configuration first.

Troubleshooting & support

Got stuck somewhere along the way? Don't worry, we'll help you troubleshoot: