Skip to content
This repository was archived by the owner on Dec 4, 2021. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
01d5716
Merge pull request #1 from jerrylee17/jerry
jerrylee17 Dec 28, 2019
c78083c
Added Directories + Update README
evanugarte Dec 28, 2019
704057f
Merge pull request #2 from jerrylee17/evan
jerrylee17 Dec 28, 2019
dab91f1
Jerry (#3)
jerrylee17 Dec 28, 2019
3aaa0dc
Added proto field for encoded and modified printme to take raw data (#4)
jerrylee17 Dec 31, 2019
76428d0
Modified README (#5)
jerrylee17 Dec 31, 2019
9182f2f
Added Auto Generated Code to JS Client (#6)
evanugarte Jan 4, 2020
54a9f93
Moved Print Client and Server to Unique Directory (#8)
evanugarte Jan 16, 2020
993268f
Added LED Sign RPC (#9)
evanugarte Jan 23, 2020
415ed97
made print_client callable (#10)
jerrylee17 Jan 23, 2020
2cd2391
Added setup, requirements, package (#11)
jerrylee17 Jan 28, 2020
d5b99f5
Split Led Sign Client into Functions (#12)
evanugarte Feb 4, 2020
488c154
Added Promises to LED Sign API (#13)
evanugarte Feb 8, 2020
c3996bc
Added IP Address Parameter to Sign Client (#15)
evanugarte Feb 15, 2020
e27e651
Added Function to Determine Print Job (#16)
evanugarte Feb 16, 2020
c36baf6
Add Setup .bat File (#18)
evanugarte Feb 17, 2020
8e6b735
Fixed Printer For Loop Issue (#19)
evanugarte Feb 25, 2020
e6d19f3
Updated Instructions for Code Generation (#20)
evanugarte Feb 25, 2020
68e4805
3D printing RPC with decoder/encoer file (#22)
law-nguyen Mar 5, 2020
acccf5a
saving rpcs (#24)
hsorathia Mar 11, 2020
88f2f5b
Printing Client returns promise (#26)
jerrylee17 Mar 12, 2020
cfb088e
Added default values for initial response (#30)
hsorathia Apr 1, 2020
4fc3e6e
reverting changes in #30 (#31)
hsorathia Apr 1, 2020
0c82bd0
updated README (#27)
jerrylee17 Apr 3, 2020
af34c27
Rename 3d Printing Protocol Buffers (#36)
evanugarte May 23, 2020
9863302
Make Servers Listen on Different Ports (#38)
evanugarte May 24, 2020
0a9b407
Correctly Format package.json (#41)
evanugarte Jun 7, 2020
6d5e7f9
add eslint styling. Resolves #42 (#45)
law-nguyen Jun 11, 2020
7dfd080
add eslint styling. Resolves #42 (#46)
law-nguyen Jun 11, 2020
99c0267
Add RPC Client API (#44)
evanugarte Jun 20, 2020
162f647
AddMessageToQueue and ClearMessageQueue (#47)
nanarboursal Jun 22, 2020
eef2acc
Add Slash to Path to Prevent Server Crashing (#48)
evanugarte Jun 27, 2020
04d505f
Add 2D Printer HealthCheck RPC (#52)
Annabel1054 Jul 7, 2020
a404723
Refactored API tests wth SceRpcTester (#58)
law-nguyen Jul 29, 2020
3f201d5
server returns which printer was used instead of printed (#61)
1234momo Jul 31, 2020
9a5cd0a
Bump lodash from 4.17.15 to 4.17.19 (#57)
dependabot[bot] Aug 1, 2020
8da34cf
Update setup.sh (#62)
6kerokerotm9 Aug 1, 2020
7b5f48d
Update setup.sh (#63)
6kerokerotm9 Aug 1, 2020
ed5faad
changed pylint to flake8 (#64)
6kerokerotm9 Aug 7, 2020
e4456de
Make destination optional in sendPrintRequest (#67)
jerrylee17 Sep 4, 2020
813f349
Printer Health Check RPC (routes and tests) (#56)
Annabel1054 Sep 9, 2020
3cdc0ad
Merge branch 'master' of https://github.com/SCE-Development/SCE-RPC i…
Programmerryoki Feb 24, 2021
dfcf25c
Added aws Rekognition
Programmerryoki Jan 10, 2021
944186b
Added config files and made changes to server file
Programmerryoki Jan 31, 2021
2aebc4c
Changing to have message
Programmerryoki Feb 18, 2021
59882df
Changed rpc to return width and height of the image
Programmerryoki Feb 24, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ __pycache__/
modules/
node_modules
config.js
config.json
32 changes: 32 additions & 0 deletions client/api/AWSRekognition.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const express = require('express');
const router = express.Router();
const { detectFace } = require('../aws_rekognition/aws_rekognition_client');
const { OK, BAD_REQUEST, NOT_FOUND } = require('../config/config');
const { addSignLog } = require('../util/logging-helpers');

router.post('/AWS_rekognition', (req, res) => {
const { base64bytes } = req.body;
// const base64bytes = getBase64Image(faceImage);
// detectFace(faceImage)
detectFace(base64bytes)
.then((response) => {
return res.status(OK).send({ ...response });
})
.catch((error) => {
return res.status(BAD_REQUEST).send({ ...error });
});
});

// function getBase64Image(img) {
// let canvas = document.createElement('canvas');
// canvas.width = img.width;
// canvas.height = img.height;
// let ctx = canvas.getContext('2d');
// ctx.drawImage(img, 0, 0);

// let dataURL = canvas.toDataURL('image/png');

// return dataURL.replace(/^data:image\/(png|jpg);base64,/, '');
// }
Comment on lines +20 to +30
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make sure to remove these :)


module.exports = router;
12 changes: 6 additions & 6 deletions client/api/SceRpcApiServer.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ class SceRpcApiServer {
bodyParser.json({
// support JSON-encoded request bodies
limit: '50mb',
strict: true
strict: true,
})
);
this.app.use(
bodyParser.urlencoded({
// support URL-encoded request bodies
limit: '50mb',
extended: true
extended: true,
})
);
}
Expand Down Expand Up @@ -64,7 +64,7 @@ class SceRpcApiServer {
openConnection() {
this.server = http.createServer(this.app);
const { port } = this;
this.server.listen(port, function() {
this.server.listen(port, function () {
console.debug(`Now listening on port ${port}`);
});
}
Expand Down Expand Up @@ -93,10 +93,10 @@ if (typeof module !== 'undefined' && !module.parent) {
const apiRoutes = [
__dirname + '/2DPrinting.js',
__dirname + '/3DPrinting.js',
__dirname + '/LedSign.js'
__dirname + '/LedSign.js',
__dirname + '/AWSRekognition.js',
];
const server = new SceRpcApiServer(
apiRoutes, 8083, '/SceRpcApi/');
const server = new SceRpcApiServer(apiRoutes, 8083, '/SceRpcApi/');
server.initializeEndpoints().then(() => {
server.openConnection();
});
Expand Down
24 changes: 24 additions & 0 deletions client/aws_rekognition/aws_rekognition_client.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
const grpc = require('grpc');
const messages = require('./aws_rekognition_pb');
const services = require('./aws_rekognition_grpc_pb');

function detectFace(faceImageBytes) {
const client = new services.FaceImageClient(
'localhost:50051',
grpc.credentials.createInsecure()
);

const faceCoordinateRequest = new messages.FaceCoordinateRequest();
faceCoordinateRequest.setFaceimage(faceImageBytes);
return new Promise((resolve, reject) => {
client.requestFaceCoordinate(faceCoordinateRequest, (err, response) => {
if (err || !response) {
reject({ message: err, error: true });
} else {
resolve({ message: response, error: false });
}
});
});
}

module.exports = { detectFace };
44 changes: 44 additions & 0 deletions client/aws_rekognition/aws_rekognition_grpc_pb.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// GENERATED CODE -- DO NOT EDIT!

'use strict';
var grpc = require('grpc');
var aws_rekognition_pb = require('./aws_rekognition_pb.js');

function serialize_FaceCoordinateRequest(arg) {
if (!(arg instanceof aws_rekognition_pb.FaceCoordinateRequest)) {
throw new Error('Expected argument of type FaceCoordinateRequest');
}
return Buffer.from(arg.serializeBinary());
}

function deserialize_FaceCoordinateRequest(buffer_arg) {
return aws_rekognition_pb.FaceCoordinateRequest.deserializeBinary(new Uint8Array(buffer_arg));
}

function serialize_FaceCoordinateResponse(arg) {
if (!(arg instanceof aws_rekognition_pb.FaceCoordinateResponse)) {
throw new Error('Expected argument of type FaceCoordinateResponse');
}
return Buffer.from(arg.serializeBinary());
}

function deserialize_FaceCoordinateResponse(buffer_arg) {
return aws_rekognition_pb.FaceCoordinateResponse.deserializeBinary(new Uint8Array(buffer_arg));
}


var FaceImageService = exports.FaceImageService = {
requestFaceCoordinate: {
path: '/FaceImage/RequestFaceCoordinate',
requestStream: false,
responseStream: false,
requestType: aws_rekognition_pb.FaceCoordinateRequest,
responseType: aws_rekognition_pb.FaceCoordinateResponse,
requestSerialize: serialize_FaceCoordinateRequest,
requestDeserialize: deserialize_FaceCoordinateRequest,
responseSerialize: serialize_FaceCoordinateResponse,
responseDeserialize: deserialize_FaceCoordinateResponse,
},
};

exports.FaceImageClient = grpc.makeGenericClientConstructor(FaceImageService);
Loading