From b659b96a58fdeebab17ad8509e3dca44a9a74c8c Mon Sep 17 00:00:00 2001 From: AUmrysh Date: Thu, 24 Oct 2013 22:31:33 -0400 Subject: [PATCH] Added 2 files for client/server GrooveLights.js is client lights.js is server --- GrooveLights.js | 1012 +++++++++++++++++++++++++++++++++++++++++++++++ lights.js | 42 ++ 2 files changed, 1054 insertions(+) create mode 100644 GrooveLights.js create mode 100644 lights.js diff --git a/GrooveLights.js b/GrooveLights.js new file mode 100644 index 0000000..3179b51 --- /dev/null +++ b/GrooveLights.js @@ -0,0 +1,1012 @@ + \ No newline at end of file diff --git a/lights.js b/lights.js new file mode 100644 index 0000000..76d1c44 --- /dev/null +++ b/lights.js @@ -0,0 +1,42 @@ +var SerialPort = require("serialport").SerialPort +var serialPort = new SerialPort("/dev/ttyACM0", { + baudrate: 115200 +}); +var http = require("http"); +var url = require('url'); + +function isEmpty(obj) { + for(var key in obj) { + if(obj.hasOwnProperty(key)) + return false; + } + return true; +} + + +http.createServer(function(request, response) { + request.on('end', function() { + var url_parts = url.parse(request.url, true); + var params = url_parts.query; + if (!isEmpty(params)) { + var r = ("00" + params['r']).slice(-3); + var g = ("00" + params['g']).slice(-3); + var b = ("00" + params['b']).slice(-3); + if (r >= 256) { + r = 255; + } + if (g >= 256) { + g = 255; + } + if (b >= 256) { + b = 255; + } + serialPort.write("!0303"+b+"."); + serialPort.write("!0305"+r+"."); + serialPort.write("!0306"+g+"."); +// console.log(r+"--"+g+"--"+b); + } + }); + response.writeHead(200, {"Content-Type": "text/plain", "Access-Control-Allow-Origin": "*"}); + response.end(); +}).listen(1337);