|
by
Todd Rytting
Start ı For
Exampleı ı Development ı C/C++
ı Visual Basic ı Keep
Your Change ı Sources and PDF
FOR EXAMPLEı
In July of 1998, emWare joined several
other companies in a meeting at SAP Labs. SAP described a demonstration
they wanted to include in the 1998 Developerıs Conference in August.
At the previous yearıs conference, SAP demonstrated an Internet-enabled
vending machine. However, the technology that was demonstrated was
not economically feasible for real-world implementation. A 32-bit
DEC computer had been installed in the base of a vending machine to
deliver the Internet connectivity.
SAP asked emWare to participate with
other companies in a demonstration for the 1998 Developerıs Conference
that showcased a more realistic approach for networking embedded devices.
After four weeks of hard work and coordination on many different fronts,
the Internet-networked vending machine shown in Figure 1 was demonstrated,
live and "in-machine."
 |
| Figure 1ıHereıs how the system
was set up for the SAP Developerıs Conference demonstration |
emWareıs EMIT device-networking software
Internet-enabled vending machines with an 8-bit MCU. The vending machine
was connected via serial cable to a COM port on a desktop PC running
emGateway.
emWare served as the embedded-system
developer for this project and created a JAVA GUI, using emObjects,
for controlling the vending machines across the Internet using a standard
web browser.
Abaco and SAP used the EMIT Access Library
(EAL) to remotely access the data in the vending machine and move
it into SAPıs R3 product (a software product that manages and integrates
all phases of business operation). IBM used its voice-recognition
software engine and the EAL to control the vending machine from a
phone call into a remote telephony server.
SAP engineers used Micronıs Microstamp
wireless ID badge recognition system and EAL to authorize coinless
dispensing of cans to holders of authorized badges. The vending machine
logged the identification of the person who dispensed the can for
eventual tracking by R3.
|
Connect
Your PIC to the Internet
Now,
Getting Connected to the
Internet Can Earn You Cash.
More information
|
Sybase and SAP then used the Palm III
PDA to monitor and control the vending machine with infrared communication.
The Palm Pilot would vend cans, interrogate the machine, and download
statistical information that could later be hot-synched into R3.
The demonstration showcased an embedded
device with an inexpensive 8-bit MCU that was network-enabled with
a serial connection, accessed and controlled from the Internet, and
managed using a variety of sophisticated user interfaces.
Once we had an 8-bit MCU with an embedded
application integrated with emMicro, all the user interfaces could
connect to it through emGateway. No changes were required to the embedded
device code to create, add, change, or modify the user interfaces.
An example of the browser-based user interface is shown in Photo 1.
 |
 |
 |
| Photo 1ıThe web browser-based
user interface panels allowed vending of cans, monitoring of status
and downloading of historical data. |
Ideally, emMicro would be embedded in
the MCU that is on the OEM vending machine controller. Because time
was extremely short for this demo, we used one of the SDK reference
boards that was included in the EMIT SDK. The SDK board took control
of the front-panel buttons, door-open sensor, can-drop sensor, and
a vend-override jumper.
We wrote an embedded application for
the SDK reference board that intercepted a button push, then checked
to see if an authorized variable in the embedded application had been
set from emGateway. If the variable had been set (indicating an authorized
request for a can), a relay from the MCU activated an actual vending
machine button push and the vend override jumper, causing the proper
can to drop. This "authorized variable" could be set via
emGateway from the ID badge system, a web browser, the speech recognition
server, or directly from the Palm III.
We also used the spare serial port on
the SDK reference board to communicate with the OEM controllerıs serial
port using the vending industry DEX protocol. When a client requested
a download of the machine status, that request would be passed on
to the OEM controller through the SDK reference board. The embedded
application would capture the DEX data download and store it in an
embedded variable array that was available to a client via emGateway.
For a production implementation, the
OEM controller designer could add emMicro to his embedded application
and then burn a new MCU or re-flash memory the existing one, and use
the existing serial port to communicate with emGateway. The cost of
the hardware required to network-enable the vending machine is an
MCU with new code and a serial connector for emGateway. The emGateway
PC would be in a central location in a region and, via modem, could
individually dial-up and connect with many vending machines within
a designated local calling zone.
The vending machine demonstration clearly
illustrates how tools like EMIT can be used to provide an embedded-device
networking solution. We havenıt provided any of the actual vending
code for you to experiment with because not many people have a vending
machine at their disposal. Instead, the examples in the rest of the
article illustrate the same functionality using either the EMIT SDK
reference board (available for free) or your own hardware as an experimentation
platform.
PREVIOUS
NEXT
Circuit Cellar provides up-to-date information for engineers. Visit
www.circuitcellar.com for
more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com
or subscribe online.
ıCircuit Cellar, the Magazine for Computer Applications. Posted with
permission. |