Saturday, June 2, 2012

2012 Ring of Fire Annular Solar Eclipse

Link to 2012 Annular Solar Eclipse on youtube: 2012 Annular Solar Eclipse - Totality
Camcorder used was Canon DC22 with filter from Rainbow Symphony

Pics and a video clips of 2012 Ringof Fire Annular Solar Eclipse are on their page under '2012 Ring of Fire Solar Eclipse'

RFID Reader Configuration Params

According to a major RFID Reader and tag manufacturer there are 128 ways to configure reader-to-tag and tag-to-reader communications. Many readers come some pre-set settings for 4 or 5 of the "best" or "better" combinations.

Here are  some that I look out for when setting up a reader configuration:
  • RSSI: check the farthest distance a tag can be from the antenna, gets its RSSI value and then set the reader to filter out any tags with a lower RSSI value

  • DRM: unless there are more readers using more than the 50 available channels (915MHz is really 902-928) with channel hopping across 50 channels, use Single Reader Mode or Multi Reader Mode if available
  • Note: If using Single Reader Mode (not all readers provide Multi-Reader mode settings), then it becomes an interesting equation of how to avoid tag collisions and avoid missing tag reads due to some persistent values

  • Auto-Start: With auto-start, readers are setup to read either periodically, immediately or based on some input trigger. If using periodic reads, set the periodic reads small enough that some one walking by an antenna with an rfid-tagged asset will be in front of the antenna long enough for a read to take place. I like to use 250ms for directional portals if not using continuous or immediate reads.

  • Singulation and Dual Targets: With Class 1 Gen 2 standards, tags can be in either state A or state B. Sort of like putting your hand down after a roll-call and then leaving it down if the analogy makes sense. So unless I know the last roll call and its results, its best to choose "dual-target" to ensure all tags are read.  Dual target makes sure all tags in both states are read.

  • Channels: In the case of multi-reader environment, since there are 50 available channels to choose from, why start all the readers at channel 1? The possibilities of channel hopping become higher and I like to setup each reader to start on a different channel.

  • Sessions: Sessions are useful in multi-reader environment in that if 3 or 4 readers are working in a multi-reader environment then each reader can be set to interact with tags in a different session. One things I only recently understood was that Sessions greater that 1 (i.e Session 2 or 3), leave their tags in state B indefinitely. So, definitely, use dual target if you require all tags to be read and are using more than one session.
  • Note: This brings up a value to set for tag persistence. Persistence sets how long a tag will be state B or "hands down in the roll call analogy" before it switches back to state A. If using sessions greater than 1, then setting this value may not have the expected effect

  • Picture a cone in front of the antenna: its useful to ne'er forget that an antenna creates a cone which defines its read circumference and area. These days we can fine tune antennas to read from a couple of inches in front of the antenna to a couple of metres away (or farther). Granted periodic stray reads occur and the antenna footprint is never a nice,even oval or circle and dead spots or null are a reality.. however, we can work with these limitations by imagining a read area shaped like a cone in front of the antenna and ensuring tags within this area are always read.


I moved my post on some of the params that I find useful when setting up RFID readers and antenna to get better reads into its own page under RFID on this blog.

Tuesday, April 3, 2012

Using Informix 32-bit library with Cognos on 64-bit server

1. Getting and installing the Informix 32-bit ODBC libraries
a. I used connect.3.50.UC6.LINUX.tar for Cognos 10.1/Redhat 5.4. One can get the libraries here:
b) Create a group and user for informix
#/usr/sbin/groupadd informix
#/usr/sbin/useradd -g informix
#password informix
#mkdir /home/informix/connect // copy connect.3.50.UC6.LINUX.tar /home/informix/connect
#cd /home/informix/connect
#tar -xvf connect.3.50.UC6.LINUX.tar
#./installconn // default install is to /opt/IBM/informix
#vi $INFORMIXDIR/etc/sqlhosts //example: ifx_server1 onsoctcp IP service
#vi /etc/services //add the service from sqlhosts with port and
2. Set up Cognos baadmin profile
#su - baadmin //change to baadmin user
$vi .bashrc
a) set the following environment variables: INFORMIXDIR, INFORMIXSERVER
export INFORMIXDIR=/opt/IBM/informix
export INFORMIXSERVER=server_name

b) add the informix bin folder to the PATH
c) add the informix shared libraries to the path
I also modified the PATH and LD_LIBRARY_PATH variables for Cognos libraries:
export PATH=$PATH:/opt/ibm/cognos/c10_64/bin:/opt/ibm/cognos/c10_64/bin64export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ibm/cognos/c10_64/bin (/opt/ibm/cognos/c10_64/bin contains I also created a soft link in /usr/lib to this
shared library and have not tried to remove it).
d) Stop and Restart all servers
#/etc/init.d cognos10 stop
#/etc/init.d cognos10 start

Don't forget to change /etc/services and add the informix tcp connection info that is in the sqlhosts file
Also odbc.ini and odbcinst.ini are required for odbc connectivity in /etc folder
Also all libodbc*.* files are required in /usr/lib

With the above, I am able to us the Cognos Informix connection to connect to Informix