4 Generate graphs for temperature and humidity by utilizing Munin.
9 0. Keep a logfile with the most recent single line
10 1. Use the munin plugin to generate munin-compatible data from the log file
15 0. Checkout the munin plugin code::
18 $ git clone git://git.cweiske.de/usb-wde1-tools.git
21 1. A process needs to watch the USB interface and log the last
22 line with temperature data into a log file.
23 You can do that manually with ::
25 $ socat /dev/ttyUSB0,b9600 STDOUT |./munin/log-single-line.sh test.log
27 The most easy way is to run ::
29 $ cd munin && nohup ./usb-wde1-log-last.sh &
31 once. It backgrounds the logging process and logs into ``/var/spool/usb-wde1/usb-wde1-last``.
32 This process needs to be started whenever the machine is rebooted.
34 The ``systemd/`` directory contains a ``usb-wde1-log.service`` file you can copy to
35 ``/etc/systemd/system/``. After copying it, run::
37 $ systemctl daemon-reload
38 $ systemctl start usb-wde1-log
39 $ systemctl status usb-wde1-log
40 $ systemctl enable usb-wde1-log
42 2. Link the munin plugin::
44 $ cd /etc/munin/plugins
45 $ ln -s /usr/local/src/usb-wde1-tools/munin/usb-wde1_ usb-wde1_temperature
46 $ ln -s /usr/local/src/usb-wde1-tools/munin/usb-wde1_ usb-wde1_humidity
48 3. Configure the plugins:
50 Edit ``/etc/munin/plugin-conf.d/munin-node`` and add the following lines::
53 env.logfile /var/spool/usb-wde1/usb-wde1-last
56 env.sensor0 Living room
62 $ munin-run usb-wde1_temperature autoconf
67 $ munin-run usb-wde1_temperature config
69 should display the plugin configuration with all environment variables set
72 $ munin-run usb-wde1_temperature
73 $ munin-run usb-wde1_humidity
75 should display the current values from the log file
77 5. You are done - enjoy.
81 Debugging & Development
82 =======================
83 The dummy data generator is a small php script that generates log lines
84 as they would come from the usb-wde1 usb port::
86 $ ./dummy-data-generator.php |./munin/log-single-line.sh test.log
88 Local (non-installed) plugin setup::
91 $ ln -s usb-wde1_ usb-wde1_temperature
92 $ ln -s usb-wde1_ usb-wde1_humidity
96 Running the munin plugin for development purposes is also relatively easy
97 since you can pass the environment configuration variables
98 from the munin configuration on the command line::
100 $ logfile=test.log sensors="0 1 7" ./munin/usb-wde1_temperature
102 When you have problems running the munin plugin, try to
107 from file ``usb-wde1_``
114 cu: open (/dev/ttyUSB0): Permission denied
115 cu: /dev/ttyUSB0: Line in use
117 Only way that I found to fix this was change ownership of `/dev/ttyUSB0` to uucp::
119 $ chown uucp /dev/ttyUSB0
122 HTML/Plain text output
123 ======================
124 You may use ``htmlreport/gen-html.php`` to generate HTML or plain text
125 files with the temperature and humidity information.
127 Install PHP and the PHP rrd extension (``pear install pecl/rrd``) to make it
130 Run ``gen-html.php`` every 5 minutes.