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.
|September 2015 Issue of Linux Journal: HOW-TOs||Sep 01, 2015|
|September 2015 Video Preview||Sep 01, 2015|
|Using tshark to Watch and Inspect Network Traffic||Aug 31, 2015|
|Where's That Pesky Hidden Word?||Aug 28, 2015|
|A Project to Guarantee Better Security for Open-Source Projects||Aug 27, 2015|
|Concerning Containers' Connections: on Docker Networking||Aug 26, 2015|
- Optimization in GCC
- Using tshark to Watch and Inspect Network Traffic
- September 2015 Issue of Linux Journal: HOW-TOs
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- Concerning Containers' Connections: on Docker Networking
- A Project to Guarantee Better Security for Open-Source Projects
- Where's That Pesky Hidden Word?
- Firefox Security Exploit Targets Linux Users and Web Developers
- My Network Go-Bag
- Doing Astronomy with Python