Bitcoin Forum
December 07, 2016, 10:21:42 PM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Remote GPU monitor with fan control  (Read 2582 times)
Sannyasi
Sr. Member
****
Offline Offline

Activity: 455



View Profile WWW
February 20, 2012, 04:22:33 AM
 #1

Hey everyone, a friend of mine who isn't very active in the forums made a handy piece of software for remotely monitoring gpu temperatures and controlling fan speeds through a web browser. He can only post in the noobie section so I figured I'd post here for those of you who filter out the noob section (like me Tongue ) I helped him test it and it works quite well. I quoted him below along with a link to the original post.

https://bitcointalk.org/index.php?topic=64494.0

Hello everyone. This isn't exactly the place I would want to release this, but being a newb to the forum I have no choice. Tongue

About the project
Yesterday a miner friend of mine was trying to get me back into mining. I started but the machine was across the room. I hated moving out of bed to check on the temps of the machine and I didn't know the IP to remote into it. So. I did some research and set aside 24 hours for me to work on this project. This is the result of my 24 hour coding challenge.

I finished it a few hours short of my allotted 24 hours, which also included 6 hours of sleep so the project itself might not be that great but the base of it is something that could definitely be expanded upon.

What is it?
GpuControl is a remote control panel for monitoring your your remote machines. Notice I said, MachineS. yes. This software supports multiple machines to be controlled and monitored all in real time. Well, semi real time. The Client program collects data every 2 seconds (can be adjusted as it is open source though). Then add onto that the time it takes for information to travel across the interwebz.

How does it work?
Ok, this might turn off a lot of users but it uses VB.net (useful for rapid prototyping) and MSI Afterburner. MSI Afterburner offers an IPC (Inter Process communications) API that I can use to talk to it about the graphics cards. This makes the client have high compatibility out of the gate. So I'll build a layer of how this control panel works:

Client: This is the program that runs on your mining rigs. It gathers a list of all your GPUs and connects to the server
Server: this is a node.js server that listens to 2 ports. 1 for the client, and 1 for socket.io communication for the web browser control panel.
HTML: This is a static HTML file that connects to the server, and sends and receives requests from the server. You wouldn't need a webserver for this file.

Pros vs. Cons?
Pros:
  • Allows for cross platform checking of GPU Temps, and allows adjustments of fan speed from remote panel (Only needs a web browser to work)
  • Client to server uses SSL communications to keep things private.
  • CLient to server uses simple authorization to prevent unauthorized machines from connecting to the server
  • Simple server to html authentication to prevent just anyone from controlling your server
  • Has high compatibility with any card MSI Afterburner supports
  • Includes simple auto fan increase when approaching a certain temp. (Ie: increase fan speed 10% when reaching 90C)

Cons:
  • Currently the client is windows only
  • Socket.io to HTML connection not secured (I'm sure its somewhat simple to implement, just didn't care enough)
  • Relies on MSI Afterburner
  • Security is probably not up to par of what some would expect (I'm not a security expert)
  • The server is only coded to allow 1 user to view the temps at a time. This was more a lazy thing than a not possible thing.

Summary
Its a pretty straight forward panel really. Quick "how to setup" thing:
1) Compile Client
2) Install Node.js on a server
3) Install socket.io either via npm or by checking out their code from github
4) Place the html file under a web server
5) Configure host for client, and html file.
6) In the node-server.js (node server), edit the server keys. They can be anything you want really. I used a random 16-character string for mine.
7) Edit passwords list. This is for the control panel.

I apologize in advanced for the horribly non-commented code I have produced. As I said, this was a 24 hour project. I wasn't really expecting to release it but my friend said it was really good. I also had the intention of marketing it, but due to the fact that DDoS attacks tend to follow bitcoin related operations, I decided it wasn't worth it.

Ok, enough talk. You can find the code here:
https://github.com/dabbers/GpuControl

If you have any questions, feel free to ask.
As for license, I don't have one. It's free for anyone to use, abuse, sell, buy, whatever. I'd appreciate some credit and/or donation if it does benefit you though.

If you wish to donate, you can send a little something something here: 1KTum8RdSKE8WNbCCqgwgRgYhA3TszbUiY

If you don't have Visual Studio 2010, I can upload compiled versions of the software.



Thanks, hope you enjoy!

1DxP5iL6hN5Gd3cwmDz9uFSntW8ALBQaGK

http://gamerkeys.net/common/home.htm <- the best place to get games!

my portfoio: http://windowsofamind.com
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481149302
Hero Member
*
Offline Offline

Posts: 1481149302

View Profile Personal Message (Offline)

Ignore
1481149302
Reply with quote  #2

1481149302
Report to moderator
1481149302
Hero Member
*
Offline Offline

Posts: 1481149302

View Profile Personal Message (Offline)

Ignore
1481149302
Reply with quote  #2

1481149302
Report to moderator
1481149302
Hero Member
*
Offline Offline

Posts: 1481149302

View Profile Personal Message (Offline)

Ignore
1481149302
Reply with quote  #2

1481149302
Report to moderator
dab
Jr. Member
*
Offline Offline

Activity: 42


View Profile
February 22, 2012, 03:07:19 AM
 #2

Thanks for exposing this here. I'm finally free of the newb jail. Just thought I'd give this a bump. I also think that the post more accurately belongs in the Project Development forums, but that's just what I think. Tongue


Thanks for posting this san. Smiley
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!