Prototype 2D-Barcode (PDF417) Scanning System Laslo Turner

Similar documents
The Barcode Printing option may be purchased for an additional cost. You will receive a CD that you will use to activate this feature.

May Prepared: Product version: Keyword: Accelio Present Central 5.4. Original value:

BARCODE PRINTING SET UP BARCODE PRINTING

GS1 QR Code. GS1 US Guideline

T GG GG P IT RO Q U Q I C I K K S T S A A T R T G U D

Retail POS User s Guide. Microsoft Dynamics AX for Retail

2D symbols in distribution and logistics

QR Codes and Other Symbols Seen in Mobile Commerce

USER MANUAL (PRO-CURO LITE, PRO & ENT) [SUPPLIED FOR VERSION 3]

The ID Technology. Introduction to GS1 Barcodes

Barcode Definitions. Labels: Getting Started. Overview. Defining a barcode definition

Frequently Asked Questions

Automated Inventory System

Create!form Barcodes. User Guide

HHSL Barcode Guidelines Version September 2, 2014 HHSL Barcode Guidelines Version September 2, 2014 Page #1 of 14

Contents. Bar code data transmission specifications...b-1. A October 1997 i

A Brief History of Barcode Verification

SalesPad InventoryControl InventoryControl User s Manual A software product created by SalesPad Solutions, LLC Copyright

Let s talk symbology. A guide to decoding barcodes

UCC 128 Carton Label

Microsoft Office. Mail Merge in Microsoft Word

Table of Contents. GETTING STARTED...1 Technical Support...1 Scanner Configuration...2 Login and Select a Mode...4

Click to Continue 9/3/2013

Arduino Lesson 1. Blink

Laser Scanner Programming Guide (SE923 laser engine)

FLEETMATE. Overview. Barcode Scanner. CUSTOMER GUIDE: Barcode Features

User Manual Microsoft Dynamics AX Add-on LabAX Label Printing

User Manual. BarcodeOCR Version: September Page 1 of 25 - BarcodeOCR

ELFRING FONTS UPC BAR CODES

Customer Barcoding Technical Specifications

Deposit Direct. Getting Started Guide

USER'S GUIDE NUSCAN 2100 Series

General Guidelines from the Uniform Code Council (UCC) and EAN International

Star System Salon Management Software. Powerful Effective Easy to Use

white paper JANUARY 2011 The Next- Warehouse Scanning and the Emergence of 2D Bar Codes

Barcode Based Automated Parking Management System

A Barcode Primer for Manufacturers Dr. Peter Green BellHawk Systems Corporation


Barcodes principle. Identification systems (IDFS) Department of Control and Telematics Faculty of Transportation Sciences, CTU in Prague

Metrologic MS1690 2D Scanner Installation Guide

Digital Voice Services User Guide

User Manual. AS-Interface Programmer

Remote. Web Client Overview Version 8.0

Synergy Controller Application Note 4 March 2012, Revision F Tidal Engineering Corporation Synergy Controller Bar Code Reader Applications

The Keyboard One of the first peripherals to be used with a computer and is still the primary input device for text and numbers.

ACCESS 2007 BASICS. Best Practices in MS Access. Information Technology. MS Access 2007 Users Guide. IT Training & Development (818)

Introduction to dobe Acrobat XI Pro

Merging Labels, Letters, and Envelopes Word 2013

Bar Codes. A Primer for Document Management

SocketScan Software Advanced Programming Guide

Laser Barcode Scanner User s Manual

Smart Shopping Cart. Group 5. March 11, Advisor: Professor Haibo He

Lexmark Printers and Multifunction Products: Hard Disk and Non-Volatile Memory Guide

2D ~ Matrix ~ Data Matrix ~ PDF417 ~ Stacked Barcodes

AFN-FixedAssets

Barcoding 101 for Manufacturers: What You Need to Know to Get Started

Identification of products that require activation at the Pointof-sale. The global language of business. in Europe

PRT3 Printer Module: ASCII Protocol Programming Instructions

Quick Reference. Store this guide next to the machine for future reference. ENG

Barcode Support. Table of Contents

To effectively manage and control a factory, we need information. How do we collect it?

Lesson 10: Video-Out Interface

COM Port Stress Test

Packaging Identification Standard

Understanding barcodes.

Online. On the Phone. In Person.

Simple Invoicing Desktop Database with MS Access c 2015 by David W. Gerbing School of Business Administration Portland State University

Employer Portal User Guide Last Updated: October 2015

Programming Reference Guide HP USB Barcode Scanner

User's Manual SAM 2.7 PPC 5.3.3

Winzer Corporation 1 Revision: 4.0

Laser Barcode Scanner

GS1-128 CARTON LABELING

SAP Business Intelligence ( BI ) Financial and Budget Reporting. 7.0 Edition. (Best Seller At Least 43 copies Sold)

Wireless Service Advisor (WSA)

AN INTRODUCTION TO THE GLOBAL DOCUMENT TYPE IDENTIFIER (GDTI) TABLE OF CONTENTS

Contents. Launching FrontPage Working with the FrontPage Interface... 3 View Options... 4 The Folders List... 5 The Page View Frame...

Programming Logic controllers

Using Microsoft Office XP Advanced Word Handout INFORMATION TECHNOLOGY SERVICES California State University, Los Angeles Version 1.

Mini Portable Reader (MPR) Model HS 5900L F

Enhanced Bar Code Engine

Bitrix Site Manager 4.0. Quick Start Guide to Newsletters and Subscriptions

Implementing Specialized Data Capture Applications with InVision Development Tools (Part 2)

The Use and Standardization of Barcodes in Railroad Wheel and Wheelset Manufacturing. Tim Epperson

DUET / VS800 Scanner. DUET Scanner VS800 Scanner. Programming Kit

CHAPTER I INTRODUCTION

Configuration Programme

All V7 registers support barcode printing, except the Sharp 410/420 1A ROM and that limitation is based upon the register.

POCKET READER AND POCKET READER EX MANUAL

THE VALSPAR CORPORATION

The process to convert a computer message into a bar code symbol is a fourstep

S7 for Windows S7-300/400

Wireless Laser Barcode Scanner ils 6300BU. User s Manual

NiceLabel Designers Version 6.1 Release Notes. Rev-1305

RESEARCH. Figure 14-1 Research Options on Main Menu. All 4 Catalogs will search the Objects, Photos, Archives, and Library catalogs.

Barcode Labels Feature Focus Series. POSitive For Windows

INTELLIGENT MAIL BARCODES FREQUENTLY ASKED QUESTIONS:

BAR CODE 2 OF 5 INTERLEAVED

The Truth About UPC Bar Codes

Understanding barcodes. White paper

Transcription:

Technical report ECE.P54.2002.18 09/27/02 Prototype 2D-Barcode (PDF417) Scanning System By Laslo Turner

Table of Contents Abstract...3 Introduction...4 Background...5 Barcode Technologies...5 The PDF417 Standard...6 License Data Format...9 System Hardware...11 Graphical User Interface...12 The software structure...17 Conclusion...20 List of References...20-2 -

Abstract The Consolidated Advanced Technologies for Law Enforcement Program (Project54) is a collaborative research and development effort between the University of New Hampshire and the New Hampshire Department of Safety [1]. The goal of Project54 is the integration of electronic devices within police mobile units into one common system, with a single user interface. The integration of electronic devices implies the integration of hardware, software and the user interfaces of the equipment that an average police cruiser has. One of these devices is the barcode scanner. A commercial, 2D barcode scanner was integrated into the Project54 system. The resulting Prototype 2D- Barcode (PDF417) Scanning System allows the scanning of 2D barcodes on NH driver s licenses in order to acquire data from them. Also the Scanning System Software was connected to the Project54 Records Application in order to provide a way for officers to quickly and efficiently check databases. - 3 -

Introduction While performing their jobs, NH State Troopers make frequent database queries on driving records. The scanner system will allow police officers to read the data from the driver s license and immediately bring up the records of the driver. The main goal of this project was to integrate a barcode scanner into the Project54 system. The main goal comprised three partial goals. The first partial goal was to provide a power supply for the scanner. The second partial goal was to create a software application to control the scanner within the Project54 system. The third partial goal was to allow voice control of the scanner. The system was designed to be used within the main Project54 application and the existing Intelligent Transportation System Data Bus (IDB) network. The barcode scanner, as every other device in this system, was connected to the IDB via its own Common IDB Interface (CIDBI) device [2]. While several devices were successfully integrated into the Project 54 system, the integration of the scanner presented a new problem. The scanner needs a power supply of 5V and 300mA, but the Common IDB Interface can supply devices only with 5V and 150mA, which is not enough. Therefore, a separate power supply was used for powering up the scanner device. An application was created to handle the scanned barcodes, and then this application was linked to the Records Application [3] to make a seamless interaction from start to finish. - 4 -

Background The following is background information taken from the MS Thesis of Kadir Dogan [4]. Barcode Technologies Barcodes can be found almost everywhere nowadays and they are important parts of industry and business. A barcode is just a different way of encoding numbers and letters by using combinations of bars and spaces of varying widths. Barcodes can be observed in many different forms. The most common symbologies are listed below [6]. UPC/EAN: This is the symbology used on items destined for the check out line. UPC symbols are fixed length and they are mandatory in the retail and food industry, and not used anywhere else for the most part. They were developed to meet the needs of grocery retailing and fit 12 digits into a reasonably compact space. Code 39: This symbology was developed because some industries needed to encode the alphabet as well as numbers into a barcode. It is typically the nonfood standard bar code, and is used for ID, inventory, and tracking purposes in various industries, such as manufacturing. However, Code 39 produces relatively long bar codes and may not be suitable if label length is a consideration. Code 128: This barcode came about when the need for a selection of characters wider than Code 39 could provide arose. When label length is a consideration, - 5 -

Code 128 is a good alternative to Code 39 because it s very compact and results in a dense symbol. This symbology is often used in the shipping industry where label size is an issue. Interleaved 2 of 5: Another popular symbology in the shipping industry, Interleaved 2 of 5 is widely used by the warehousing industry. This is also a very compact symbology. Postnet: Unique to the United States Postal Service, this symbology encodes zip codes for processing mail for speedy delivery. PDF417: This high density, non-linear symbology, is known as a twodimensional (2-D) barcode. The PDF417 Standard PDF stands for Portable Data File. A single PDF417 symbol carries up to 1.1 kilobytes of machine-readable data in a space no larger than a standard bar code. Unlike traditional one-dimensional (1-D) barcodes, which depend on real-time links to a larger database, PDF417 symbols are the database. PDF417 symbols travel on paper, packages, or parts. PDF417, the de facto 2-D symbology standard was invented by Symbol Technologies, Inc. A 1-D barcode contains an access code that serves as a real-time key for opening the database. However, a PDF417 symbol contains a complete data record and requires no access to an external database. Data, text, graphics, biometrics, and voice records, etc. can be directly stored in a symbol. PDF417 stacked bar code symbols all contain the following elements: Start and stop patterns, left and right row indicators, data columns, and rows. Figure 1 illustrates the PDF417 symbol structure [7]. The start pattern indicates the beginning of the left side - 6 -

of a PDF417 symbol whereas the stop pattern denotes the beginning of the right side of the symbol. Figure 1. The PDF417 symbol structure The left and the right indicators define how many rows and columns are used in the symbol and what level of error correction is used. There can be from 1 to 30 data columns and from 3 to 90 rows in a PDF417 symbol. In a PDF417 bar code, each bar and space does not store data. Data is actually stored in codewords. A codeword is a consecutive sequence of 4 bars and 4 spaces totaling 17X wide, where X represents the width of the smallest bar in a barcode. The 417 in PDF417 refers to this codeword structure. Codewords reside between the start pattern and the stop pattern. This region contains several types of codewords including data codewords, control codewords, and row indicator codewords. User data is first encoded into codeword values. These codeword values are then converted into physical codewords represented by bars and spaces as described above. Data codewords are physically located between the left and right row indicator codewords. - 7 -

The PDF417 symbology has error correction capability. This capability enables scanners to read the bar code even if it has been torn, written on, or damaged in other ways. How much damage a symbol can withstand depends on the amount of error correction in each PDF417 symbol. Error correction is specified by selecting a level from 0 to 8. At level 0, a damaged PDF417 cannot be read, but the damage can be detected. At levels 1 through 8, a PDF417 symbol can still be read, even when damaged. The PDF417 technology has been used in diverse applications, among others for identification purposes. From driver licenses to social services and national identification cards, PDF417 has become the preferred means of encoding identification information. Currently, the driver licenses and identification cards of the State of New Hampshire also include PDF417 2-D barcodes. The PDF417 barcodes on these cards contain the identification information about the owner of the card. - 8 -

License Data Format Figure 2 shows the data received from the scanner. This data is processed according to a 3-character combination, which precedes the essential data, shown in the Table 1. 3-character combination DAQ DAA DAG DBC DAI DAJ DBA DBB Data that follows Drivers License Number Driver s Name Driver s Street Address Driver s Sex Driver s Mailing City State License Expiration Date Driver s Date of Birth Table 1. Organization of received data stream Along with this information, there is also other information in the received data stream. For example, the length of the stream, the field that indicates the driver s height, mailing jurisdiction code, postal code etc., are also included in the data stream, but are not used in the Scanner Application. - 9 -

Figure 2. Received data stream from scanner - 10 -

System Hardware The following hardware was necessary in creating the scanner system: Computer loaded with Project54 Application; Barcode scanner HHP IMAGETEAM 3800PDF-12; Power supply for the scanner (5V, 300mA). The Common IDB Interface can supply devices with only 5V and 150mA, which is not enough. Therefore, a separate power supply is used for the scanner device. HHP scanner cable consisting of: Serial cable for data interface; PS2 cable for scanner power; Power hook up for the HHP scanner consisting of: 5 V, 300mA power supply; PS2 interface to the power supply; An IDB network consisting of: Scanner device side CIDBI; Computer side CIDBI; Power supply simulating the car battery (12 V); Serial cable connecting IDB network to Computer; The inventory above lists the hardware used in laboratory testing. The system is connected according to Figure 3 below. The scanner should be initialized with a baud rate of 9600 bps, 8 data bits, no parity, and 1 stop bit. Initialization can be accomplished by using either the barcodes in the instruction manual [5] or the system bundled software. - 11 -

IDB Bus CIDBI CIDBI Power supply 5V 300mA Power supply 12V Figure 3. Scanner Hardware Network Graphical User Interface The Scanner Application was written to enable the police officer to use the scanner for acquiring data from a driver s license. The application can be started by pressing the scanner button on the application manager screen, or by giving voice commands to the computer using the push-to-talk button. The Graphical User Interface (GUI) is shown in Figure 4. It consists of nine buttons, eight text fields for displaying information about the driver and a status label for indication of the last operation. When the application is started the operator just has to scan the bar code from the driver s license. After a few seconds, information about the driver will be shown in the text fields. Information from all scanned licenses is saved, so the operator can display the - 12 -

last, first, previous or next record from the array of the scanned licenses. It is also possible to erase (reset) all text fields, or send scanned data to the Records Application, by pushing the specified button. Buttons available in this application are: Figure 4. Application Window for scanner Main Screen - Return to the main screen. Previous - By activating this button the user can see information from a previous scanned license. The displayed information will not change if - 13 -

the currently shown license is the first scanned license. Next - The user can see information from the next scanned license. The displayed information will not change if the currently shown license is the last scanned license. First - Shows information from the first scanned license. Last - Shows information from the last scanned license. Reset - Clears all text fields. Listen - Similar to the push-to-talk button on the steering wheel, this button allows the operator to give voice commands (Available voice commands are: Main Screen, Previous, Next, First, Last, Reset, Operator by Name and Operator by OLN) - 14 -

Operator by NAME Operator by OLN - Scanned information is sent directly to the Operator License and Record by Name & DOB query window in the Records Application, shown in Figure 4. On this screen the operator license check is performed. This check is based on the operator's name and dateof-birth. The check license command returns personal data about the owner including SSN (Social Security Number) and license number. The check records command returns the same data as well as data about the subject s driving record. - Scanned information is sent directly to the Operator License and Record by OLN query window in the Records application, shown in Figure 6. This query is used to perform a driver conviction record check based on the operator's license number. The check license command returns personal data about the owner including SSN (Social Security Number) and license number. The check records command returns the same data as well as data about the subject s driving record. - 15 -

Figure 5. Operator License and Record by Name & DOB screen Figure 6. Operator License and Record OLN screen - 16 -

The format of the GUI text fields corresponds to the data on the license barcode. The text fields, shown in Figure 4, are: Name the driver s full name (last name, first name, middle initial). Address the driver s street address. City the driver s city of residence. LIS license state. Sex driver s gender. License # 10-character driver s license number. Exp. Date license expiration date (YYYYMMDD). Date of Birth driver s date of birth (YYYYMMDD). The label Last Message, shown on Figure 4, is used to inform the operator about the last action he or she took, or which scanned license is shown. The software structure The Scanner Application determines when the scanner was used and automatically receives data from it. After receiving data from the scanner (shown in Figure 2), this data is then processed in order to isolate the useful information from it. After saving all information in separate buffers, the Scanner Application displays useful information from the driver s license in corresponding fields, in the application window. Information obtained from the scanner is stored in the array: Record_type Scanned [500] where every element holds all the relevant data from one scanned license. The structure of the record is: - 17 -

struct Record_type { wchar_t name [25]; wchar_t address[30]; wchar_t city[15]; wchar_t state[10]; wchar_t sex[5]; wchar_t licnum[15]; wchar_t expdate[15]; wchar_t datebirth[15]; } In this record structure every field corresponds to a text field in Figure 4. It is very important to emphasize that the software was written to use the new Project54 Application Manager [8]. The new format of the Message routine is: void Message(source, destination, messageid, message_text). This version of the routine allows sending messages directly from one application (source) to another (destination). The Scanner Application routines for data manipulation are: void processscannermessage(void) - cuts important data from the received data; void resettextfields(void) deletes all text fields; void showscanned(int which) displays received data in text fields; void showprevious(void) displays data from the previously scanned license; void shownext(void) displays data from the next scanned license; void showfirst(void) displays data from the first scanned license; void showlast(void) displays data from the last scanned license; void getactual(void) gets data for currently displayed license; void createmessage(int selection) creates a message that is sent to the Records Application; - 18 -

void sendmessage(int type) sends previously prepared message to Records Application. The following routine is added to the Records Application: void disassemblemessage(wchar_t* message) disassembles the received message from the Scanner Application and save it in the following structure: struct Scanner_data { wchar_t selection[3]; wchar_t firstname[15]; wchar_t lastname[15]; wchar_t mi[15]; wchar_t state[10]; wchar_t sex[5]; wchar_t licnum[15]; wchar_t datebirth[15]; } the routine: routines: This data is written in corresponding text fields of the Records Application using void settftext(hwnd hwnd, int htf, wchar_t *txt); The Scanner Application specific code was implemented in the following void AppHandleSpeech(LPWSTR speech_input) routine for handling the speech input. It contains numerous if statements, which are used to find the match for the input speech command; void AppHandleMessage(source, messageid, message_text) routine for handling messages received from Application manager or some other application; void AppMain(void) main procedure. It is called when the Scanner Application is loaded. The AppMain procedure contains an infinite loop for capturing data from the IDB. Several functions within the loop execute in order to buffer and process the captured data. - 19 -

Conclusion The main goal of this project was to integrate a barcode scanner into the Project54 system. The main goal comprised three partial goals. The first partial goal was to provide a power supply for the scanner. The second partial goal was to create a software application to control the scanner within the Project54 system. The third partial goal was to allow voice control of the scanner. The system was designed to be used within the main Project54 application and existing Intelligent Transportation System Data Bus (IDB) network. The barcode scanner, as every other device in this system, was connected to the IDB via its own Common IDB Interface (CIDBI) device [2]. The scanner needs a power supply of 5V and 300mA, but the Common IDB Interface can supply devices with only 5V and 150mA, which is not enough. Therefore, a separate power supply was used for powering up scanner device. An application was created to handle the scanned barcodes, and then this application was linked to the Records Application [3] to make a seamless interaction from start to finish. Also, the speech user interface was implemented in order to allow voice control of the Scanner Application. List of References [1] UNH CATLab Web page, http://www.catlab.unh.edu/ [2] Martin, Michael E., The Project54 common interface for the intelligent transportation systems data bus version 4, Technical report ECE.P54.2001.3, Electrical and Computer Engineering Department, University of New Hampshire, 2001 [3] Pelhe, Albert, The Project54 Records Application, Technical report ECE.P54.2002.4, Electrical and Computer Engineering Department, University of New Hampshire, 2001 [4] Dogan, Kadir, A remote access and mobile data transaction system for the Project54 system, MS Thesis, ECE Department, University of New Hampshire, 2001 [5] Quick Start Guide IT3800 Convenience Kit, Welch Allyn, 1999 [6] Symbol Technologies, Inc. Web site, http://www.symbol.com - 20 -

[7] The PDF417 information Web site, http://www.pdf417.com [8] Pelhe, Albert, The new Project54 Application Manager, Technical report ECE.P54.2002.8, Electrical and Computer Engineering Department, University of New Hampshire, 2002-21 -