Skip to content

Instantly share code, notes, and snippets.

@bomboclat
Last active November 15, 2016 23:57
Show Gist options
  • Save bomboclat/319f2d1b586c4f1d82a99f8949d5c95c to your computer and use it in GitHub Desktop.
Save bomboclat/319f2d1b586c4f1d82a99f8949d5c95c to your computer and use it in GitHub Desktop.
server program node
/*
*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