3 ms·
Monitoring our machine room temperature with nagios, perl and arduino
- mercuryrising 14y agoThis is the kind of stuff python is really good at doing. I can't really vibe with Perl, but this Python script should work well, another one with graphing coming soon. Plain reader/logger: https://gist.github.com/2980913 https://gist.github.com/2980913 EDIT: I don't have an Arduino on hand to test this with, I hope it works. EDITEDIT: Pulled my Arduino out, it works now. Grapher/reader/logger: https://gist.github.com/2980955 https://gist.github.com/2980955
- toufka 14y agoany way to do this for -80C freezers? Many sensors used don't work at such cold temps - but it'd be really useful to build a similar (cheap) device to monitor freezers.
- mercuryrising 14y agoAbsolutely. You'll likely need to use a thermocouple though. Something like this http://www.adafruit.com/products/270 http://www.adafruit.com/products/270 and this http://www.adafruit.com/products/269 http://www.adafruit.com/products/269 play nicely together. Hook the sensor up to the Arduino, have it print out the values when you want them, go to town. The only draw back is that you'll have to run the thermocouple into the refrigerator and seal it. Most electronics are rated to about -40C, so unfortunately you won't have a nice wireless solution.
- michaelcampbell 14y agoSerious question: Why are most electronics rated to -40? (Note: -40C and -40F are the same... =) Anyway, is it due to thermal contraction/expansion at that temp vs. "room temperature" that they spend at least some of their life at?
- mercuryrising 14y agoCompared to the temperature changes that the wafers go through when processing (>800C for annealing, lower temperatures when we start putting more materials on the silicon's surface), the silicon itself will likely be fine from the temperature shifts. It will be more brittle, but the amount of wafer in a semiconductor is so small it likely won't crack. We have to worry a little bit about the plastic expanding differently than the wafer, but the wafers are so teeny it likely won't be an issue. Electronics usually work better when they get colder, just look at the people who overclock with liquid nitrogen, although the silicon inside is still providing a heat source, preventing the silicon from getting to 77K. Back to the answer though, I don't know for sure. A little bit of googling brought me here http://www.electronics-cooling.com/2004/02/the-temperature-ratings-of-electronic-parts/ http://www.electronics-cooling.com/2004/02/the-temperature-r... where they said 'hot electrons' are a cause of degradation. When electronics are running under normal conditions, there's lots of bumping into each other. The kinetic energy of the electrons never gets too high, as any electrons that gain energy will 'collide' with another electron, transferring some of the energy. When it gets sufficiently cold though, the electrons are not moving around as much. There's less chance of a collision, and more chance they electrons will gain enough energy to quantum mechanically tunnel into the insulator. This is bad, as we now have charges that are stored in our gate and they cannot be removed. Interestingly, this is the same principle that allows us to build flash memory. There is a 'floating gate' that stores charge for an extended period of time (hopefully indefinitely if you don't want to lose your data). By applying a large voltage to the gate, we can charge or uncharge the gate, allowing us to write 1's and 0's. But that's just my theory, I couldn't find a clear answer in my bit of googling. The business reason would likely be that they can rate it in that range that most people are perfectly acceptable with, they don't have to test it outside those ranges, and they can make more money off of the parts that they sell outside of that range as there is less demand for them.
- cnvogel 14y agoI would try to avoid damaging the insulation to add an additional sensor, and if you just try to sneak a cable through the front door, the added small gap will let in enough moist air to give you a problem with ice forming. What kind of controller does your freezer use? You could try to tap into the analog singnal inside of the controller or try to find a serial port (most temp.controllers have some kind of protocol specified where you can adjust timing parameters (P.I.D. constants, duty-cycle limits, ...)). Even a 7-segment display can be converted back to digits on a serial port easily.
- moe 14y agoNice hack! If you don't want to build your own it's worth noting that you can also buy USB-thermometers relatively cheaply on amazon, they're around $20 bucks. We've had good success with the ones labeled "TEMPer" under linux. Don't forget to buy USB extension chords if you want to place them at a distance of the machine.
- gruturo 14y agoAs nice as your project is, you could simply have read the temperature from almost any computer, router, switch, etc. Just google cisco (or Juniper, Extreme, etc) temperature MIB to get started. Some devices give you 4 or even more readings (like temp at the intake fan, cpu temp, temp at out fan, etc). Many servers have multiple temperature sensors as well, generally accessible with some vendor-specific MIBs, plus you of course have LM78-style sensors for pretty much any modern motherboard. Of course some of these don't give you room temperature, but they will climb anyway if something's wrong with the room temperature. If 5 or 6 different boxes in the top left corner of the room all start climbing you know something's up. For Linux, check libsensors and lm78. Many Sun boxes will give you temperature readings with prtdiag -v and you can easily turn that into a MIB via e.g. ucDavis SNMP agent.
- cnvogel 14y agoThis information is for sure valuable and I would definitely include readings from stable infrastructure devices in any environmental monitoring. On the other hand, sometimes you want to measure cabinets where either no easily accessible monitoring device is located (servers operated by contractors, telecommunications equipment that does not connect to ethernet or standard protocols,...) or you want to have readings directly at cold-air-outlets/hot-air-inlets, or in the middle of corridors. In that situation some independent sensor network might be a reasonable solution, I had good experience with onewire temperature sensors, not the most precise thermometers, but rather cheap, and very easy to connect in parallel to a 3-wire cable (GND, +5V, Data). All devices have a worldwide unique ID and can be read out by a simple... cat /mnt/onewire/01-ABCDEFGHIJKL/temperature - DS18S20 temperature sensor http://www.maxim-ic.com/datasheet/index.mvp/id/2815 - DS9490 USB to 1Wire interface (like a USB stick with a RJ11 connector on the back) http://www.maxim-ic.com/datasheet/index.mvp/id/3834 - Onewire Filesystem http://owfs.org/