Last active
November 15, 2016 23:57
-
-
Save bomboclat/319f2d1b586c4f1d82a99f8949d5c95c to your computer and use it in GitHub Desktop.
server program node
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
*Including external module | |
*/ | |
process.stdin.resume(); | |
process.stdin.setEncoding('utf8'); | |
var util = require('util'); | |
var express = require('express'); | |
var app = express(); | |
var bodyParser = require('body-parser'); | |
var sqlite3 = require('sqlite3').verbose(); | |
var db = new sqlite3.Database('index.db'); | |
/*declaring array to store charts variable*/ | |
var id; | |
var time = []; | |
var temp = []; | |
var pres = []; | |
var dbfromTo = 20; | |
/* | |
setting | |
- ejs render engine | |
- folder for static files | |
- body parser | |
*/ | |
app.set('view engine', 'ejs'); | |
app.use('/files', express.static(__dirname + '/files/')); | |
app.use(bodyParser.urlencoded({ extended: false })); | |
app.use(bodyParser.json()); | |
function database(fromTo, limit){ | |
/* | |
retrive data from database and push them in the variables | |
*/ | |
db.all('SELECT ID, time, temperature, pressure FROM record ORDER BY ID ASC LIMIT ?, ?;',[fromTo, limit] , function(err, table) { | |
id = table[0].ID; | |
for (i = 0; i < table.length; i++) { | |
time.push(table[i].time); | |
temp.push(table[i].temperature); | |
pres.push(table[i].pressure); | |
} | |
}) | |
}; | |
//first attempt to retrive data from db | |
database(100, 15); | |
/* | |
get request from browser in '/' page, | |
and recharge data from database each time the page is refreshed | |
*/ | |
app.get('/', function(req, res){ | |
database(dbfromTo, 15); | |
res.render('index', { | |
data: temp, | |
time: time, | |
data2 : pres, | |
id: id | |
}); | |
/* after the data have been rendered, the program reset the variables */ | |
time = []; | |
temp = []; | |
pres = []; | |
}); | |
/* listen on port 80 */ | |
app.listen(80, function () { | |
console.log(""); | |
console.log('listening on port 80! ...press ^C to quit'); | |
}); | |
setInterval(function(){ | |
if (dbfromTo < 738) { | |
dbfromTo ++; | |
} | |
else{ | |
dbfromTo = 20; | |
} | |
}, 5000); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment