[ale] [OT] how do I monitor the "weather" in my computer room
George Allen
glallen01 at gmail.com
Tue Jun 11 11:24:55 EDT 2013
RRDtool may also be a useful addition (time-series graphs):
http://oss.oetiker.ch/rrdtool/index.en.html
(and for a temperature-specific example):
http://web-tech.ga-usa.com/2012/05/creating-color-gradients-with-rrdtool-bash-using-temperatures/
On Tue, Jun 11, 2013 at 1:49 AM, Ron Frazier (ALE)
<atllinuxenthinfo at techstarship.com> wrote:
> Hi all,
>
> As promised, here are the final versions of the scripts used to monitor the
> temperatures on my mint machine and provide the data via web page.
>
> The following commands start everything up:
>
> # section to start temperature monitoring scripts
>
> cd ~/temperature-scripts
>
> # commands to start the sensor monitoring script
>
> mate-terminal --geometry=82x5+0450+800 -t "Monitor Temperature Sensors" -e
> "watch -n 15 ./checktemps.sh" &>/dev/null &
>
> # commands to start the mini temperature web server
>
> mate-terminal --geometry=82x5+01800+800 -t "Run Temperature Web Server" -e
> ./startminitempwebserver.sh &>/dev/null &
>
> ----------------------
>
> Here is the checktemps.sh which is executed every 15 sec by the watch
> command. I made some mods to make this a more standard html file.:
>
> #!/bin/bash
>
> # Script to monitor temperatures on the pc and save data to an html file.
> # This script can be called repeatedly using the watch command.
> # Ron Frazier - 2013-06-07
>
> cd ~/temperature-scripts
>
> {
>
> # read the temperature sensors and create temporary html file
>
> echo '<!DOCTYPE html>'
> echo '<html>'
>
> echo '<head>'
> echo '<title>Bugs01 Temperatures</title>'
> echo '</head>'
>
> echo '<body>'
>
> echo 'Bugs01 Temperatures'
> echo '<p>'
>
> date
> echo '<p>'
>
> echo 'CPU - '
> sensors | grep 'temp1'
> echo '<p>'
>
> # used visudo to set hddtemp to not require sudo password
>
> echo 'HDD1 - '
> sudo -S hddtemp /dev/sda
> echo '<p>'
>
> echo 'HDD2 - '
> sudo -S hddtemp /dev/sdb
> echo '<p>'
>
> echo 'GPU0 - '
> aticonfig --adapter=0 --odgt
> echo '<p>'
>
> echo 'GPU1 - '
> aticonfig --adapter=1 --odgt
> echo '<p>'
>
> echo 'GPU2 - '
> aticonfig --adapter=2 --odgt
> echo '<p>'
>
> echo '</body>'
>
> echo '</html>'
> echo ""
>
> } > ./scratch/scratch-temperature.html
>
> # copy the temporary file to the usable file to prevent partial file
> retrieval
>
> mv ./scratch/scratch-temperature.html ./temperature.html
>
> ---------------------
>
> Here is the startminitempwebserver.sh which runs netcat continuously to
> serve up my 1 web page. You could do many different pages on different
> ports if you wanted. I was never able to get proper formatting on alternate
> ports by using the content type definitions. This script embeds some
> headers into the web page before it is served. This makes the browser
> happy. Not quite sure what all this does, found it on google, but it
> works.:
>
> #!/bin/bash
> cd ~/temperature-scripts
>
> while true; do { echo -ne "HTTP/1.0 200 OK\r\nContent-Length: $(wc -c
> <./temperature.html)\r\n\r\n"; cat ./temperature.html; } | nc -l 56789; done
>
> ---------------------
>
> I had to modify the sudoers file with visudo to allow use of hddtemp without
> a sudo password.:
>
> #
> # This file MUST be edited with the 'visudo' command as root.
> #
> # Please consider adding local content in /etc/sudoers.d/ instead of
> # directly modifying this file.
> #
> # See the man page for details on how to write a sudoers file.
> #
> Defaults env_reset
> Defaults
> secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
>
> # Host alias specification
>
> # User alias specification
>
> # Cmnd alias specification
>
> # User privilege specification
> root ALL=(ALL:ALL) ALL
>
> # Members of the admin group may gain root privileges
> %admin ALL=(ALL) ALL
>
> # Allow members of group sudo to execute any command
> %sudo ALL=(ALL:ALL) ALL
>
> # See sudoers(5) for more information on "#include" directives:
>
> #includedir /etc/sudoers.d
>
> # line to remove password requirement for hddtemp - may have to be at end of
> file
> ron ALL=(ALL) NOPASSWD: /usr/sbin/hddtemp
>
> ---------------
>
> Here is a sample of the html file that gets generated every 15 seconds. I
> can view this from any computer on my network that's attached to the same
> router. I could also possibly upload it to dropbox every 5 minutes, but I
> don't know if they'd like that.
>
> Bugs01 Temperatures
>
> Sun Jun 9 10:19:36 EDT 2013
>
> CPU - temp1: +44.6°C (high = +70.0°C)
>
> HDD1 - /dev/sda: ST9320320AS: 26°C
>
> HDD2 - /dev/sdb: ST95005620AS: 29°C
>
> GPU0 - Adapter 0 - AMD Radeon HD 7800 Series Sensor 0: Temperature - 81.00 C
>
> GPU1 - Adapter 1 - AMD Radeon HD 6700 Series Sensor 0: Temperature - 77.00 C
>
> GPU2 - Adapter 2 - AMD Radeon HD 7800 Series Sensor 0: Temperature - 71.00 C
>
> ------------------
>
> Thanks for the help in solving my problem. Anyone is welcome to use the
> scripts.
>
> Sincerely,
>
> Ron
>
>
>
> On 6/7/2013 8:11 PM, Ron Frazier (ALE) wrote:
>
> Hi all,
>
> Hip Hip Hurray!
>
> I finally got my remote "weather" monitoring system running. It was NOT
> easy. I spent all day (thus far) rewriting and editing scripts and, among
> other things, troubleshooting problems with commands that require sudo and
> funky web page formatting from netcat. Thanks to all for the relevant and
> specific tips you provided. I wouldn't have been able to do this without
> your help in any reasonable about of time. I can now monitor the
> temperatures inside my downstairs computer from a web browser on my upstairs
> computer as long as they're on the same wifi router. I can even monitor it
> from my tablet. Very cool!
>
> I have implemented a number of the tips you all gave me. Many different
> script files are involved, which I hope to post before next week, so others
> can benefit from the information. I have also been working on other
> technologies, including running spinrite to test a hard drive in a vm while
> I'm doing other things with the computer, which was not possible for me
> before. I wrote another post about that.
>
> You might find this interesting.
>
> https://dl.dropboxusercontent.com/u/9879631/master-control.png
>
> This is what I call my master control screen on a second monitor. That's
> where I keep track of a number of things I have going on in the pc.
>
> Here's what each window does numbering from left to right:
>
> Top Row:
>
> window 1: monitors litecoin mining
> window 2: monitors the cpu cores
> window 3: spinrite running in a vm - YEA! (very slowly - BOO!)
>
> Middle Row:
>
> window 4: litecoin wallet
> window 5: monitors local gpu 1 - mainly temperature
> window 6: monitors local gpu 2 - mainly temperature
> window 7: monitors local weather radar - so I can shut down if storms are
> coming
>
> Bottom Row:
>
> window 8: monitors litecoin pricing
> window 9: monitors temperatures in the basement computer - YEA!
>
> Reestablishing all these things when I reboot is a major pain, so I try not
> to do so too often.
>
> I'm very pleased with the results today, although I had hoped it would go
> faster. All the screens auto update. For the ones that are browser based,
> I make extensive use of an auto update plugin for firefox and of the ability
> to scale the web page in firefox by hitting the ctrl- and ctrl+ keys. I
> then size the window to fit the image.
>
> Here's the plugin: http://reloadevery.mozdev.org/
>
> There is one bug in my temperature monitoring system. On any particular
> refresh of the web page for the Bugs01 machine, it displays the web page
> that was active at the time of the previous refresh. I'm assuming that
> netcat precaches the file it will be transmitting when it starts and then
> waits for a request. I'm not too worried about it since I have the web page
> refreshing every 1 minute. On the server side, it generates a new
> temperature.html every 15 seconds. So, the data I'm seeing on the screen
> could be up to 2 minutes out of date depending on the timing of the refresh
> cycle. That's ok for my purposes.
>
> A side effect of having this display is that I can tell if the Bugs01 clock
> is wandering. I haven't set ntp up on that one yet.
>
> Again, thanks for all the help.
>
> Sincerely,
>
> Ron
>
>
>
> --
>
> (PS - If you email me and don't get a quick response, you might want to
> call on the phone. I get about 300 emails per day from alternate energy
> mailing lists and such. I don't always see new email messages very
> quickly.)
>
> Ron Frazier
> 770-205-9422 (O) Leave a message.
> linuxdude AT techstarship.com
> Litecoin: LZzAJu9rZEWzALxDhAHnWLRvybVAVgwTh3
> Bitcoin: 15s3aLVsxm8EuQvT8gUDw3RWqvuY9hPGUU
>
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo
>
More information about the Ale
mailing list