Picture this: after school, your kids come home and ravage the pantry. Detecting the now-empty cupboards, your home's electronic inventory assistant emails you an urgent shopping list: pick up more Cheez-Its, Cap'n Crunch, orange juice, milk, eggs, and Eggo waffles.
Picture this: after school, your kids come home and ravage the pantry. Detecting the now-empty cupboards, your home’s electronic inventory assistant emails you an urgent shopping list: pick up more Cheez-Its, Cap’n Crunch, orange juice, milk, eggs, and Eggo waffles.
On the way home, you stop by your local supermarket, and the otherwise solo trip up and down the aisles is accompanied by oddly soothing promotional jingles personalized just for you. Mindful of the time, you careen through the store, piling items into your cart before dashing out the sliding doors and darting through late afternoon traffic to make it home just in time for The Simpsons.
|Figure One: The Magellan STRP-5050 StackTag Tunnel Reader|
While fast, convenient, and simple for you, your casual trip to the store has triggered a much larger chain of events, albeit unbeknownst to you:
* Upon entering the store, your customer profile was retrieved from a database and cross-referenced with the shopping list sent along earlier that day.
* As you dashed each item from your shopping list, electronic records of store inventories were immediately adjusted, providing the store’s management, regional warehouse, and even the chain’s CEO with product availability information in real-time.
* Low supplies automatically initiated a re-order and scheduled shipments to the local store.
* Leaving the store, your cart was instantly inventoried, debiting your credit card and adjusting your customer profile at the same time.
In short, it’s a retailer’s dream come true, and no, this isn’t a trailer to the next Philip K. Dick-inspired flick. It’s coming soon to a store near you. And it can all be attributed to a breakthrough in electronic engineering no larger than a grain of popcorn salt. Known as Radio Frequency Identification (RFID) tags, the tags are minuscule transmitters that respond to radio-based queries, uniquely identifying the item to which they are attached.
Because RFID tags do not require batteries and consist solely of a microchip and antenna, RFID tags have increasingly become the center of attention of private organizations and governments alike, due to their rapidly decreasing cost and promises of huge productivity gains. Although the aforementioned supermarket scenario is often prominently featured as a promise of RFID technology, the aspirations for the technology are far more wide-ranging, including applications such as counterfeit detection and theft prevention, prisoner and employee monitoring, and commerce transactions. Soon, these tags will play a major role in the monitoring of the movements of not only paper towels and razor blades, but also paper currency, blue jeans, and military supply shipments.
Chilling nightmares of Big Brother aside, one must admit that RFID is pretty cool technology. And with promises of a $1 billion market coming in just a few years, it shouldn’t come as a surprise that numerous entrenched technology heavyweights and startups alike are charging into this vast frontier of opportunity.
Making Waves with Magellan
One company that’s currently making waves in this sector is the Australian firm Magellan Technology (http://www.magtech.com.au). The company’s highly touted RFID systems are being deployed in a wide variety of applications, from tracking airline baggage and medical supplies, to managing diamond inventories, legal documents, and casinos. With numerous, high-profile manufacturing partners — including Nippon Signal, Infineon Technologies, and Höft & Wessel — the company looks destined for stardom.
Magellan is especially well-known for their solution to the nagging RFID problem of signal interference. Called StackTag technology, Magellan can accurately scan hundreds of closely-spaced tags, even when tags are separated by as little as 1 mm. As one would imagine, such a capability is crucial to the success of many RFID applications, including shipping, manufacturing, and document management, among others.
Yet what makes Magellan’s strategy particularly intriguing is its use of open source. After a stint using proprietary technologies, the company developed a series of highly-optimized RFID tag readers based on its custom Linux-based operating system. To build their RFID applications, Magellan chose the Python language, PyQT (http://www.riverbankcomputing.co.uk), and the BlackAdder IDE (http://www.thekompany.com).
To learn more about Magellan, Linux Magazine recently interviewed Vice President of Software Development Jeff Gray and Marketing Manager Ken Laing.
LINUX MAGAZINE: Ken, can you introduce Magellan?
KEN LAING: Sure. Magellan was founded in 1985, is based in Sydney, Australia, and is a specialist and world leader in the development of advanced RFID products. Our business is to capture and manage information and apply it to global distribution systems management.
LM: How many employees comprise the Magellan staff? The IT staff?
JEFF GRAY: There are twelve staff members, with two in software development and one part-time system administrator.
LM: What industries are evaluating the Magellan RFID technology?
LAING: A small sample includes medical supplies, government, the meat and livestock industries, and postal and courier businesses.
LM: Why did you adopt open source?
GRAY: Prior to using open source, we tried a proprietary real-time OS, but became frustrated because we couldn’t open the code and fix the problems at hand. So, when we decided that our next product was going to be network-based, we went looking for a suitable platform.
At the time, about three years ago, commercial options were very expensive for a small company like ours, but even compared to commercial products, Linux stood out. Linux was flexible, could be customized, would likely accommodate future hardware, and could meet obscure customer requirements.
I’d been using Linux for server work since kernel version 0.9.x back in the mid-’90s, so I was very familiar with its stability and power. The advent of tools such as Busybox made building a tiny distribution easier, and that sealed the deal. (See the sidebar “Busybox: The ‘Swiss Army Knife’ of Embedded Linux” to learn more.) All embedded Linux users owe the Busybox developers a great debt of gratitude, because without it, building small Linux systems would be much harder.
Busybox: The “Swiss Army Knife” of Embedded Linux
Busybox (http://www.busybox.net) is a compact set of Unix utilities ideal for embedded systems. Although it’s only 200 KB, Busybox supports a quite complete POSIX environment and roughly two hundred system tools (cp, df, gzip, netstat, vi, and wget, among many others).
According to the Busybox web site, Magellan Technologies is just one of many prominent users that depend upon the project. Dell, Linksys, Netgear, and Red Hat also make use of Busybox for their respective flagship products.
LM: Which open source technologies are used by Magellan?
GRAY: We use Busybox to provide the vast majority of command-line utilities and daemons, making for a very tiny system. Python 2.3 is used to run support scripts and the main application. Some C and C++ modules are compiled with gcc as well.
KDevelop (http://www.kdevelop.org) is used for development, but I still tend to use GVIM (http://www.vim.org) for editing. Some staff uses StarOffice 7. Our servers all run Mandrake Linux. We also use Apache, Postfix, PostgreSQL, Zope, Samba, Webmin (http://www.webmin.com), and all the usual daemons.
Interscan (http://www.trendmicro.com) runs on our firewall as a virus scanner, and we couldn’t survive without it. We use a brilliant open source package called Firewall Builder for firewall rules generation, which is as good as any expensive, commercial firewall management product. (See the sidebar “Keeping Safe with Firewall Builder” for more information.)
Keeping Safe with Firewall Builder
Firewall Builder (http://www.fwbuilder.org) is a graphical, multi-platform firewall configuration and management tool. Setting policies is as simple as dragging and dropping rules.
The Firewall Builder administrator abstracts firewall policy and NAT rules, placing a focus on the implementation of your specific policies. Additionally, policy compilers and sanity checks allow for the creation of fairly complex code without the overhead of detailed administration.
Firewall Builder currently supports iptables, ipfilter, OpenBSD‘s Packet Filter, and the Cisco PIX firewalls.
Most staff uses Windows XP, because of specialized applications, such as AutoCAD and Protel that do not yet have mature equivalents under Linux. However, we’ve banned Microsoft Outlook and have not had a virus incursion in five years. Everyone uses Mozilla for web and email.
LM: Was there any initial reluctance by the development or executive staff to use open source to power Magellan’s mission-critical product line?
GRAY: Because we’d been running Linux file and web servers for years, everyone appreciated how stable it was, so Linux itself was never an issue. Moreover, having access to all of the source code for all of the components gave us control and therefore confidence in what we built.
There was some reluctance about disclosing all of our source code to reader manufacturers, but it was argued that providing source code is the same as providing circuit diagrams for the electronics. It’s just another building block of the system. Providing the source to manufacturers also builds trust and provides them with a fallback plan in the extremely unlikely case that Magellan goes out of business a few years down the track.
It’s hard for large companies to put their trust in a tiny company, let alone one that is many thousands of miles away. We intend to be around for a long time, but we’d like to make our customers happy as well.
For us, the software is a component of a system that includes readers and tags. It makes no sense to be secretive about the software, as reader manufacturers don’t gain anything by seeing it. I’ve never understood why hardware manufacturers are so paranoid about device driver source for their products. What do they think they’ll lose by disclosing it?
LM: As an overview, what technology is implemented in the Linux-based tunnel reader? How does the speed of Magellan’s RFID technology compare to other RFID systems?
GRAY: Our MagTiny distribution is based on kernel 2.2.17 and has been stable for a long time. A major upgrade to a 2.6-based system is planned. We have a running 2.4 system, but 2.6 is looking very attractive for embedded systems.
Our readers have 32 MB of Flash memory, though we only use about 5 MB of that, and they have 32 MB of RAM, though we only use about 11 MB of that. Memory is so cheap, that it makes little difference to the cost to put in a decent amount of memory to provide extra capabilities, should they be needed.
FTP and Telnet servers run on the system, allowing easy updates and configuration. A web-based configuration interface is planned when we have the time. The main application runs a socket-based server, similar to a Telnet server in concept. All commands and responses are in plain text, making application writing easy on any platform or in any language. An SSL-based version is planned for a future version for use in insecure environments.
LAING: With a command bit rate of 424 kbits per second, we’re at least 10 times faster than the competition.
LM: Why Python/PyQT for the RFID application?
GRAY: We made a design decision at the start that we wanted to build cross-platform graphical applications. It takes no more effort and provides a much more flexible application for users. We used wxPython for a while, but after using PyQt, we decided it was the one for us. I’ve used more than six cross-platform GUI libraries over the years, and I’ve never encountered one with such an elegant design and such awesome capabilities.
It makes complex things found in popular toolkits (such as MFC) ridiculously easy. A simple example is the ease of creating scalable windows, using the layout and spacer controls. This is a serious amount of code in most other systems, but it takes no coding at all, as it can be easily done in QtDesigner.
PyQt’s large user base and high degree of support encouraged us and suggested that it was likely to be widely used for a long time. No product is perfect, but I have yet to find any serious bugs with it. I’d like a few extra features, but it’s so comprehensive already, it seems churlish to ask for more.
LM: Has your decision to use open source technologies hindered corporate acceptance of your products?
GRAY: No. Indeed, the opposite seems true. Because we’re often dealing with manufacturers, they appreciate having access to everything in the system.
End users in the main don’t care either way. They want a system that works, and as long as it does that, they don’t mind. The widespread adoption of Linux for embedded systems means that most people accept it without raising an eyebrow.
LM: One of your clients is a jeweler in the United States. Could you tell us a bit more about their application?
LAING: The company is using Magellan for stock control of over 10,000 diamond stones. Each stone is packed individually and is moved through a number of processes from cutting to polishing. A tray of 100 stones is read by the tunnel reader each morning after coming out of the safe. At night, the same tray is passed through the tunnel and manifests from the morning and evening are compared. It takes one second to read one hundred RFID tags, as compared to twenty minutes with a bar code reader. It’s faster and easier, and representative of what RFID can do.
If you have a particularly interesting use of Open Source software, please contact us at firstname.lastname@example.org with the details and we’ll be in touch. Special thanks to Ken Laing and Jeff Gray for providing valuable insight into Magellan Technology.