From e79c419e402afd44f48fd291554a2322adcdfd7a Mon Sep 17 00:00:00 2001 From: Will Bradley Date: Sat, 6 Jul 2019 20:59:45 -0700 Subject: [PATCH] try nodejs instead --- .gitignore | 1 + index.html | 15 +++++++++++++++ package.json | 11 +++++++++++ serial.js | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 .gitignore create mode 100644 index.html create mode 100644 package.json create mode 100644 serial.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/index.html b/index.html new file mode 100644 index 0000000..cfd318d --- /dev/null +++ b/index.html @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..9196a88 --- /dev/null +++ b/package.json @@ -0,0 +1,11 @@ +{ + "name": "Open_Access_Control_API", + "version": "0.0.1", + "main": "serial.js", + "dependencies": { + "serialport": "*", + "express": "*", + "http": "*", + "socket.io": "*" + } +} diff --git a/serial.js b/serial.js new file mode 100644 index 0000000..e96b6af --- /dev/null +++ b/serial.js @@ -0,0 +1,35 @@ +const SerialPort = require('serialport'); +const Readline = require('@serialport/parser-readline'); + +var express = require('express'), + app = express(), + http = require('http'), + server = http.createServer(app), + io = require('socket.io').listen(server), + scores = {}; + +// listen for new web clients: +server.listen(8080); + +// open the serial port. Change the name to the name of your port, just like in Processing and Arduino: +const port = new SerialPort("/dev/ttyUSB0", { baudRate: 9600 }); + +const parser = new Readline({ delimiter: '\r' }); +port.pipe(parser) + +// respond to web GET requests with the index.html page: +app.get('/', function (req, res) { + res.sendFile(__dirname + '/index.html'); +}); + +// listen for new serial data: +parser.on('data', line => console.log(`> ${line}`)) + +// listen for new socket.io connections: +io.on('connection', function (socket) { + parser.on('data', line => socket.emit('data', line)) + socket.on('message', function (data) { + console.log(data) + port.write(data+'\r') + }); +}); \ No newline at end of file