(Part 1) - Hands on: Building an End to End Solution with Biztalk RFID and the Alien 9650
As the first post in a hands-on focused series on building out solutions with Biztalk RFID, I'm going to walk through the process of creating an end to end solution with Biztalk RFID and the Alien 9650 RFID reader. Future posts in this series will cover the Motorola XR450, Impinj Speedway, and others. The primary steps covered are:
- Installing the necessary software bits
- Setting up the reader (from the shipping box to the network)
- Performing native firmware updates
- Connectivity and configuration with Biztalk RFID
- Building a basic business logic and reporting interface
Installing the necessary software bits
The first step will be to ensure that you have all of the necessary (and few optional :) software bits installed on your workstation. The baseline components are:
- SQL Server 2005 (any edition, including express), including Service Pack 2 - trial
- Visual Studio (preferably 2008) - trial
- Biztalk RFID - trial
Trial editions for each of the base software are available from the links above. Note that the next release of Biztalk Server (Biztalk Server 2009) will officially support SQL Server 2008 and Visual Studio 2008, but since Visual Studio 2008 can target the base 2.0 .NET Framework it works with Biztalk Server 2006 R2 (caveat; use at your own risk - it will not be officially supported until the next release, so if something goes wrong, you're on your own :).
The installation instructions for each are included with the trials, but a Quick Start Guide for Biztalk RFID is available. Remember to install / enable MSMQ, and install WSE 3.0 (required for the complete installation option of Biztalk RFID).
Note: Vista User Access Control (UAC) does some strange things in conjunction with Biztalk RFID. For development purposes only, it may streamline things to disable UAC. As this has security implications, do this at your own risk.
Setting up the reader (from the shipping box to the network)
Every RFID reader is a little different in terms of power, network and antenna, so being familiar with the specifics of the readers you employ in your solutions is vitally important. While Biztalk RFID does an excellent job of abstracting away many of the software and management related details, all the software in the world won't help if you can't turn the reader on! :)
From the Alien web site:
ALR-9650 Complete, Easy, Single-Antenna RFID Solution
The ALR-9650 is the ideal solution for single and two-antenna applications. The reader electronics and a high-quality, circularly polarized antenna reside in a single package, eliminating external antenna cables, resulting in the simplest and least expensive installation. A second antenna port enables 2-antenna applications.
Some of the key, unique features of this device are:
- The device supports Power-Over-Ethernet to reduce cabling requirements. One of the practical aspects of this is the provided power adapter, which can be a little tricky to plug in the first time (more about that below).
- Built-in antenna - excellent for applications with constrained space requirements.
The box includes:
- The ALR-9650 (pictured above)
- CD-ROM (documentation and software)
- Crossover Ethernet cable (for connecting PC directly to the RFID reader)
- Standard Ethernet cable, PoE rated (for connecting the reader to a hub or the enclosed power supply)
- PoE converter brick (provides a PoE connection without a full-up PoE infrastructure)
- RS232 serial cable
Ensure that you have all of the pieces that you're supposed to have - including the serial cable! You will also need an additional Ethernet cable to connect the reader to a hub.
Installing the Software and Documentation
Before going crazy plugging things in, take the time to install the software and documentation from the provided CD-ROM. The key documents will be located under
Alien RFID -> DocZone -> ALR_9650
in the form of the Hardware Setup Guide and the Quick Installation Guide. I know nobody reads documentation, but if you take one single piece of advice in this whole article - READ THE HARDWARE SETUP GUIDE!!! Rant over :).
Connecting the Serial Connection
When setting up a reader for the first time, or performing low-level debugging a serial connection is invaluable. If your PC or laptop does not have a built-in serial port, I would highly recommend purchasing a USB-to-serial adapter such as this one. Note that most big-box retailers or computer stores will carry a similar product in stock. In addition to the physical connection, you'll need a terminal adapter program. Note that since Hyperterminal is not a part of Windows Vista, you likely don't have a built-in one available. I like a number of different (freeware) products, such as TeraTerm Pro. After downloading and installing Tera Term Pro, start the application.
Select the appropriate COM port (if using a USB-to-serial converter see the manufacturer documentation for details), and click OK. Built-in COM ports are usually COM1. Click on Setup, then Serial port to configure the serial port settings.
The serial communication settings for the Alien ALR-9650 are 115200 8N1 (or, 115200 baud rate, 8 bit data, none parity, 1 bit stop, none flow control).
Powering the Reader
The fundamental aspect of using any electronic device - that wonderful stuff we call power. While the ALR-9650 supports the standard Alien power adapter (the ALX-616-2 AC/DC brick), the power supply enclosed with the reader is a PoE Power Sourcing Equipment (PSE) module that "jumpstarts" power onto a standard Ethernet line. As per page 18, figure 10, we'll use the enclosed PoE power supply in conjunction with the reader.
- Plug one end of the enclosed Ethernet cable into the LAN port on the ALR-9650.
- Plug the other end of the enclosed Ethernet cable into the J1 DATA & PWR port on the PSE module.
- Plug one end of another Ethernet cable into the J2 DATA port on the PSE module.
- Plug the other end of the Ethernet cable into a network hub.
- If we were using an additional antenna with this reader, we would plug it into the auxiliary antenna port at this time. Since we're not for this purposes of this walk-through, moving on..
- Take the enclosed AC power cord and plug one end into the wall socket, the other end into the PSE module. At this point, the green POWER LED on the reader should illuminate.
- Note: if you're not sure which end is which on the AC power cord, please step away from the computer.
Note: the ALR-9650 is a mono-static reader. This means that a single antenna is used for both transmit and receive. As such, the reader needs only a single antenna to operate.
When the reader is starting up, it will print a stream of information to the serial port (which was the whole point of doing that first :). The key information we'll be looking for during boot-up is the network settings, which will look like:
Network Settings: MAC Address : 00:1B:5F:00:0E:E1 Hostname : alien-000EE1 IP Address : 10.10.10.125 Netmask : 255.255.254.0 Gateway : 10.10.10.1 DHCP : 1 DHCP Time46 TimeServer : 18.104.22.168 TimeZone : -8 CommandPort : 23
The key information is the IP address - this will tell you if the device has successfully captured a DHCP lease from the network.
Note: Alien readers support a very useful and handy discovery feature, that is also supported by Biztalk RFID. The intent of this article is to demonstrate techniques that can be used to connect to readers in edge cases (such as the reader being on a separate broadcast domain from the host PC or server).
Using the Serial Interface
The Alien readers all support a rich serial/telnet interface that allows configuration of virtually all aspects of the device. While all of these features are accessible through Biztalk RFID, it's vital in troubleshooting scenarios to be able to isolate portions of the system (from the power supply on up), which is why I'm talking about them in this article. All of the Alien commands are documented in their Reader Interface Guide, but a couple of useful commands are shown below.
Alien>ipaddress? IPAddress = 22.214.171.124 Alien>dhcp? DHCP = ON Alien>
In this case we use the ipaddress? and dhcp? commands to query the specific IP address and dhcp configuration for the reader.
I always recommend checking for tag scans with the lowest number of moving parts (i.e. if tag reads aren't showing up in a report there are many potential sources of failure - tag, antenna, reader, network, middleware, database and the report itself). Since the ALR-9650 has a built in antenna, and only requires a single antenna to implement a read point, this is relatively simple out of the box. Wave a valid EPC Class 1 Gen 2 tag over the reader, then execute the t? command on the reader.
30 14 35 D8 C0 10 D4 80 00 00 00 03, 0, 2008/12/04 12:59:20.691, 2, 3000
If a valid tag(s) is in the antenna read field, it should show up on the display. Provided this is directly out of the box, there shouldn't be any misconfigured configuration properties to handle the basic case. However, in the case where the reader has been in service, it's usually a good idea to revert to the "stock" settings. The easiest way to perform this operation from the console is factorysettings.
All settings reset to factory defaults.
Peforming Native Firmware Updates
Occasionally it may be necessary to perform firmware updates using the vendor native interface. A specific example of this is a reader which has a version of firmware which is not supported by the vendor's Biztalk RFID provider (usually in the case of older firmware versions). If Biztalk RFID can't connect to the reader, it's not in a good position to perform firmware updates :). Firmware updates are available from the Alien web site, but you first need to register as a partner here. There's a manual approval process involved, so it's good to register as a partner as soon as you order your Alien equipment (though approval usually only takes a day or two).
Once you've accessed the partner site, browse to Technical Information -> Firmware. There's usually one primary "active" firmware version available that works across all of the Alien readers, in the form of a .zip package. After downloading the current firmware package, unzip it to a local directory. In this section we'll use the native web server interface to perform a firmware upgrade (rather than an external application such as Biztalk RFID or the Alien Gateway software).
Log into the device's web management interface by navigating to the device's IP address. The task selection list should look similar to the one in the picture below.
Click on Upload Firmware. As this is the first operation that requires authentication to the device, you'll need to log in. The default username and password for all Alien devices is username alien and password password. Click on the Browse button and select the appropriate fw aef file. Click Upload File to update the firmware image.
The progress of the upload process can be viewed from the serial console (yet another reason to know how to use the serial console :).