Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
gaetancollaud committed Sep 18, 2018
2 parents f317ab4 + 305cb1d commit d358679
Show file tree
Hide file tree
Showing 5 changed files with 1,120 additions and 13 deletions.
9 changes: 9 additions & 0 deletions serial-ws-proxy/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM node
EXPOSE 8080

WORKDIR /app

COPY index.js package.json yarn.lock /app/
RUN yarn install

CMD [ "node", "./index.js" ]
11 changes: 11 additions & 0 deletions serial-ws-proxy/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: '3.1'
services:
proxy:
image: gaetancollaud/serial-ws-proxy
# container_name: serial-ws-proxy
build: .
ports:
- 1234:8080
devices:
- /dev/ttyACM0:/dev/ttyACM0
restart: always
22 changes: 13 additions & 9 deletions serial-ws-proxy/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
process.title = 'node-serial-ws';

// Websocket
var webSocketsServerPort = 1337;
var webSocketsServerPort = 8080;
var webSocketServer = require('websocket').server;
var http = require('http');
var server = http.createServer(function(request, response) {
Expand Down Expand Up @@ -35,36 +35,40 @@ wsServer.on('request', function(request) {

// user disconnected
connection.on('close', function(connection) {
if (userName !== false && userColor !== false) {
// if (userName !== false && userColor !== false) {
console.log((new Date()) + " Peer "
+ connection.remoteAddress + " disconnected.");
// remove user from the list of connected clients
clients.splice(index, 1);
}
// }
});

});

function onReceive(msg)
{
console.log("ws msg:" + msg);
serialPort.write(msg);
if(msg.type=='utf8'){
console.log("ws msg:" + msg.utf8Data);
serialPort.write(msg.utf8Data);
}else{
console.log('Unknown message type '+JSON.stringify(msg));
}
}

function onSerial(msg)
{
console.log("uart msg:" + msg);
// console.log("uart msg:" + msg);
for (var i=0; i < clients.length; i++)
clients[i].sendUTF(msg);
}

// Serial port
var SerialPort = require("serialport").SerialPort
var portName = 'COM60';
var SerialPort = require("serialport");
var portName = '/dev/ttyACM0';
var buffer = "";

var serialPort = new SerialPort(portName, {
baudrate: 9600,
baudRate: 115200,
// defaults for Arduino serial communication
dataBits: 8,
parity: 'none',
Expand Down
5 changes: 3 additions & 2 deletions serial-ws-proxy/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts":{
"start" : "node index.js"
"scripts": {
"start": "node index.js"
},
"dependencies": {
"http": "^0.0.0",
"serialport": "^7.0.2",
"websocket": "^1.0.26"
}
}
Loading

0 comments on commit d358679

Please sign in to comment.