Remote Temperature Monitoring with Linux
Digital multimeters are general-purpose electronic measurement tools. Although I used a thermistor for temperature measurement in this application, you can use other sensors that have resistance, voltage or electrical current as outputs. Some other conditions to measure include flow, pressure, weight, light level and humidity.
You don't need more multimeters to measure more than one temperature. You can connect a single multimeter to a switching device. You then would create a script to operate the switching device, which allows you to select one temperature sensor at a time.
This example shows how the tool concept behind Linux works for solving applications where cost and flexibility requirements are important. The wide variety of distributions available compared with other operating systems meant developing a system with all the features needed was practical. Additionally, you can add features using Perl and the development environment provided by the University Linux distribution.
The system can be duplicated for less than $100 US. The multimeter, thermistor and wiring accessories are available from numerous electronics retailers. Many retailers have Web sites, so it's easy to compare features, specs and pricing before ordering. Purchasing a used digital multimeter should be done with caution, as there is no easy way to tell whether accuracy of the instrument has been affected by the previous use.
Thermistors and Steinhart-Hart Equation
The plot of resistance to temperature on a graph for a thermistor looks a lot like the curve of a ski jump, and each family of thermistors has their own unique curve. So, simple y = mx + b algebra won't help to convert resistance to temperature. The equation of the curve can be described by a polynomial. The Steinhart-Hart equation is a trinomial or an equation with three terms. Solving the equation at each resistance measurement point requires three coefficients; a, b and c. Some manufacturers provide these for their thermistors. Others provide only tables of resistance to temperature.
When the coefficients aren't available, a spreadsheet utility is available to help find them using the manufacturer's tables. No algebra is required; simply enter the three values of temperature and resistance into the spreadsheet and the coefficients are calculated automatically. They are usually very small numbers, expressed in scientific notation. But the calculated coefficients can be cut and pasted from the spreadsheet into the Perl script for use, reducing errors from typing
Resources for this article: /article/8833.
Steven M. Lapinskas has a professional background that includes the areas of software quality assurance, mechanical design and project management. Some of his free time is spent experimenting to interface Linux with the real world outside the computer.
- High-Availability Storage with HA-LVM
- DNSMasq, the Pint-Sized Super Dæmon!
- Localhost DNS Cache
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- Days Between Dates: the Counting
- You're the Boss with UBOS
- The Usability of GNOME
- Linux for Astronomers
- PostgreSQL, the NoSQL Database
- Multitenant Sites