Added relay functionality

other
Filip Borum Poulsen 1 year ago
parent 5538f75472
commit 2a1376c1c4

@ -138,8 +138,7 @@ app.post("/select", (req, res) => {
});
app.post("/playoverlay", (req, res) => {
let video = fs.readFileSync('/overlayvideo');
require('child_process').spawn('ffplay', ['-fs', '-autoexit', '-hide_banner', '-loglevel', 'error', video]);
require('child_process').spawn('/home/pi/video-player/play-overlay.sh');
res.json({ status: 'ok' });
});
@ -179,11 +178,5 @@ app.post('/upload', function (req, res) {
}
});
try {
require('child_process').spawn('sudo', ['systemctl', 'restart', 'video-player2.service']);
} catch (error) {
console.error(error);
}
res.redirect('/');
});

@ -1,5 +1,9 @@
#!/bin/bash
/home/pi/video-player/relay-on.sh &
export DISPLAY=:0
ffplay -fs -autoexit $(cat /overlayvideo)
/home/pi/video-player/relay-off.sh &

@ -39,6 +39,22 @@
<div id="projectorstatus2"></div>
<button onclick="fetch(`/startprojector`, { method: 'POST' });">Start projectors</button>
<button onclick="fetch(`/stopprojector`, { method: 'POST' });">Stop projectors</button>
<h2>Relay 1</h2>
<div id="relay1"></div>
<button onclick="fetch(`10.242.84.111:8080/on/19`);">On relay 1</button>
<button onclick="fetch(`10.242.84.111:8080/off/19`);">Off relay 1</button>
<h2>Relay 2</h2>
<div id="relay2"></div>
<button onclick="fetch(`10.242.84.111:8080/on/13`);">On relay 2</button>
<button onclick="fetch(`10.242.84.111:8080/off/13`);">Off relay 2</button>
<h2>Relay 3</h2>
<div id="relay3"></div>
<button onclick="fetch(`10.242.84.111:8080/on/6`);">On relay 3</button>
<button onclick="fetch(`10.242.84.111:8080/off/6`);">Off relay 3</button>
<h2>Relay 4</h2>
<div id="relay4"></div>
<button onclick="fetch(`10.242.84.111:8080/on/5`);">On relay 4</button>
<button onclick="fetch(`10.242.84.111:8080/off/5`);">Off relay 4</button>
<script src="/main.js"></script>
</body>
</html>

@ -34,6 +34,16 @@ async function main() {
status1.textContent = status.status1;
status2.textContent = status.status2;
const relay1Div = document.getElementById('relay1');
const relay2Div = document.getElementById('relay2');
const relay3Div = document.getElementById('relay3');
const relay4Div = document.getElementById('relay4');
relay1Div.innerText = await (await fetch("10.242.84.111:8080/status/19")).text();
relay2Div.innerText = await (await fetch("10.242.84.111:8080/status/13")).text();
relay3Div.innerText = await (await fetch("10.242.84.111:8080/status/6")).text();
relay4Div.innerText = await (await fetch("10.242.84.111:8080/status/5")).text();
}
main();

@ -0,0 +1,8 @@
#!/bin/bash
# Relay 1: GPIO 19
# Relay 2: GPIO 13
# Relay 3: GPIO 6
# Relay 4: GPIO 5
curl --retry 5 --retry-all-errors 10.242.84.111:8080/off/19

@ -0,0 +1,8 @@
#!/bin/bash
# Relay 1: GPIO 19
# Relay 2: GPIO 13
# Relay 3: GPIO 6
# Relay 4: GPIO 5
curl --retry 5 --retry-all-errors 10.242.84.111:8080/on/19
Loading…
Cancel
Save