Skip to content
Snippets Groups Projects
Commit 106f4dbb authored by larsH's avatar larsH
Browse files

LED and swagger added

parent 7efbe30f
No related branches found
No related tags found
1 merge request!1Swagger improvements
......@@ -940,6 +940,19 @@
"has-flag": "^3.0.0"
}
},
"swagger-ui-dist": {
"version": "3.23.10",
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.23.10.tgz",
"integrity": "sha512-lK9oNNb9HAz2HJIg6+cYZszbYC/0CTm0nWi0XX2AjEbVgu43smbW2/h5zn7yAjYstPJBaYXkt5g6ABRpO/Ncfg=="
},
"swagger-ui-express": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.1.0.tgz",
"integrity": "sha512-sCP7SxIfWr8DAK46RZXaplJIe+1h0cOFIrUw+Jx8vSstlppe7sNR8mFOyDlBwVsqAx6K2BAhKnK88Hkkj28pqw==",
"requires": {
"swagger-ui-dist": "^3.18.1"
}
},
"toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
......
......@@ -32,7 +32,8 @@
"cors": "^2.8.4",
"dotenv": "^6.0.0",
"express": "^4.16.3",
"helmet": "^3.13.0"
"helmet": "^3.13.0",
"swagger-ui-express": "^4.1.0"
},
"optionalDependencies": {
"node-dht-sensor": "~0.0.36",
......
import { Request, Response, NextFunction } from "express";
import { setLEDservice, getLEDservice } from "../services/gpio.service";
import { setLEDservice, getLEDservice, getAllLEDsservice } from "../services/gpio.service";
// const ledmapping = {"0" : "4", "1" : "2", "3": "22"}
export function setLED(req: Request, res: Response, next: NextFunction) {
......@@ -8,12 +10,16 @@ export function setLED(req: Request, res: Response, next: NextFunction) {
const id: string = req.params.id;
const value = req.body["value"];
if(id != "4" || id != "2" || id != "22"){
res.status(401).json({"msg" :"LED does not exist"})
if (id == null) {
res.status(401).json({ "msg": "wrong id" })
return
}
if (id != "4" && id != "2" && id != "22") {
res.status(401).json({ "msg": "LED does not exist" })
}
if(value == null || !(value === 0 || value === 1)){
res.status(401).json({"msg" : "invalid input"})
if (value == null || !(value === 0 || value === 1)) {
res.status(401).json({ "msg": "invalid input" })
}
setLEDservice(id, value);
......@@ -32,4 +38,8 @@ export function getLED(req: Request, res: Response, next: NextFunction) {
else {
res.status(200).json({ "led": "off" });
}
}
export function getAllLEDs(req: Request, res: Response, next: NextFunction) {
res.status(200).json({ "leds": getAllLEDsservice() })
}
\ No newline at end of file
import { Router } from "express";
import { setLED,getLED } from "../controllers/actuator.controller";
import { setLED,getLED, getAllLEDs } from "../controllers/actuator.controller";
const router = Router();
router
.route("/led")
.get(getAllLEDs)
router
.route("/led/:id")
.get(getLED)
......
......@@ -10,7 +10,7 @@ try {
}
// The number of microseconds it takes sound to travel 1cm at 20 degrees celcius
const MICROSECDONDS_PER_CM = 1e6/34321;
const MICROSECDONDS_PER_CM = 1e6 / 34321;
var trigger = null;
var echo = null;
var led = null;
......@@ -38,18 +38,18 @@ function isProduction() {
// }
// });
// });
// return promise;
// };
export function getSingleHCSR04Value(): Promise<any> {
const promise = new Promise((resolve, reject) => {
trigger = new Gpio(23, {mode: Gpio.OUTPUT});
echo = new Gpio(24, {mode: Gpio.INPUT, alert: true});
trigger = new Gpio(23, { mode: Gpio.OUTPUT });
echo = new Gpio(24, { mode: Gpio.INPUT, alert: true });
trigger.digitalWrite(0); // Make sure trigger is low
let startTick;
echo.on('alert', (level, tick) => {
if (level == 1) {
startTick = tick;
......@@ -73,10 +73,10 @@ export function getSingleHCSR04Value(): Promise<any> {
export function initialize() {
if (isProduction()) {
sensorLib.initialize(11,12);
sensorLib.initialize(11, 12);
trigger = new Gpio(23, {mode: Gpio.OUTPUT});
echo = new Gpio(24, {mode: Gpio.INPUT, alert: true});
trigger = new Gpio(23, { mode: Gpio.OUTPUT });
echo = new Gpio(24, { mode: Gpio.INPUT, alert: true });
trigger.digitalWrite(0); // Make sure trigger is low
}
......@@ -86,11 +86,11 @@ export function retrieveDhtValue() {
if (isProduction()) {
return sensorLib.read();
}
return {"humidity":63,"temperature":22,"isValid":true,"errors":0};
return { "humidity": 63, "temperature": 22, "isValid": true, "errors": 0 };
}
export function retrieveUltrasonicValue(): Promise<any> {
if (isProduction()){
if (isProduction()) {
return getSingleHCSR04Value();
}
return Promise.resolve(216.5);
......@@ -111,5 +111,14 @@ export function getLEDservice(lednr) {
return led.digitalRead()
}
return 0;
return 1;
}
export function getAllLEDsservice() {
let tmp = [{ "value": getLEDservice("2"), "id": "2" },
{ "value": getLEDservice("4"), "id": "4" },
{ "value": getLEDservice("22"), "id": "22" }]
return tmp;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment