diff --git a/app.coffee b/app.coffee index 12cd17a5..63c4af4d 100644 --- a/app.coffee +++ b/app.coffee @@ -2,6 +2,8 @@ fs = require('fs') async = require('async') request = require('request') posix = require('posix') +express = require('express') + {exec, spawn} = require('child_process') STATE_FILE = '/opt/ewa-client-bootstrap/state.json' @@ -9,6 +11,9 @@ API_ENDPOINT = 'http://paras.rulemotion.com:1337' HAKI_PATH = '/home/haki' POLLING_INTERVAL = 30000 +LED_FILE = "/sys/class/leds/led0/brightness" +BLINK_STEP = 100 + try state = require(STATE_FILE) catch e @@ -138,3 +143,26 @@ async.series(tasks, (error, results) -> if (error) console.error(error) ) + +app = express() + +app.post('/blink', (req, res) -> + count = 0 + + async.whilst( + -> return count < 25 + (callback) -> + fs.writeFile(LED_FILE, '1', (err) -> + setTimeout( -> + fs.writeFileSync(LED_FILE, '0') + BLINK_STEP) + ) + count++ + setTimeout(callback, 2*BLINK_STEP) + (err) -> + #5 seconds have passed + ) + res.send(200) +) + +app.listen(80) diff --git a/package.json b/package.json index 106f5c07..2bf02a5b 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "coffee-script": "~1.6.3", "async": "~0.2.9", "request": "~2.22.0", - "posix": "~1.0.2" + "posix": "~1.0.2", + "express": "~3.2.6" }, "engines": [ "node >= 0.10.x"