Search code examples
linuxwindows-mobilewindows-cebarcodebarcode-scanner

How do Mobile Computer Barcode Scanners Integrate into a System?


Our company is considering using hand-held bar code scanners as a part of our inventory management process and I have some technical questions about how they actually integrate with an existing system. To clarify, I'm talking about the hand-held wireless bar code scanners with screens and keypads on them that are actually mini-computers. The ones that connect to a network over 802.11g and interact with a database in real time.

I know this is a broad question which is somewhat dependant on device, but the Internet seems to be lacking a good source of technically detailed information on the subject. The kind of information a software developer would want to know before buying one of these devices to be sure it will actually work in a specific situation.

I've found places selling them and basic sales sheets, but what I'm looking for is a detailed description of how these devices are actually programmed and how they talk to a back-end application.

Specifically, do you program them with a widely used language like C? Or do they use some obscure proprietary language? Is it scripted or compiled?

Do you need to install special software on a desktop PC to load your application onto the scanner?

A lot of them say they're running Windows Mobile or Windows CE. Does that mean you need a Windows desktop machine to program them? To interact with them? Or can they be programmed from a Linux desktop and interact with Linux servers?

How do they actually talk to the back-end application? Does it send XML over HTTP, for example?

Coming from a web development background, I'm imagining the gun running a "thin client" software sort of like javascript, which makes AJAX-like calls over http (through wifi) to the server. Do they or can they work like that?

What I'd really like is a guide called, "programming your first bar code scanner" that teaches you to create a "hello world" program step by step. Does such a thing exist?

Thanks in advance!


Solution

  • All of the mobile computer barcode scanner devices that I have ever worked with have come pre-configured with an operating system. And on all of them that I have worked with, that operating system has been Windows Mobile or Windows CE. What you really have is a Windows Mobile PDA that happens to have specialized hardware for scanning barcodes.

    So, the guide "programming your first bar code scanner" should really be called "programming for Windows Mobile." There are all kinds of sites that can help you learn to program Windows Mobile, including Microsoft's own sites. But, in general, you are locked into developing in the paradigms defined by Microsoft. This pretty much comes down to writing C/C++ that uses the Windows CE Platform API, or writing .NET code that accesses the .NET Compact Framework. That also means that you're probably going to end up using some flavor of Microsoft Visual Studio for development. Fortunately, Visual Studio also comes with Windows Mobile emulation so you can do testing without actually having a physical device to play with.

    Once you've got your basic application written, you can then add in the hardware vendor's specific library for accessing the barcode scanning hardware. Testing this piece will require that you actually have a physical device.

    As for communication techniques, protocols, etc., that is all going to be up to you. If you're rolling everything from scratch, you will have to build the communications protocol from scratch as well. Otherwise, you will have to do some research to find out if some kind of pre-built communications protocol components exist that you might be able to purchase/use.