Skip to content

Commit

Permalink
Merge pull request #1 from Spottus/server
Browse files Browse the repository at this point in the history
Server
  • Loading branch information
Luca Brandimarti authored May 25, 2020
2 parents b376d3c + e470901 commit b810554
Show file tree
Hide file tree
Showing 11 changed files with 123 additions and 149 deletions.
Empty file modified .gitignore
100644 → 100755
Empty file.
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
6 changes: 6 additions & 0 deletions package-lock.json
100644 → 100755

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions package.json
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,21 @@
"description": "",
"scripts": {
"start": "node src/app.js",
"start:dev": "nodemon --watch src -e js"
"start:dev": "nodemon --watch src -e js",
"prettier": "prettier --print-width 80 --no-semi --single-quote --trailing-comma es5 --write \"{,!(node_modules)/**/}*.{js,jsx}\""
},
"dependencies": {
"dotenv": "^8.2.0",
"express": "^4.17.1",
"fopen": "^1.0.0",
"fs": "0.0.1-security",
"johnny-five": "^1.4.0",
"node-cron": "^2.0.3",
"package.json": "^2.0.1",
"serialport": "^8.0.7",
"sqlite3": "^4.2.0"
},
"devDependencies": {
"nodemon": "^2.0.3"
"nodemon": "^2.0.3",
"prettier": "^2.0.5"
}
}
34 changes: 13 additions & 21 deletions src/app.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
const express = require('express');
const dotenv = require('dotenv');
const temperature = require('./temperature/temperature.controller');
const cron = require('node-cron');


dotenv.config();
const app = express();
const port = 8080;

cron.schedule("40 * * * * *", () => {
console.log("Running Job");
console.log("-------------------");
const {board} = require('./arduino/register');
const express = require('express')
const dotenv = require('dotenv')
const temperature = require('./temperature/temperature.controller')
const {start } = require('./arduino/register')

dotenv.config()
const app = express()
const port = process.env.PORT || 8080

app.use('/temperature', temperature)
app.listen(port, () => {
console.log(`server started at http://localhost:${port}`)
start()
})


app.use('/temperature',temperature);
app.listen( port, () => {
console.log( `server started at http://localhost:${ port }`);
});

107 changes: 53 additions & 54 deletions src/arduino/register.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,58 +1,57 @@
const { Board, Thermometer } = require("johnny-five");
const sqlite3 = require('sqlite3').verbose();
const fs = require('fs');
const path = require('path');

const { Board, Thermometer } = require('johnny-five')
const fs = require('fs')
const path = require('path')

const board = new Board()


board.on("ready", () => {

const thermometer = new Thermometer({
controller: "TMP36",
pin: "A0"
});

thermometer.on("change", () => {

const ts = Date.now();
const date = new Date(ts);
let day = date.getDate();
let month = date.getMonth() + 1;
let hours = date.getUTCHours() +2;
let year = date.getFullYear()
const {celsius} = thermometer;
let record = day + ',' + month + ',' + year + ',' + hours + ',' + celsius;

console.log("Thermometer");
console.log(" day : ", day);
console.log(" month : ", month);
console.log(" year : ", year)
console.log(" hours : ", hours);
console.log(" celsius : ", celsius);
console.log("--------------------------------------");

var fs = require('fs');
var logStream = fs.createWriteStream(path.resolve('./src/database/log.csv'), {flags: 'a'});
logStream.write(record);
logStream.end('\n');
sleep(1000);

});


function sleep(milliseconds) {
const date = Date.now();
let currentDate = null;
do {
currentDate = Date.now();
} while (currentDate - date < milliseconds);
}

});


module.exports = {board};

function start() {
board.on('ready', () => {
const thermometer = new Thermometer({
controller: 'TMP36',
pin: 'A0',
})

thermometer.on('change', () => {
const ts = Date.now()
const date = new Date(ts)
let day = date.getDate()
let month = date.getMonth() + 1
let hours = date.getUTCHours() + 2
let year = date.getFullYear()
const { celsius } = thermometer
let record = day + ',' + month + ',' + year + ',' + hours + ',' + celsius
save(day,month,hours,year,celsius,record);
})
})
}

function save(day,month,hours,year,celsius,record) {

console.log('Thermometer')
console.log('day: ', day)
console.log('month: ', month)
console.log('year: ', year)
console.log('hours: ', hours)
console.log('celsius: ', celsius)
console.log('--------------------------------------')

var fs = require('fs')
var logStream = fs.createWriteStream(path.resolve('./src/database/log.csv'), {
flags: 'a',
})
logStream.write(record)
logStream.end('\n')
sleep(60000);
}

function sleep(milliseconds) {
const date = Date.now()
let currentDate = null
do {
currentDate = Date.now()
} while (currentDate - date < milliseconds)
}


module.exports = { board, start }

21 changes: 0 additions & 21 deletions src/database/log.csv
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,22 +1 @@
day,month,year,hours,celsius
8,5,2020,10,19
8,5,2020,10,18
8,5,2020,10,19
8,5,2020,10,18
8,5,2020,10,19
8,5,2020,10,18
8,5,2020,11,19
8,5,2020,11,19
8,5,2020,11,18
8,5,2020,11,19
8,5,2020,11,18
8,5,2020,11,18
8,5,2020,11,19
8,5,2020,11,18
8,5,2020,11,19
8,5,2020,11,18
8,5,2020,11,19
8,5,2020,11,18
8,5,2020,11,19
8,5,2020,11,18
8,5,2020,11,19
Empty file modified src/database/temperatureDB.db
100644 → 100755
Empty file.
71 changes: 34 additions & 37 deletions src/temperature/temperature.controller.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,41 +1,38 @@
const express = require('express');
const {database} = require('./temperature.service');
const express = require('express')
const { database } = require('./temperature.service')

temperature = express.Router();
temperature = express.Router()

temperature.get('/hour-Avg/:day/:month/:year/:hours', ( req, res ) => {

var query = `SELECT avg(celsius) FROM log where log.day = '${req.params.day}' and log.month = '${req.params.month}'
temperature.get('/hour-Avg/:day/:month/:year/:hours', (req, res) => {
var query = `SELECT avg(celsius) FROM log where log.day = '${req.params.day}'
and log.month = '${req.params.month}'
and log.year = '${req.params.year}' and log.hours = '${req.params.hours}'; );`

database.get(query, (err,row) =>{
if(err) {
res.status(400).json({"error":err.message});
return;
}
res.json({
"temperature":row
});
});
});

temperature.get('/day-Avg/:day/:month/:year', ( req, res ) => {
var query = `SELECT avg(celsius) FROM log where log.day = '${req.params.day}' and log.month = '${req.params.month}'
and log.year = '${req.params.year}'; );`

database.get(query, (err,row) =>{
if(err) {
res.status(400).json({"error":err.message});
return;
}
res.json({
"temperature":row
});
});
});

module.exports = temperature;




database.get(query, (err, row) => {
if (err) {
res.status(400).json({ error: err.message })
return
}
res.json({
temperature: row,
})
})
})

temperature.get('/day-Avg/:day/:month/:year', (req, res) => {
var query = `SELECT avg(celsius) FROM log where log.day = '${req.params.day}'
and log.month = '${req.params.month}'
and log.year = '${req.params.year}'; );`

database.get(query, (err, row) => {
if (err) {
res.status(400).json({ error: err.message })
return
}
res.json({
temperature: row,
})
})
})

module.exports = temperature
26 changes: 13 additions & 13 deletions src/temperature/temperature.service.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
const sqlite3 = require('sqlite3').verbose();


let database = new sqlite3.Database('./src/database/temperatureDB.db', sqlite3.OPEN_READWRITE, (err) => {
if (err) {
console.error(err.message);
}else{
console.log('connessione al database temperatureDB');
const sqlite3 = require('sqlite3').verbose()

let database = new sqlite3.Database(
'./src/database/temperatureDB.db',
sqlite3.OPEN_READWRITE,
(err) => {
if (err) {
console.error(err.message)
} else {
console.log('connessione al database temperatureDB')
}
});

module.exports = {database};


}
)

module.exports = { database }

0 comments on commit b810554

Please sign in to comment.