relay/index.js

83 lines
1.9 KiB
JavaScript

const express = require('express');
const app = express();
const port = 80;
const http = require("http");
const fs = require('fs');
const SNAPSHOT_LIVING_ROOM_URL = "http://192.168.1.68/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=WX12cv06,"
const SNAPSHOT_GARAGE_URL = "http://192.168.1.69/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=WX12cv06,"
function formatDate()
{
let date = new Date();
return date.getFullYear()
+ "-"
+ String(date.getMonth() + 1).padStart(2, '0')
+ "-"
+ String(date.getDate()).padStart(2, '0')
+ "_"
+ String(date.getHours()).padStart(2, '0')
+ "-"
+ String(date.getMinutes()).padStart(2, '0')
+ "-"
+ String(date.getSeconds()).padStart(2, '0')
+ "_"
+ date.getMilliseconds();
}
function snapshotPath(room){
return "/snapshot/snapshot-"
+ room + "-"
+ formatDate()
+".jpg";
}
function snapshotPathCamGarage(){
return snapshotPath("garage");
}
function snapshotPathCamLivingRoom(){
return snapshotPath("living_room");
}
function snapshotLivingRoom() {
http.get(SNAPSHOT_LIVING_ROOM_URL, (res) => {
res.pipe(fs.createWriteStream(snapshotPathCamLivingRoom()));
});
}
function snapshotGarage() {
http.get(SNAPSHOT_GARAGE_URL, (res) => {
res.pipe(fs.createWriteStream(snapshotPathCamGarage()));
});
}
app.get('/snapshot', (req, res) => {
try{
snapshotLivingRoom();
res.send('ok');
} catch(e)
{
res.status(500).send(e);
}
});
app.get('/snapshotGarage', (req, res) => {
try{
snapshotGarage();
res.send('ok');
} catch(e)
{
res.status(500).send(e);
}
});
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});