OPN2002

Revision as of 29 October 2010 12:44 by smcghee (Comments | Contribs) | (Application) m

The OPN2002 is Opticon's most popular Bluetooth scanner. Armed with a variety of connection options and the ability to run customizable embedded applications created with the C-Library Kit, the OPN2002 is an incredibly versatile scanner in the same attractive form factor of the OPN2001.

Downloads


Notice
The downloading and use of any Opticon software implies consent with Opticon's End User License Agreement.

Documents

Document Description Download
Quick Start Guide This is the first step for someone setting up the OPN 2002 for the first time via Bluetooth. Be certain to pay attention to which page of instructions you follow. Page 1 is for Bluetooth Serial Ports and Page 2 is for Bluetooth HID Keyboards. If uncertain which one to use, use page 2. Download
User Manual: Bluetooth Demo This is the user manual for the standard Bluetooth demo application, which is pre-loaded on all OPN2002s prior to shipping. Download
User Manual: Storage Demo This is the user manual for the standard storage demo, which is designed to demonstrate the OPN2002's storage (batch) capabilities. This demo does not provide Bluetooth functionality, and is meant mostly to demonstrate how to store barcodes for customers that want to create their own customized, embedded application. Download
User Manual: OPN2001 Simulation Application This manual describes the usage of the OPN2001 Simulation Application, an embedded application published by Opticon for the OPN2002, that enables the OPN2002 to behave as an OPN2001 with regard to user behavior and PC interaction. Windows and Mac software specifically written for the OPN2001 is required to transfer or receive data from an OPN2002 running this application. Download
DataSheet Technical details at a glance. Download
Specification Manual This document provides detailed specifications for the OPN2002. For advanced users and system integrators only. Download


Software

Software Description Download
Appload Appload is Opticon's multi-purpose utility for installing firmware onto devices such as the OPN2002. Currently Windows only. Download
Firmware: OS One of two pieces of firmware required for the proper functioning of the OPN2002. Appload (see above) is required for loading the OS onto the OPN2002. Download
Firmware: iOS Demo This standard demo application combines all the features of the Bluetooth Demo below, with the added capability of toggling the iOS (iPhone/iPad/iPod) system soft keyboard, while still connected, via a single press of the OPN2002's clear key. This feature can be turned on by scanning the IOSON menu label, which is included with the software download. Appload (see above) is required for loading this application onto the OPN2002. Download
Firmware: Bluetooth Demo This standard demo application provides Bluetooth functionality and data transfer for both HID and SPP modes. Batch storage is not supported. This application is pre-loaded on all OPN2002s prior to shipping. Appload (see above) is required for loading this application onto the OPN2002. Download
Firmware: Storage Demo This standard demo application provides batch storage of scanned barcodes. As this demo does not enable Bluetooth pairing or data transmission, all data must be transferred to a host (typically a Windows PC) via USB. Appload (see above) is required for loading this application onto the OPN2002. Download
Firmware: OPN2001 Simulation Application This OPN2002 application enables the OPN2002 to behave as an OPN2001 with regard to user behavior and PC interaction. Windows and Mac software specifically written for the OPN2001 is required to transfer or receive data from an OPN2002 running this application. Appload (see above) is required for loading this application onto the OPN2002. Download
SDK: C-Library Kit The OPN2002 SDK is called the C-Library Kit. Embedded applications are written in C and are compiled with the WinARM GCC compiler. The compiler, source files, API information, libraries, sample code, and examples are provided in the download. Download


Drivers

Platform Description Download
Windows 32-bit USB-to-serial drivers for 32-bit flavors of Windows. Download
Windows 64-bit USB-to-serial drivers for 64-bit flavors of Windows. Download

Concepts and Definitions

  • Fixed PIN: a PIN code that is preset in the OPN2002. Typically the last 4 characters of the OPN2002's Bluetooth name.
  • Dynamic PIN: a PIN code that is determined at pair time by the Bluetooth host.
  • HID: Human Interface Device. In the case of the OPN2002, it's recognized as a Bluetooth HID keyboard, meaning that each character of a scanned barcode is transmitted to the host as a keyboard press. HID devices cannot be used as a master at pair time, but after pairing with a Bluetooth host, can switch roles and become master devices for reconnection purposes.
  • SPP (VCP): Serial Port Profile (Virtual COM Port). In the case of the OPN2002, it sends data serially to a serial port on the Bluetooth host. Software running on the host can read from that serial port to capture the data.
  • Embedded Firmware: The embedded OS and application that is present on the OPN2002, and required for its function.
  • Embedded OS: A binary common to all OPN2002s that enables the OPN2002 to function and exposes an API that the OPN2002's embedded applications utilize to "drive" the device.
  • Embedded Application: A binary produced either by Opticon or by a third party utilizing the C-Library Kit; implements the "user interface" and drives the behavior of the OPN2002.
  • Default Firmware, OS, or Application: Refers to standard Opticon software for the OPN2002, typically installed on the OPN2002 at the factory and present out-of-the-box. The OS version string is always RBGVXXYY, where XX denotes the major revision and YY denotes the minor revision. The application version string is RFGAAABB, where AAA denotes the major revision and BB denotes the minor revision. Occasionally, the first 'A' in RFGAAABB is a letter, denoting the Opticon office responsible for developing the software.

Supported Platforms

The OPN2002 is usable on wide variety of platforms and Bluetooth stacks.

Supported platforms include:

  • Mac OS X
  • iOS 4+ (including iPads running iOS 3.2) (currently HID only)
  • Windows (all flavors)
  • Windows Mobile
  • Linux
  • Android (SPP only)
  • BlackBerry (SPP only)

Note that OpticonRL is available for those platforms that only permit Bluetooth SPP (as well as some that permit both). For example, versions of OpticonRL exist for both Android and BlackBerry. This enables customers to get barcode data into their applications with a minimal amount of effort: OpticonRL transforms received serial data into keyboard presses, in effect "wedging" barcode data into applications.

Setup & Configuration

Usage

Upgrading

Operating System

OS files are provided by Opticon and always follow a naming convention beginning with RBGV (e.g. RBGV0215.hex).

  1. Download necessary files.
  2. Install USB Drivers
    • Unzip the USB file downloaded in step 1.
      • (commonly this is done by right-clicking on the .zip file in Windows and selecting 'Extract All')
    • double-click the extracted driver install file. The installer is simple and straight forward. You may need to click 'next' a few times but the process is otherwise automatic. If you receive an error message you may need to download the other installer (32 bit instead of 64 bit or vice versa).
  3. Install Appload
    • Unzip the file Appload EAGV0142.zip by right-clicking and selecting 'Extract All'
    • double-click the resulting file 'Appload Setup.exe' which will start the install wizard. You may need to select 'next' a few times and are allowed to choose the install folder and whether Appload places an icon on your desktop. You may simply choose the defaults for all options. Appload will launch at the end of the install process.
  4. Connect the OPN-2002 to your PC
  5. Install the OS firmware
    • Launch Appload (if it is not already running).
    • select 'Settings' > 'Port' > choose the port that says 'Opticon USB Code Reader (1D)'
    • select 'Settings' > 'IrDA Adapter/Cradle type' > 'Not installed'
    • select 'File' > 'Download' > browse to the OS file downloaded in step 1 and select it.

Application

Application files could be provided by Opticon, a reseller, or any other third party. Please be sure you download the correct files. Opticon pre-loads a Bluetooth demo application on each unit from the factory. This demo is the one linked below. If you have a different application to load, please substitute the demo application with your own for those steps where it is used.

  1. Download necessary files.
  2. Install USB Drivers
    • Unzip the USB file downloaded in step 1.
      • (commonly this is done by right-clicking on the .zip file in Windows and selecting 'Extract All')
    • double-click the extracted driver install file. The installer is simple and straight forward. You may need to click 'next' a few times but the process is otherwise automatic. If you receive an error message you may need to download the other installer (32 bit instead of 64 bit or vice versa).
  3. Install Appload
    • Unzip the file Appload EAGV0142.zip by right-clicking and selecting 'Extract All'
    • double-click the resulting file 'Appload Setup.exe' which will start the install wizard. You may need to select 'next' a few times and are allowed to choose the install folder and whether Appload places an icon on your desktop. You may simply choose the defaults for all options. Appload will launch at the end of the install process.
  4. Connect the OPN-2002 to your PC
  5. Install the Application firmware
    • Launch Appload (if it is not already running).
    • select 'Settings' > 'Port' > choose the port that says 'Opticon USB Code Reader (1D)'
    • select 'Settings' > 'IrDA Adapter/Cradle type' > 'Not installed'
    • select 'File' > 'Download' > browse to the Application file downloaded in step 1 and select it.

SDK

Of crucial note is that the OPN2002 does not have an SDK for the platforms it supports. Given the fact that it can transmit data serially via Bluetooth SPP or its USB port, or can transmit data as a Bluetooth HID (keyboard) device, SDKs for the various platforms the OPN2002 supports are not required. This is because the manufacturers of those platforms provide APIs for accessing serial ports and managing Bluetooth connections.

When talking about an SDK in relation to the OPN2002, what is referred to is the C-Library Kit. With the C-Library Kit installed, developers are able to create and customize embedded applications for the OPN2002, thus changing and customizing its behavior to better suit their use cases.

FAQ


I'm trying to connect the OPN2002 to my Mac in SPP (VCP) mode, but I can't seem to get the pairing to complete.

So Unix machines - which is what a Mac essentially is - have their serial ports implemented in a different way, from what you might be used to with a Windows PC. When a serial device is connected to the Mac, and the kernel is able to map a valid kernel driver to it, a POSIX device file is created under /dev/ for that serial port. After that, programs can read and write to this file, which becomes the same thing as reading and writing from a serial port. Windows uses a similar concept with COM (serial) ports, just implemented slightly differently.
Now, when you connect the OPN2002 to the Mac using Bluetooth VCP (SPP), one of these POSIX device files is created in /dev/. To finish the initial connection, that file must be opened with a program that is able to open device files. To test this yourself, you can use the Terminal program, and run the 'cat' command against the new file that was created under /dev/ while the pairing process was taking place. After that, the initial pairing should complete successfully.

I have the OPN2001 Simulation Application installed on my OPN2002. The OPN2002 seems to behave as an OPN2001 in USB mode, but how do I know if the OPN2002 has stored data or not when using Bluetooth?

Have you tried the csp2GetDSR() function (GetDSR() for the .NET wrapper)? It simulates the RTS signal over Bluetooth VCP; the RTS signal is normally how the OPN2001 signals that it has data to be downloaded. DSR stands for Data-Signal-Ready.

Why doesn't my pairing seem to finish when I try to connect my OPN2002 in SPP mode?

The (outgoing) serial port needs to be opened on the Bluetooth host after pairing is complete if the OPN2002 is connecting as a slave; if the OPN2002 is connecting as a master, the (incoming) serial port on the Bluetooth host must be open prior to the pairing attempt for the pairing to succeed.

Why doesn't the OPN2002 reconnect? I'm paired and everything!

If the OPN2002 is to reconnect in slave mode, the user must make the OPN2002 connectable first. With the OPN2002's standard demo application, this is done by holding the small clear key for 5 seconds. All of the aformentioned is true for both HID and SPP mode; however, SPP has the additional caveat of the Bluetooth host opening its (outgoing) serial port in order for the reconnection to truly finish. In master mode, the user must make the OPN2002 initiate a reconnection to the Bluetooth host (with the standard demo application, by holding the trigger key for 5 seconds); however, SPP has the additional caveat of the Bluetooth host having already opened its (incoming) serial port prior to the reconnection attempt in order for the reconnection to ultimately finish.

I bought one of those cool CRD2000 things, which holds and charges 10 OPN2002s. Can I use that to load software on, or download data from, multiple OPN2002s at once?

Yes. After the release of OS RBGV0207 and Appload version 1.39, it became possible to update the software on multiple OPN2002s in a single CRD2000. It operates in a sequential fashion, moving from one OPN2002 to the next.
If you have an embedded application on the OPN2002 that stores scanned barcode data, you can also download the stored data from multiple OPN2002s using Opticon's NetO32 program - assuming each OPN2002 has a unique terminal ID set.

Will my COM port change if I reconnect my scanner in SPP mode, but I already have a pairing established between the two devices?

It depends. Are you reconnecting the OPN2002 as a master or a slave? If you're reconnecting the OPN2002 in the same mode you first paired it to the host with, you'll use that same serial port you opened on the host when the pairing took place. If you're reconnecting in the other mode, it will be with a separate serial port.

Is there a way to make the OPN2002 connectable but not discoverable?

Uh-uh. (They both occur when you hold down the little clear key; the context in which you use it will determine if the OPN2002 is ultimately connectable or discoverable. For example, if you've previously paired the OPN2002 with a host device, and you want that same host to reconnect to the OPN2002, holding down the clear key makes it connectable in this context; if you want to connect the OPN2002 to a different host device, holding down the clear key makes it discoverable in that context.)

Can I send commands to my OPN2002 over Bluetooth SPP?

Sure. With the OPN2002's default firmware (OS and application), you can send Universal Menu Book commands, in the format <ESC><COMMAND><CR>. E.g. <ESC>Z1<CR> returns the software version. You can also customize the OPN2002's embedded application to support whatever commands and/or protocol you define.

Can I connect to the OPN2002 when it's not discoverable?

No; a Bluetooth device must be discoverable and/or connectable to be connected to. With default firmware, the clear key serves to toggle making the OPN2002 discoverable AND connectable simultaneously; given the limited number of buttons on the device, this is necessary.

Why doesn't the OPN2002 have an "Eject key" function, like the Apple Bluetooth keyboard, to quickly toggle the iPad/iPhone/iPod system soft keyboard?

This feature has been added to RBGV0216, and can be enabled by scanning the IOSON menu label that comes with the iOS demo application. See the Downloads section above.

Am I able to change the defaults of the OPN2002's embedded application and the OPN2002 itself?

Yes. You can either customize the embedded application to set new defaults for the application, the scan engine, or the device itself, by customizing the embedded application's source code, recompiling it, and loading the resultant binary on the OPN2002 (requires the C-Library Kit; or you can use the Universal Menu Book to configure certain options and have them "memorized" (saved to flash).

Can I customize, or provide my own handlers, for certain Universal Menu Book codes?

Yes; check out the ExecuteMenuLabel() function in the C-Library Kit's help file.

I can't pair to a PC using the WIDCOMM stack when my OPN2002 is in HID mode. Help!

What's happening here is that the WIDCOMM stack is presuming that it will dynamically determine the PIN code the OPN2002 should supply during pair time. If your OPN2002 is set to use a predefined, fixed PIN code, then the pairing process will error out. Setting the OPN2002 to use a dynamic PIN code will fix the problem and enable you to pair the OPN2002 to your PC.

OS Release Log

Note: Not all possible versions are represented. Changes omitted affect only factory testing and provisioning and do not affect end users or system integrators.

Version Date Changes
2.16 (RBGV0216) 10/26/10 - Added check of Bluetooth link quality before sending data in SPP mode
- Added support for iPad/iPhone/iPod soft keyboard display while connected
2.15 (RBGV0215) 07/02/10 - Added provisions to prevent losing Bluetooth pairings in the event of complete power loss
- Updated decoders
- Fixed reconnection problems with iPad 3G
2.14 (RBGV0214) 04/22/10 - Implemented RTS/CTS/DTR/DSR functionality for compatibility with OPN2001 SDK
2.12 (RBGV0212) 03/29/10 - Fixed Bluetooth HID bugs
- Added features necessary for compatibility with the OPN2001 Simulation Application
2.09 (RBGV0209) 02/03/10 - Fixed reconnection issues with Macintosh computers and BlackBerry devices
2.07 (RBGV0207) 12/08/09 - Fixed bugs in autopowerdown (sleep) feature
- Fixed bugs in NetO transport protocol
- Added support for CRD2000 cradle
2.06 (RBGV0206) 11/03/09 - First release build

Links