var http = require('http'); var fs = require('fs'); var express = require('express'); var app = express(); var path = require('path'); var server = http.createServer(app); var port = 8000; var osc = require('osc'); var udpPort = new osc.UDPPort({ // This is the port we're listening on. localAddress: "0.0.0.0", localPort: 57121, // This is where sclang is listening for OSC messages. remoteAddress: "192.168.2.151", //this is the hamsters ip remotePort: 8080, //this is the hamsters port :*s metadata: true }); // Open the socket. udpPort.open(); const { SerialPort } = require('serialport') const { ReadlineParser } = require('@serialport/parser-readline') const sport = new SerialPort({ path: '/dev/ttyACM0', baudRate: 115200 }) const parser = sport.pipe(new ReadlineParser({ delimiter: '\r\n' })) server.listen(port, () => { console.log("Server is listening at port %d", port); }); app.use(express.static(path.join(__dirname, "public"))); var io = require('socket.io')(server); io.on('connection', function(socket) { console.log("A client connected!"); parser.on('data', function(data) { const msg = data.split(' '); console.log(msg[0], msg[1]); io.emit('node-data', data); }); socket.on("blink", () => { console.log("Blink event received!"); io.emit("blink"); // Emit the "blink" event to all connected clients }); socket.on('chat message', (msg) => { console.log('[user][' + socket.id + '][' + msg + ']'); socket.broadcast.emit('chat message', msg); var oscmsg = { address: "/silentserver", args: [ // { // type: "s", // value: "user" // }, { type: "s", value: msg } ] }; udpPort.send(msg); }); socket.on('userposition', (msg) => { console.log('[user][' + socket.id + '][position: ' + msg[0] + ',' + msg[1] + ']'); socket.to('expo').emit(socket.id, msg); }); });