Software
Overview
Magellan Technology is an active developer and supporter of software in all of the following areas for its readers:- Embedded operating system in readers
- Reader Server Application
- Reader manufacturer testing applications
- Reader Manager Application
Magellan has used common standards and avoided proprietary systems. This aids ease of adoption and reduces cost to all parties
Reader Embedded Operating System
In order to provide ease of maintenance and powerful networking connectivity, all Magellan tunnel readers use a customised version of the Linux operating system.
This has been tuned to have very low memory and storage requirements to reduce hardware requirements.
The powerful networking allows this system to be customised to support virtually any protocol. It is intended that tunnel readers can be used within a LAN for ease of access and control.
Application updates can be performed via an FTP server, a standard protocol which can be used from any computer system. A telnet server allows easy remote administration of any tunnel reader.
Full source code of this system is available, so manufacturers can create customised versions to suit their development.
For those with a technical interest, the system is based on the following components:
- Linux Kernel 2.4.28
- BusyBox command toolkit 1.00
- Python 2.3.4
Reader Server Application
All readers are controlled by a Reader Server application that provides a common interface to end user applications.
For high end readers, this application runs on the reader itself.
For low cost readers, it resides on a nearby PC, which controls the
reader
through a serial connection.
Design Goals
The design goals of the reader API are :- Simplicity
- Network
- Flexibility
- Portability
- Consistency
Self Contained Reader Design
In many traditional reader systems, the reader is a dumb device that acts somewhat like a modem in providing a channel of communication between a tag and a controlling computer. Magellan's philosophy is that the reader should be as smart as possible.
In this design, the reader is given instructions on what actions to perform with each tag identified. When a tag appears, the instructions are followed and the results sent to the host.
In a traditional reader, this would be done by a sequence of commands and replies passing from the host computer to the reader and then to the tag. This means that there is a slowness of communication that limits the performance of the reader. For a single tag reader, this never becomes an issue, but for a high speed tunnel reader, it would severely limit the performance.
By putting the intelligence in the reader, there is not the same degree of traffic between the reader and the host. The speed with which the reader can decide on the appropriate response to a tag makes the system capable of very high speed performance.
Having a reader that is an independent agent means that the system is not limited to poor real-time performing systems, like many common graphical user interfaces.
Use of a Python Programming Language
When interacting with the application monitor server, a client application has access to a full Python interpreter. It supports many commands which can be used to monitor or change the operating environment.
Having a full programming language available to run remotely gives application writers immense power and flexibility.
This definition of Python comes from www.python.org:
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface. The Python implementation is portable: it runs on many brands of UNIX, Windows, etc.We are currently running version 2.3 on the readers. Full documentation on the language can be found at http://www.python.org/doc/current/..
Reader Manager Software
Magellan is currently working on developing a suite of software tools to aid manufacturers with testing readers and for demonstrating functionality for end users. The examples shown here are a starting point for what will be developed in the near future.
This software provides a platform that can easily be extended to support a specific application.
This software can be run on Windows, Unix and (soon) Macintosh machines.
Reader Manufacturer Testing Applications
This dialog allows all details of the command sent to identify new tags to be customised:
Finally, this dialog allows the control of the reader's behaviour to be finely adjusted. All the timings and repeat counts of various aspects of the reader can be viewed and set. This allows a reader to be set up optimally to suit a given operating environment.