1
0
mirror of https://github.com/mgerb/mywebsite synced 2026-01-11 18:32:50 +00:00

added sensors pages and other minor changes

This commit is contained in:
2015-12-17 13:05:43 -06:00
parent 259e8f0eb0
commit fdd5ee34cb
9 changed files with 163 additions and 7 deletions

5
app.js
View File

@@ -9,6 +9,7 @@ var index = require('./routes/index');
var success = require('./routes/success');
var temperature = require('./routes/temperature');
var newpost = require('./routes/newpost');
var sensors = require('./routes/sensors');
var mongoose = require('mongoose');
var mainLoop = require('./main');
@@ -39,12 +40,14 @@ app.use('/', index);
app.use('/success', success);
app.use('/temperature', temperature);
app.use('/newpost', newpost);
app.use('/sensors', sensors);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
res.render('404');
//next(err);
});
// error handlers

40
public/html/navbar.html Normal file
View 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>

View File

@@ -26,6 +26,10 @@ a {
margin-top: 0px;
}
.large-text{
font-size: 100px;
}
.centerDiv{
position: relative;
top: 50%;
@@ -50,6 +54,9 @@ a {
.colorRed {
color: red;
}
.colorGreen {
color: green;
}
.timeForm {
width: 32.3%;
@@ -223,3 +230,9 @@ a {
.colorWhite{
color: white;
}
.mitchell-navbar{
border-radius: 0 !important;
background-color: #262626;
border: 0;
}

View File

@@ -24,7 +24,24 @@ router.get('/vpn', 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});
});

53
routes/sensors.js Normal file
View 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
View 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 %>

View File

@@ -24,8 +24,11 @@
</div>
<% include ../public/html/navbar.html %>
<div class="container">
<div class="blog-header">
<h1 class="blog-title">mitchellG.me</h1>
@@ -73,9 +76,6 @@
<i class="icon-large icon-linked-in"></i>
</a>
</div>
<div>
<a href="/newpost"><button class="center btn btn-default">Submit Post</button></a>
</div>
<div class="sidebar-module">
<h3 class="textCenter">Enter Reminder</h3>

View File

@@ -7,6 +7,8 @@
</div>
<% include ../public/html/navbar.html %>
<div class="container">
<form action="/newpost" method="post" enctype="multipart/form-data" class="form-signin">

View File

@@ -35,6 +35,8 @@
</div>
<% include ../public/html/navbar.html %>
<div class="container">
<br>
<h1 class="text-center">ESP8266 Temperature Sensors</h1>
@@ -44,6 +46,12 @@
<h3><%=query[i]._id%></h3>
<h4>Temperature: <%=query[i].temperature%></h4>
<h4>Humidity: <%=query[i].humidity%></h4>
<% if (query[i].connected){ %>
<span class="colorGreen">Connected</span>
<%} else {%>
<span class="colorRed">Disconnected</span>
<%}%>
</div>
<%}%>