The BT redcare vending
telemetry service - vend
online - is a comprehensive, web-based machine-to-machine
("M2M") monitoring system that provides vital management information about an
operator's vending machines 24 hours a day, every day of the year.
Individual vending machines to be monitored by the system are fitted with a Vending Interface Unit (VIU); this unit retrieves audit data (sales statistics, etc) from the machine and transmits this information via GPRS to the central vend online servers.
The VIU is also able to monitor various other conditions at the machine, including temperatures, door opening/closing, and the state of the machine illumination.
All information is held in non-volatile storage at the VIU until positive confirmation is received from the central server that it has been successfully uploaded. This ensures that no data is lost in the event of GPRS failure, or loss of power to the vending machine.
The VIU was conceived by BT redcare in late 2001. Following the success of the GSM STU development, redcare Technology Ltd (formerly Versus Technology Ltd) approached Antronics Ltd for assistance in the embedded firmware development.
Antronics Ltd were able to assist redcare Technology in the following specific technical areas:
Today's vending machines contain complex microprocessor-based control systems such as are also present in many sophisticated broadband equipped computers. The presence of a processor allows the machine to monitor and record a great deal of information about the state of the machine - including sales, cash received and paid out, errors, events, temperatures, etc, etc. The purpose of the VIU is to retrieve these records (the "Audit Data") and pass it to the central vend online servers. The format of the Audit Data is defined by the European Vending Association's Data Transfer Standard - or "EVA-DTS" for short.
Vending machines use a variety of means to deliver the Audit Data. Working in cooperation with a number of vending machine manufacturers, support for MDB and DEX were developed:
MDB. An electronic vending machine typically consists of a number of microprocessor-based subsystems; the Vending Machine Controller (VMC) is in overall control, and peripheral devices handle functions such as coin acceptance, change giving, displays, credit cards, etc. These subsystems communicate using the industry-standard Multi-Drop Bus/Internal Communications Protocol (MDB/ICP, or just "MDB" for short) defined by NAMA.
The NAMA MDB specification defines an Audit Data transfer protocol, but this has not been adopted by the vending industry. Instead, some machine manufacturers have defined their own implementation. Working with one such manufacturer (and their VMC subcontractor), an interface to retrieve the Audit Data using their proprietary MDB implementation was developed.
DEX (or DEX/UCS, to be precise) provides a Direct EXchange of data with the VMC - without using MDB. This is the preferred method of Audit Data extraction in machines of North American origin, being based on systems used within the US grocery industry. It is defined by standards from GS1 US (formerly the Uniform Code Council, UCC), and based upon ANSI standard X.12.
By careful attention to the specification documents, an implementation was developed that is compatible with many different machine types from several different manufacturers - without the need for any configuration parameters. In one case, we were able to assist a machine manufacturer to correct a long-standing fault in their DEX implementation!
The
usual problem when selecting a microcontroller, once basic performance and
architecture issues have been resolved, is to identify a device with
the required set of peripherals. Almost inevitably, this involves a tradeoff
- either a part with extra, unwanted functions has to be used, or extra
software effort is required to make up for missing hardware support. The
Triscend E5 removes this problem by providing an entirely customisable peripheral set
in the programmable logic:
UARTs: The 8032 processor core provides one standard UART, and a further three were implemented in programmable logic. This allows simultaneous communications with the GSM/GPRS modem, MDB, DEX, and a "debug" port. An "interrupt expander" - also implemented in programmable logic - allows all three additional UARTs to share a single interrupt input to the 8032 processor core.
4-digit Multiplexed 7-Segment Display: Multiplexing was implemented in programmable logic to relieve the software of the need to constantly scan and update the display: the software simply writes the required 4 digits to a 4-byte register, and the programmable logic does the rest.
2-Wire Serial Interface: A real-time clock and EEPROM are attached to a 2-wire (I˛C-compatible) serial peripheral interface. A SoftModule from the standard Triscend library provides a simple register and interrupt interface to the software, while all timing and data serial/parallel conversions are handled in the programmable logic.
Buzzer: A buzzer provides audible feedback to the operator; a programmable divider was implemented in programmable logic so that the software controls the frequency by simply writing to a register.
Memory Interface: The E5 provides a highly configurable memory interface unit; this is programmed for the size, width and speed of the external Flash PROM. Additional address decoding and timing control for an external battery-backed SRAM were implemented in programmable logic.
Other Peripheral Interfaces: A conventional 8051 microcontroller accesses its IO lines via 8-bit Ports; this can be inconvenient where many interfaces of less than 8 bits are required - since the individual IO lines have to be "packed" and "unpacked" into the 8-bit ports. The E5 removes this problem by allowing IO registers of arbitrary size to be implemented.
Dallas Semiconductor's 1-Wire interface, as the name suggests, allows peripherals to be connected using only a single signal wire. This is particularly advantageous where peripherals are located remotely (due to reduced cabling costs), and where peripherals must be quickly connected and disconnected (due to simplified connector requirements).
Two 1-Wire interfaces are provided; one to support a "PID Key", and the other to support temperature sensors.
PID
Key: A vending machine contains stock to be vended, cash collected
from sales and, often, cash held to allow change to be given; clearly, these
all present a temptation to thieves. Vending machines are also often a target
for vandalism. The PID (or "Personnel Identification") key is
uses a Maxim (formerly Dallas) iButton® device to provide confirmation that access to the machine is authorised; eg,
for maintenance or stock re-filling - any other access to the machine can
be used to send an alarm over the GPRS link.
Antronics Ltd also developed the programming unit for entering the necessary identification information into the iButton device
Temperature Sensor: Many vending machines today - especially drinks machines - contain chillers and promote the fact that they sell cold drinks. The sensor allows the temperature to be monitored to ensure that the chiller is operating correctly. An alarm can be sent over the GPRS link if the temperature strays outside acceptable limits.
Over 500 VIUs are now installed and undergoing live field trials with a number of UK vending operators.
We are grateful to BT redcare for their kind permission to feature their VIU in this article.
Please note that Antronics Ltd does not sell or
support BT redcare products or services - for details of BT products and services,
please contact BT:
http://www.redcare.bt.com