Server client communication Node.js -
i have written server program server.js below
var serialport = require("serialport").serialport var io = require('socket.io').listen(80); var serialport = new serialport("com4", { baudrate: 9600 }); serialport.on("open", function () { console.log('open'); serialport.on('data', function(data) { console.log('data received: ' + data); }); serialport.write("ls\n", function(err, results) { console.log('err ' + err); console.log('results ' + results); //io.sockets.emit('message', 'data'); }); }); io.sockets.on('connection', function (socket) { // if socket.io receives message client browser // call executed. socket.on('message', function (msg) { console.log(msg); }); // if web browser disconnects socket.io callback called. socket.on('disconnect', function () { console.log('disconnected'); }); }); var cleandata = ''; // stores clean data var readdata = ''; // stores buffer serialport.on('data', function (data) { // call when data received readdata += data.tostring(); // append data buffer // if letters 'a' , 'b' found on buffer isolate what's in middle // clean data. clear buffer. if (readdata.indexof('b') >= 0 && readdata.indexof('a') >= 0) { cleandata = readdata.substring(readdata.indexof('a') + 1, readdata.indexof('b')); readdata = ''; io.sockets.emit('message', cleandata); } }); the client side program (index.html)
<html> </head> <link type="text/css" href="/css/smoothness/jquery-ui-1.8.20.custom.css" rel="stylesheet" /> <script type="text/javascript" src="//localhost:8000/socket.io/socket.io.js"></script> <script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="/js/jquery-ui-1.8.20.custom.min.js"></script> <script> var socket = io.connect('http://localhost:8000'); socket.on('connect', function () { socket.on('message', function (msg) { // convert value integer var val = ((parseint(msg) / 1023)*100); // put sensor value 'sensor_value' span $('#sensor_value').html(val); }); }); }); </script> </head> <body> <div role="main"> potentiometer value: <span id="sensor_value"></span><br/> </div> </body> </html> i using wamp web server server console giving me required output. nothing coming in webpage index.html
here can find tutorial showing you're trying do: create node.js server , forwarding data serial port html page via websockets.
it useful me when doing same, sure help.
Comments
Post a Comment