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.
|Red Hat Enterprise Linux 7.1 beta available on IBM Power Platform||Jan 23, 2015|
|Designing with Linux||Jan 22, 2015|
|Wondershaper—QOS in a Pinch||Jan 21, 2015|
|Ideal Backups with zbackup||Jan 19, 2015|
|Non-Linux FOSS: Animation Made Easy||Jan 14, 2015|
|Internet of Things Blows Away CES, and it May Be Hunting for YOU Next||Jan 12, 2015|
- Designing with Linux
- Wondershaper—QOS in a Pinch
- Red Hat Enterprise Linux 7.1 beta available on IBM Power Platform
- Internet of Things Blows Away CES, and it May Be Hunting for YOU Next
- Ideal Backups with zbackup
- Slow System? iotop Is Your Friend
- Hats Off to Mozilla
- Non-Linux FOSS: Animation Made Easy
- diff -u: What's New in Kernel Development
- New Products
Editorial Advisory Panel
Thank you to our 2014 Editorial Advisors!
- Jeff Parent
- Brad Baillio
- Nick Baronian
- Steve Case
- Chadalavada Kalyana
- Caleb Cullen
- Keir Davis
- Michael Eager
- Nick Faltys
- Dennis Frey
- Philip Jacob
- Jay Kruizenga
- Steve Marquez
- Dave McAllister
- Craig Oda
- Mike Roberts
- Chris Stark
- Patrick Swartz
- David Lynch
- Alicia Gibb
- Thomas Quinlan
- Carson McDonald
- Kristen Shoemaker
- Charnell Luchich
- James Walker
- Victor Gregorio
- Hari Boukis
- Brian Conner
- David Lane