Building on the previous post, the next thing we'll do is use Biztalk RFID to connect to the Alien 9650. This post assumes that you've gone through the steps in part 1.
Now the part we've all been waiting for - firing up Biztalk RFID, and using it in conjunction with the Alien reader to do cool stuff. This process (at least the first time) involves obtaining and installing the provider, configuring the appropriate firewall access on the host machine, and then adding the reader itself.
The provider is available from the partner site (another reason I recommend getting a partner login as soon as possible :). In the partner site, under Technical Information -> Software, look for the Microsoft BizTalk RFID Provider for ALR-9900, 9800, 8800, 9650 link. This leads to a zip package containing an installer. Download the package and execute the installer. This will install the provider DLL under Program Files at \Alien RFID\Alien RFID Provider.
Note: the installer does not register the provider, so we'll need to take care of that in the next step.
To register the provider (remember that multiple versions of the same provider can be simultaneously registered - great feature :):
As of the time I wrote this article, the Alien provider has a minor bug when running on Windows Vista with IPv6 enabled related to the Local Host property. This property is used by the provider to auto-configure the device's notification host. The notification host is the destination to which the reader sends asynchronous events, such as "I saw tags", or "my input port changed". If the provider does not have the correct value for this asynchronous events will never be received - i.e. RFID Processes in Biztalk RFID will never receive tags.
To fix the problem get rid of the IPv6 "fluff" around the local address. In the example the default host string is fe80::200:5efe:10.0.0.1%12. Change that to 10.0.0.1 (the IPv4 address buried in the middle). A quick review of the other configuration properties (which don't need to be changed for default scenarios, but good to be familiar with none the less) is listed in the next section.
As noted in the previous section certain inbound ports need to be opened in the firewall to enable asynchronous notification and discovery functionality. The default ports 3988, 7797, 7798, and 7799 may be opened by executing the commands below.
For Windows XP / Server 2003:
netsh firewall add portopening TCP 3988 “Alien Discovery”
netsh firewall add portopening TCP 7797 “Alien Notification”
netsh firewall add portopening TCP 7798 “Alien IO”
netsh firewall add portopening TCP 7799 “Alien Streaming”
For Windows Vista / Server 2008:
netsh advfirewall firewall add rule name=”AlienDiscovery” dir=in action=allow protocol=TCP localport=3988
netsh advfirewall firewall add rule name=”AlienNotification” dir=in action=allow protocol=TCP localport=7797
netsh advfirewall firewall add rule name=”AlienIO” dir=in action=allow protocol=TCP localport=7798
netsh advfirewall firewall add rule name=”AlienStreaming” dir=in action=allow protocol=TCP localport=7799
Seems like a lot of work just to connect to a reader and a get a few tags, doesn't it? I went into a lot more detail for the prerequisites than was perhaps strictly necessary - however, knowing why certain things are done is crucial when you have to perform troubleshooting. Not to mention the number of times that diagnostics have ended with staring at the end of an unplugged cable has taught me to start with the basics (power, connectivity, firmware, tags) before building up. To add the reader:
If you cannot connect to the device, and upon clicking View Error you receive the Error 24 Invalid Format error your notification host value is set incorrectly at a provider level. Go back to the provider properties and fix that value.
Almost there! Now that we are successfully communicating with the Alien reader and receiving tag notifications, we need to bind the device into an RFID process to persist tag events into a database, and then build a report.
Now for the fun part - capturing the stream of information from the Alien reader, and making it consumable by a user. In this section, I'll create a basic RFID process using the SqlSink event handler, extend the table schema to associate tags with assets and generate a basic ASP.NET report from that database table.
The first step in capturing the information from the RFID reader will be to define an RFID process, bind in that reader, and use an event handler to route information to a SQL database.
In this posting, we walked through using BizTalk RFID to communicate with the ALR-9650 and flow tag information into a database. In the next posting we'll cover troubleshooting the most common problems and build out a basic reporting interface using ASP.NET.
PingBack from http://lowcostcarinsurances.info/story.php?id=7658
Thank you for this detailed explanation.