mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-12 02:42:48 +00:00
added sensors pages and other minor changes
This commit is contained in:
5
app.js
5
app.js
@@ -9,6 +9,7 @@ var index = require('./routes/index');
|
|||||||
var success = require('./routes/success');
|
var success = require('./routes/success');
|
||||||
var temperature = require('./routes/temperature');
|
var temperature = require('./routes/temperature');
|
||||||
var newpost = require('./routes/newpost');
|
var newpost = require('./routes/newpost');
|
||||||
|
var sensors = require('./routes/sensors');
|
||||||
|
|
||||||
var mongoose = require('mongoose');
|
var mongoose = require('mongoose');
|
||||||
var mainLoop = require('./main');
|
var mainLoop = require('./main');
|
||||||
@@ -39,12 +40,14 @@ app.use('/', index);
|
|||||||
app.use('/success', success);
|
app.use('/success', success);
|
||||||
app.use('/temperature', temperature);
|
app.use('/temperature', temperature);
|
||||||
app.use('/newpost', newpost);
|
app.use('/newpost', newpost);
|
||||||
|
app.use('/sensors', sensors);
|
||||||
|
|
||||||
// catch 404 and forward to error handler
|
// catch 404 and forward to error handler
|
||||||
app.use(function(req, res, next) {
|
app.use(function(req, res, next) {
|
||||||
var err = new Error('Not Found');
|
var err = new Error('Not Found');
|
||||||
err.status = 404;
|
err.status = 404;
|
||||||
next(err);
|
res.render('404');
|
||||||
|
//next(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
// error handlers
|
// error handlers
|
||||||
|
|||||||
40
public/html/navbar.html
Normal file
40
public/html/navbar.html
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<!-- Navigation -->
|
||||||
|
<nav class="navbar mitchell-navbar" role="navigation">
|
||||||
|
<div class="container">
|
||||||
|
<!-- Brand and toggle get grouped for better mobile display -->
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||||
|
<span class="sr-only">Toggle navigation</span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||||
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li>
|
||||||
|
<a href="/">Home</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="experience">My Experience</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="sensors">Sensors</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="mailto:mgerber11@winona.edu">Contact</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul class="nav navbar-nav navbar-right">
|
||||||
|
<li>
|
||||||
|
<a href="/newpost">New Post</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- /.navbar-collapse -->
|
||||||
|
</div>
|
||||||
|
<!-- /.container -->
|
||||||
|
</nav>
|
||||||
@@ -26,6 +26,10 @@ a {
|
|||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.large-text{
|
||||||
|
font-size: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
.centerDiv{
|
.centerDiv{
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
@@ -50,6 +54,9 @@ a {
|
|||||||
.colorRed {
|
.colorRed {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
.colorGreen {
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
|
||||||
.timeForm {
|
.timeForm {
|
||||||
width: 32.3%;
|
width: 32.3%;
|
||||||
@@ -223,3 +230,9 @@ a {
|
|||||||
.colorWhite{
|
.colorWhite{
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mitchell-navbar{
|
||||||
|
border-radius: 0 !important;
|
||||||
|
background-color: #262626;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
@@ -24,7 +24,24 @@ router.get('/vpn', function(req, res, next){
|
|||||||
|
|
||||||
router.get('/sensors', function(req, res, next) {
|
router.get('/sensors', function(req, res, next) {
|
||||||
|
|
||||||
temperature.aggregate( [ {$sort : {location : -1, updated : -1}}, { $group : { _id : "$location", temperature : {$first : "$temperature"}, humidity : {$first : "$humidity"}} } ] ).exec(function(err, info){
|
temperature.aggregate( [ {$sort : {location : -1, updated : -1}}, { $group : { _id : "$location", temperature : {$first : "$temperature"}, humidity : {$first : "$humidity"}, updated : {$first : "$updated"}} } ] ).exec(function(err, info){
|
||||||
|
var date1 = new Date();
|
||||||
|
|
||||||
|
for (var i = 0; i < info.length; i++){
|
||||||
|
console.log(info[i].updated.getTime());
|
||||||
|
console.log(Date.now());
|
||||||
|
|
||||||
|
//compared current time to last db entry - 1200000 milliseconds is 2 minutes
|
||||||
|
if(info[i].updated.getTime() > (Date.now() - 120000)){
|
||||||
|
info[i].connected = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
info[i].connected = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(info[i].connected);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
res.render('sensors', {query : info});
|
res.render('sensors', {query : info});
|
||||||
});
|
});
|
||||||
|
|||||||
53
routes/sensors.js
Normal file
53
routes/sensors.js
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
var express = require('express');
|
||||||
|
var router = express.Router();
|
||||||
|
var mongoose = require('mongoose');
|
||||||
|
|
||||||
|
require("../models/temperature");
|
||||||
|
var temperature = mongoose.model('temperature');
|
||||||
|
|
||||||
|
|
||||||
|
/* GET sensors page. */
|
||||||
|
router.get('/', function(req, res, next) {
|
||||||
|
|
||||||
|
temperature.aggregate( [ {$sort : {location : -1, updated : -1}}, { $group : { _id : "$location", temperature : {$first : "$temperature"}, humidity : {$first : "$humidity"}, updated : {$first : "$updated"}} } ] ).exec(function(err, info){
|
||||||
|
var date1 = new Date();
|
||||||
|
|
||||||
|
for (var i = 0; i < info.length; i++){
|
||||||
|
console.log(info[i].updated.getTime());
|
||||||
|
console.log(Date.now());
|
||||||
|
|
||||||
|
//compared current time to last db entry - 1200000 milliseconds is 2 minutes
|
||||||
|
if(info[i].updated.getTime() > (Date.now() - 120000)){
|
||||||
|
info[i].connected = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
info[i].connected = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(info[i].connected);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
res.render('sensors', {query : info});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
router.post('/', function(req, res,next) {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = router;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
20
views/404.ejs
Normal file
20
views/404.ejs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<% include layout.ejs %>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="header"></div>
|
||||||
|
|
||||||
|
<% include ../public/html/navbar.html %>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<h1 class="text-center large-text">404</h1>
|
||||||
|
<h4 class="text-center">This page may be in production, or it may not exist.</h4>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<% include layoutBottom.ejs %>
|
||||||
|
|
||||||
@@ -24,8 +24,11 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<% include ../public/html/navbar.html %>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
|
|
||||||
<div class="blog-header">
|
<div class="blog-header">
|
||||||
|
|
||||||
<h1 class="blog-title">mitchellG.me</h1>
|
<h1 class="blog-title">mitchellG.me</h1>
|
||||||
@@ -73,9 +76,6 @@
|
|||||||
<i class="icon-large icon-linked-in"></i>
|
<i class="icon-large icon-linked-in"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<a href="/newpost"><button class="center btn btn-default">Submit Post</button></a>
|
|
||||||
</div>
|
|
||||||
<div class="sidebar-module">
|
<div class="sidebar-module">
|
||||||
|
|
||||||
<h3 class="textCenter">Enter Reminder</h3>
|
<h3 class="textCenter">Enter Reminder</h3>
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<% include ../public/html/navbar.html %>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
<form action="/newpost" method="post" enctype="multipart/form-data" class="form-signin">
|
<form action="/newpost" method="post" enctype="multipart/form-data" class="form-signin">
|
||||||
|
|||||||
@@ -35,6 +35,8 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<% include ../public/html/navbar.html %>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<br>
|
<br>
|
||||||
<h1 class="text-center">ESP8266 Temperature Sensors</h1>
|
<h1 class="text-center">ESP8266 Temperature Sensors</h1>
|
||||||
@@ -44,6 +46,12 @@
|
|||||||
<h3><%=query[i]._id%></h3>
|
<h3><%=query[i]._id%></h3>
|
||||||
<h4>Temperature: <%=query[i].temperature%></h4>
|
<h4>Temperature: <%=query[i].temperature%></h4>
|
||||||
<h4>Humidity: <%=query[i].humidity%></h4>
|
<h4>Humidity: <%=query[i].humidity%></h4>
|
||||||
|
<% if (query[i].connected){ %>
|
||||||
|
<span class="colorGreen">Connected</span>
|
||||||
|
<%} else {%>
|
||||||
|
<span class="colorRed">Disconnected</span>
|
||||||
|
<%}%>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<%}%>
|
<%}%>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user