Git Product home page Git Product logo

server_rack_display's Introduction

Server Rack Display

This system is designed to display real-time network data. It receives GET requests with the data set in query parameters and publishes them to a browser canvas.

!! NOTE: Nothing will launch automatically upon bootup. Until we decide what system we are going with, you will need a keyboard and monitor.

Hardware

Software

Make sure the Triple Head is setup properly and the three external screens are showing as a single screen before proceeding.

Pull this repo to the Mac Mini’s desktop. All directories that appear Capitalized are operational animations that respond to live data. You can run them individually, or launch the menu with index.html (recommended). To do the latter, follow these steps:

  1. cd into the “server_rack_display” dir.
  2. run “node server.js”
  3. Navigate browser to localhost:3000

Select the animation you want to run by right-clicking and opening in a new window. This will open a small (500 x 500) preview of the animation. To create a full-size (3840 x 716) canvas, toggle the ‘1’ key. Move the screen to the rack monitor. Press ‘1’ if you haven’t already, then force the browser into full screen mode. Voila.

Sending Data

To send data to the server, send GET requests to the Mac Mini's IP address with the port appended and the query information formatted like this:

http://<IP Address>:3000/update?cpuLoad=<#>&ramUse=<#>&cpuTemp=<#>

Javascript Example:

var baseURL = "http://<IP Address>:3000/update?";
baseURL += "cpuLoad=" + cpuLoad;
baseURL += "&ramUse=" + ramUse;
baseURL += "&cpuTemp" + cpuTemp;

httpGet(baseURL, null, null, null, function(err) {
	console.log(err);
});

Running Locally

If running locally and you need to feed it some dummy data, use the “Sender App” to do that:

  1. open another Terminal window, and cd into the “server_rack_display/sender_app” directory.
  2. run python -m SimpleHTTPServer 8000
  3. open new browser window and navigate tolocalhost:8000 to see the data controls

This app will send a GET request with the data in the query parameters, just like it would happen with any other real data.

Animation Parameters

BARS

  • CPU Load - overall height
  • Ram Usage - bar size
  • CPU Temp - color hue of bars

BALLS

  • CPU Load - speed
  • Ram Use - number
  • CPU Temp - color

RINGS

  • CPU Load - frequency
  • Ram Use - diameter
  • CPU Temp - color

BOXES/"FIREFLIES"

  • CPU Load - spin speed
  • Ram Use - num of boxes
  • CPU Temp - color

TEXT

  • CPU Load - (direct)

TO-D0

(as of 12/14/2015)

  • Neuron/Node animation
  • Particle Illusion tests (Peter's suggestion)
  • show new results to Peter and get feedback for next round
  • make final solution boot up automatically
  • add connection feedback
  • single screen solution is shipping from China and should be installed soon
  • try NeoPixel solution (LED)

server_rack_display's People

Contributors

matthewepler avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.