As the next (much delayed) post in a hands-on series, I’m going to walk through the process of creating an end to end solution with BizTalk RFID and the Impinj Speedway reader. The primary steps covered are:
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 Impinj web site:
The Speedway reader provides superior system performance in all RFID environments, especially when paired with Impinj reader antennas and Monza tag chips.
Some of the key features include:
The key document for working with the Speedway Reader is the Octane 3.2 User Guide (IPJ-R1000).
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 Impinj Speedway are 115200 8N1 (or, 115200 baud rate, 8 bit data, none parity, 1 bit stop, none flow control).
If we can’t successfully power the reader, this is going to be a very short blog post. The Speedway readers use a 24 VDC @ 2.5 A transformer “brick” with an industrial connector that securely fastens to the Speedway reader. As of the time this article was written, the adapter is a CUI Inc Switching Adapter.
After powering the reader, the bootup information similar to the following should stream over the serial port:
kPOST / Complete+ Detected: 48F4400P0VT0 (0-B,1-T) Flash OTP Version: 2 Serial Number: 370 08 08 0176 Hardware Revision: 030-02.0001 Impinj Powered RFID Reader Rev: E
DHCPDISCOVER on ixp0 to 255.255.255.255 port 67 interval 4 DHCPOFFER from 126.96.36.199 DHCPREQUEST on ixp0 to 255.255.255.255 port 67 DHCPACK from 188.8.131.52 bound to 184.108.40.206 -- renewal in 6736 seconds. done. mDNSResponder (Engineering Build) (Feb 25 2008 15:57:02) : starting Starting Apple Darwin Multicast DNS / DNS Service Discovery daemon: mdnsd. Starting system log daemon: syslogd. ntpdate -u -b -s Starting NTP server: ntpd. Cleaning: /tmp /var/lock /var/run. Upgrade Agent Version: $Id: upgrade_agent v3.0.1 Built on: Mon Feb 25 15:56:55 2 008 $ Starting OpenBSD Secure Shell server: sshd.
Speedway-One login: Version: $Id: modem_ctrl v3.0.1 Built on: Mon Feb 25 15:55:50 2008 $
If the reader is configured to use DHCP to obtain an IP address, a DHCP status message like the one highlighted in red above should be visible. If not, you’ll need to log into the machine to either obtain the static IP address or configure the reader to use DHCP.
Note: Impinj readers support a very useful and handy discovery feature, that is also supported by Biztalk RFID. The intent of this article is to demonstrate an “always works” technique for cases wherein discovery doesn’t work.
The Speedway 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 Speedway commands are documented in their Octane 3.2 User Guide (IPJ-R1000), but a couple of useful commands are shown below. Note: Octane refers to the Speedway’s firmware.
To log into the device via the serial console (or a telnet session), hit <Enter> to bring up the login prompt, and enter the default username (root) and password (impinj).
Version: $Id: modem_ctrl v3.0.1 Built on: Mon Feb 25 15:55:50 2008 $
Speedway-One login: root Password: >
Once logged into the device, you may use the following commands:
> show network summary Status=0,'Success' ipAddressMode=dynamic ipAddress=10.10.26.220 ipMask=255.255.255.0 gatewayAddress=10.10.26.1 broadcastAddress=10.10.26.255 hostname=Speedway-One llaStatus=enabled
> config network ip dynamic Status=0,'Success'
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). To scan tags using the “native” interface to the reader:
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 Impinj web site, but you first need to register as a customer here. There's a manual approval process involved, so it's good to register as a partner as soon as you order your Impinj equipment (though approval usually only takes a day or two).
From the support portal, browse to Content, then search in Reader & Reader Antenna. In the list of available content should be files such as Speedway_Octane_3_2_1_Fw, containing the Speedway firmware. Download this file to your computer, and extract it contents into an available directory. The firmware file should have a .upg extension.
As the firmware update proceeds, the Upgrade Status box will refresh.
After the firmware image is updated, you will need to manually reboot the reader in order for the update to take effect. Click the reboot button at the bottom of the screen (under the Firmware Upgrade box).