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:
5
app.js
5
app.js
@@ -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
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;
|
||||
}
|
||||
|
||||
.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%;
|
||||
@@ -222,4 +229,10 @@ a {
|
||||
|
||||
.colorWhite{
|
||||
color: white;
|
||||
}
|
||||
|
||||
.mitchell-navbar{
|
||||
border-radius: 0 !important;
|
||||
background-color: #262626;
|
||||
border: 0;
|
||||
}
|
||||
@@ -24,8 +24,25 @@ 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});
|
||||
});
|
||||
|
||||
@@ -185,7 +202,7 @@ function renderIndex(res, json){
|
||||
temperature.findOne({location : "Winona Apartment"}).sort("-updated").exec(function(err, info){
|
||||
|
||||
posts.find().sort('-updated').exec(function(err, postsQuery){
|
||||
|
||||
|
||||
res.render('index',{returnParameters : json,
|
||||
query : info,
|
||||
blogPosts : postsQuery});
|
||||
|
||||
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>
|
||||
|
||||
<% 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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
<%}%>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user