web server sugma

This commit is contained in:
Skylar Grant 2022-12-20 21:12:22 -05:00
parent c4b29be20f
commit 1de8ba78a7
5 changed files with 26 additions and 7 deletions

View File

@ -3,8 +3,10 @@
* v0.2 * v0.2
* *
* TODO: * TODO:
* Add logic for other sensors * Update documentation
* More documentation? * Move some of these functions to the functions file so they can be called from the web server
* Or move the web server here and remove the first init
* Or just remove the first init call and start the init elsewhere after main() is called
*/ */
// Custom functions module to keep main script clean // Custom functions module to keep main script clean
@ -157,3 +159,5 @@ function statusCheck(fn, gpio) {
} }
}); });
} }
module.exports = main;

1
package-lock.json generated
View File

@ -8,6 +8,7 @@
"name": "pscontrolpanel", "name": "pscontrolpanel",
"version": "0.2.1", "version": "0.2.1",
"dependencies": { "dependencies": {
"body-parser": "^1.20.1",
"dotenv": "^16.0.3", "dotenv": "^16.0.3",
"ejs": "^3.1.8", "ejs": "^3.1.8",
"express": "^4.18.2", "express": "^4.18.2",

View File

@ -4,6 +4,7 @@
"requires": true, "requires": true,
"packages": {}, "packages": {},
"dependencies": { "dependencies": {
"body-parser": "^1.20.1",
"dotenv": "^16.0.3", "dotenv": "^16.0.3",
"ejs": "^3.1.8", "ejs": "^3.1.8",
"express": "^4.18.2", "express": "^4.18.2",

View File

@ -13,6 +13,12 @@ const http = require('http');
const server = http.createServer(app); const server = http.createServer(app);
const config = require('./config.json'); const config = require('./config.json');
const fs = require('fs'); const fs = require('fs');
// const bodyParser = require('body-parser');
const core = require('./main.js');
const fn = require('./functions.js');
const gpio = require('rpi-gpio');
app.use(express.urlencoded());
app.use(express.static(__dirname + '/www/public')); app.use(express.static(__dirname + '/www/public'));
app.set('views', __dirname + '/www/views'); app.set('views', __dirname + '/www/views');
@ -29,8 +35,15 @@ app.get('/', (req, res) => {
}); });
app.post('/', (req, res) => { app.post('/', (req, res) => {
if (config.debugMode) console.log(`[${(Date.now() - config.timestamps.procStart)/1000}] I: ${req.body}`); fs.readFile(__dirname + '/config.json', (err, data) => {
// oop // console.log(JSON.parse(data));
res.render('index', JSON.parse(data));
if (req.body.start != undefined) {
core.main(fn, gpio);
}
// res.send(200);
});
console.log(req.body);
}); });
server.listen(config.web.port, config.web.ip); server.listen(config.web.port, config.web.ip);

View File

@ -10,10 +10,10 @@
<div id="status">Auger: <%= status.auger %> | Igniter: <%= status.igniter %> | Combustion Blower: <%= status.blower %></div> <div id="status">Auger: <%= status.auger %> | Igniter: <%= status.igniter %> | Combustion Blower: <%= status.blower %></div>
<div id="safeties">Vacuum: <%= status.vacuum %> | Proof of Fire: <%= status.pof %></div> <div id="safeties">Vacuum: <%= status.vacuum %> | Proof of Fire: <%= status.pof %></div>
<div id="controls-container"> <div id="controls-container">
<form> <form action="/" method="post">
<!-- Start | Shutdown | Reload Settings --> <!-- Start | Shutdown | Reload Settings -->
<div id="buttons"> <div id="buttons">
<button id="ignite" onclick="">Start</button><button id="shutdown">Shutdown</button><button id="reload">Reload Settings</button><br> <input type="submit" id="ignite" value="Start" name="start"><input type="submit" id="shutdown" value="Shutdown" name="shutdown"><input type="submit" id="reload" value="Reload" name="reload"><br>
</div> </div>
<!-- Set feed rates --> <!-- Set feed rates -->
<label for="augerOn">Auger On Interval: </label><input type="number" id="augerOn" name="augerOn" min="500" max="1000" value="<%= intervals.augerOn %>">ms<br> <label for="augerOn">Auger On Interval: </label><input type="number" id="augerOn" name="augerOn" min="500" max="1000" value="<%= intervals.augerOn %>">ms<br>