mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-08-02 14:18:21 +00:00
Initial version
This commit is contained in:
parent
4fc3fde78b
commit
bf4203d152
1 changed files with 53 additions and 0 deletions
53
plugins/other/read_serial_temperature
Executable file
53
plugins/other/read_serial_temperature
Executable file
|
@ -0,0 +1,53 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
"""
|
||||||
|
Paul Wiegmans (p.wiegmans@bonhoeffer.nl)
|
||||||
|
2009 dec 18
|
||||||
|
This munin-node plugin reads a temperature value from a serial port,
|
||||||
|
provided by a Arduino with temperature sensor.
|
||||||
|
For details see: http://amber.bonhoeffer.nl/temperatuur/
|
||||||
|
|
||||||
|
|
||||||
|
Linux: "/dev/usb/ttyUSB[n]" or "/dev/ttyUSB[n]"
|
||||||
|
first for for RedHat, second form for Debian.
|
||||||
|
e.g. "/dev/usb/ttyUSB0"
|
||||||
|
"""
|
||||||
|
|
||||||
|
import sys, serial
|
||||||
|
|
||||||
|
# Open named port at "19200,8,N,1", 1s timeout::
|
||||||
|
|
||||||
|
def gettemperature():
|
||||||
|
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
|
||||||
|
t = 0
|
||||||
|
while t<1:
|
||||||
|
line = ser.readline().strip()
|
||||||
|
if line:
|
||||||
|
temp = str(line.split(" ")[0]) # temperature in tenths celsius
|
||||||
|
i = len(temp)-1
|
||||||
|
temp = temp[:i] # return only integer value (as a string)
|
||||||
|
return temp
|
||||||
|
t += 1
|
||||||
|
ser.close()
|
||||||
|
|
||||||
|
# shamelessly copied from weather_temp_
|
||||||
|
|
||||||
|
if len(sys.argv) == 2 and sys.argv[1] == "autoconf":
|
||||||
|
|
||||||
|
print "yes"
|
||||||
|
|
||||||
|
elif len(sys.argv) == 2 and sys.argv[1] == "config":
|
||||||
|
|
||||||
|
print 'graph_title Temperatuur in de serverruimte'
|
||||||
|
print 'graph_vlabel temperature in C'
|
||||||
|
print 'graph_category System'
|
||||||
|
print 'temperature.label temperature'
|
||||||
|
print 'graph_info Dit is de temperatuur in het rek in de serverruimte B104'
|
||||||
|
print 'graph_scale no'
|
||||||
|
# lower limit 10, upper limit 50
|
||||||
|
print 'graph_args --base 1000 -l 10 -u 50'
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
print 'temperature.value %s' % gettemperature()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue