added the express server listening for blink requests

This commit is contained in:
Petros Angelatos 2013-07-20 03:57:51 +01:00
parent ca71bff06b
commit 999a0361a1
2 changed files with 30 additions and 1 deletions

View File

@ -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)

View File

@ -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"