new_thea/Control/Pi/PCU_status_server/server.js
2021-09-21 12:11:46 +01:00

123 lines
3.6 KiB
JavaScript

const express = require('express')
var logger = require('morgan');
const axios = require('axios')
var path = require('path');
const app = express()
const port = 8080
app.use(logger('dev'));
app.use(express.static(path.join(__dirname, 'public')));
// app.get('/', (req, res) => {
// res.send('Hello World!')
// })
app.get('/heading', (req, res) => {
axios.post('http://0.0.0.0:3333/get_heading', {})
.then(navio_rsp => {
console.log(`heading state statusCode: ${navio_rsp.status}`)
console.log(navio_rsp.data)
res.json({ heading: navio_rsp.data.heading })
})
.catch(error => {
// console.error(error)
res.json({ error: error })
})
})
app.get('/state', (req, res) => {
axios.post('http://0.0.0.0:5000/get_state', {})
.then(navio_rsp => {
console.log(`system state statusCode: ${navio_rsp.status}`)
console.log(navio_rsp.data)
res.json({ state: navio_rsp.data.State })
})
.catch(error => {
// console.error(error)
res.json({ error: error })
})
})
app.get('/gps', (req, res) => {
axios.post('http://0.0.0.0:5000/get_gps', {})
.then(navio_rsp => {
console.log(`gps state statusCode: ${navio_rsp.status}`)
console.log(navio_rsp.data)
res.json({ lat: navio_rsp.data.lat, lon: navio_rsp.data.lon })
})
.catch(error => {
// console.error(error)
res.json({ error: error })
})
})
app.get('/speed', (req, res) => {
axios.post('http://0.0.0.0:5000/get_speed', {})
.then(navio_rsp => {
console.log(`speed state statusCode: ${navio_rsp.status}`)
console.log(navio_rsp.data)
res.json({ speed: navio_rsp.data.speed })
})
.catch(error => {
// console.error(error)
res.json({ error: error })
})
})
app.get('/steering', (req, res) => {
axios.post('http://0.0.0.0:5000/get_steering', {})
.then(navio_rsp => {
console.log(`steering state statusCode: ${navio_rsp.status}`)
console.log(navio_rsp.data)
res.json({ steering: navio_rsp.data.steering })
})
.catch(error => {
// console.error(error)
res.json({ error: error })
})
})
app.post('/estop', (req, res) => {
axios.post('http://0.0.0.0:5000/estop', {})
.then(navio_rsp => {
console.log(`estop trigger statusCode: ${navio_rsp.status}`)
console.log(navio_rsp.data)
res.json({ success: navio_rsp.data.estop })
})
.catch(error => {
// console.error(error)
res.json({ error: error })
})
})
app.get('/get_estop', (req, res) => {
axios.post('http://0.0.0.0:5000/get_estop', {})
.then(navio_rsp => {
console.log(`estop state statusCode: ${navio_rsp.status}`)
console.log(navio_rsp.data)
res.json({ estop: navio_rsp.data.estop })
})
.catch(error => {
// console.error(error)
res.json({ error: error })
})
})
app.get('/get_arm', (req, res) => {
axios.post('http://0.0.0.0:5000/get_arm', {})
.then(navio_rsp => {
console.log(`arm state statusCode: ${navio_rsp.status}`)
console.log(navio_rsp.data)
res.json({ armed: navio_rsp.data.armed })
})
.catch(error => {
// console.error(error)
res.json({ error: error })
})
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})