Logging events remotely and reporting back to a central analysis station often creates difficulties. This article describes a compact module with integrated I/O, networking, and Web server technology that helped a manufacturer design a distributed remote monitoring system for home appliances.
In a recent large-scale consumer research program, a major manufacturer of household products needed to monitor the use of home appliances at widely dispersed geographic locations. This project required recording several temperature and flow rates along with electrical power usage. The testing group needed to collect data at multiple locations and periodically feed that data back to a central server via wired and wireless communication links.
The manufacturer investigated a number of different test monitoring systems, including a custom-designed data logging system and a commercially available modular data collection system. Engineers evaluated each system based on its ability to connect to the sensors they planned to use, flexibility to connect to various communication devices to suit different geographic locations, and customer configurations, size, and cost.
Working with the appliance manufacturer, Computer Aided Solutions helped design a prototype system built around the ProDigio miniature Web server to enable collection, storage, and transmission of the data. ProDigio is a micro Web server module that includes many standard I/O interfaces to connect to existing devices. A built-in HTTP server, along with a simple script language interface, allows rapid development of standalone Web servers embedded in a piece of equipment. Additional capabilities include e-mail support, modem support (both PSTN and cellular), and wireless networking.
Integrated Web server module
The ProDigio family of products is based on a highly integrated Web server chip, and has been built with a SH7705 processor, SDRAM, and flash. This module, shown in Figure 1, is the foundation for a family of standalone servers, and provides a wide range of functionality in a compact (2² x 2²) package, including these features:
10/100BASE-TX Ethernet
USB for connection to a PC or storage device
Three RS-232C serial ports
16 bits of Digital I/O
Two A/D channels
I2C interface
Two CompactFlash slots
Real-time clock
Figure 1
The ProDigio module is programmed through a “C-like” script language interface. This is greatly simplified with built-in support for many common network server and client functions including TCP/IP, PPP, DHCP, FTP, and Telnet. An HTTP server allows the module to deliver Web pages, and CGI/SSI scripting support enables sending or receiving live data from these pages. An SMTP server with high-level functions like sendmail allows generating e-mail messages on alarm conditions or transferring data via e-mail. The operating system also supports a DOS-compatible, FAT32-compatible file system, making it easy to exchange files with a PC. Additional device support includes 802.11 wireless LAN cards, AT command compatible modems, and several GPRS/GSM CompactFlash modem cards. The operating system also supports event-based operation where events can be timer-based, time-based, or serial or parallel I/O-triggered.
Data logging components
The data logging system used in this project integrates the ProDigio WSC31 Web server module with a baseboard that brings out the I/O to standard connectors. In addition to the Web server module, there are five other key components:
A small signal conditioning/multiplexer board. This board provides excitation for the temperature sensor, and multiplexes the temperature signals to the A/D converters in the module. This board also has two counter/latch circuits to capture the pulse outputs from the flow sensors. This data can then be read by the module through its digital I/O port.
The power consumption of the appliances was monitored via watt-hour transducers that output data via an RS-485 bus. An RS-232 to RS-485 converter was used to interface this to the serial ports.
Local data storage was available via either CompactFlash memory or a USB memory stick.
Communications to the central host were made using one of several available options: 10BASE-T Ethernet, landline modem (either directly or through a short-range wireless Bluetooth link), or an Ambicom cellular modem.
A simple script program was created to collect and store data at regular intervals whenever the appliance was in operation. A second task was written to periodically transmit the data to the host computer.
Capturing temperatures
Measurement of the temperature inputs created a challenge in the design of this system. The customer had already decided to use a 10 kΩ thermistor temperature sensor, which provides a nonlinear resistance vs. temperature output. In this case the temperature range to be measured was 0 °C to 100 °C for which the resistance varied from 32 kΩ to 680 Ω. Several approaches were considered, including signal conditioner ICs, but in the end a simple voltage divider circuit was used with a third order polynomial software correction. Provisions in the circuit were made to also read the supply voltage to correct for any possible drift. Microsoft Excel was used to optimize the component values and polynomial coefficients. The result was an average error of less than 1 °C over the range of interest.
The programming for this project was straightforward. On system startup, a timer event was registered to periodically call a data collection task to acquire the sensor data and append it to a text file with a time and date stamp. The data collection task utilized several digital output bits to select one of the different sensors through a simple address decoder. Then, depending on the device, thermistor, counter, or serial device, data was read in through the appropriate port and scaled to the correct units. The data file can be periodically read by the host or alternatively e-mailed to the host by the module.
Summary
This implementation has several advantages compared with other alternatives under consideration:
Small size – less than one-fourth the size of the alternative system
Improved flexibility – more standard interfaces and communications options allowing greater freedom in configuring the systems for individual sites and applications
Lower cost – By building the system around a compact, low cost communications processor, the overall system cost was reduced by nearly half
The ProDigio miniature Web server can be customized for a wide range of applications, including remote weather stations, networked data loggers, equipment monitoring, and document servers. Output capabilities also allow the module to provide remote control of devices.
. . . . .
Terry Nagy is the marketing and special projects manager at Computer Aided Solutions. He holds BS and MS degrees in Electrical Engineering/Applied Physics from Case Western Reserve University and an MBA degree from the Case Weatherhead School of Management. Prior to joining CAS, he worked at Keithley Instruments for 17 years in various positions including applications engineer, applications manager, and project manager.