CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   DOM and JSON scripting (http://www.codingforums.com/forumdisplay.php?f=15)
-   -   Log value into console that is placed in HTML (http://www.codingforums.com/showthread.php?t=284967)

dingledow 12-28-2012 07:40 PM

Log value into console that is placed in HTML
 
Hi

I am using NodeJS to create a server that brings in serial data. The serial data is successfully showing in the HTML; however, I would like to create a 'var' that can hold the data. Please can someone help?

Here is my index.html page:

Code:


<!DOCTYPE html>
<html>
        <head>
        <script src="/socket.io/socket.io.js"></script>
       
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
       
        <script>
       
               
               
                // open a connection to the serial server:
                var socket = io.connect('http://localhost:8080');

                // when you get a serialdata event, do this:
                socket.on('serialEvent', function (data) {
                        // look for the textDisplay element in the HTML below:
                        var element = document.getElementById('IDTag');
                        // set the stuff inside the element's HTML tags to
                        // whatever the 'value' property of the received data is:
                        element.innerHTML = data.value;
                       
                        });

  </script>

        </head>
        <body>
        And the latest is:
        <div id="IDTag">The RFID Tag ID will show here.</div>       
        </body>
</html>

and here is my SerialServer.js doc:

Code:


/*
        serialServer.js
        a node.js app to read serial strings and send them to webSocket clients
        requires:
                * node.js (http://nodejs.org/)
                * express.js (http://expressjs.com/)
                * socket.io (http://socket.io/#how-to-use)
                * serialport.js (https://github.com/voodootikigod/node-serialport)
               
        based on the core examples for socket.io and serialport.js
               
        created 21 Aug 2012
        modified 14 Oct 2012
        by Tom Igoe
       
        Patches and improvements suggested by Steve Klise, Lia Martinez, and Will Jennings

*/


var serialport = require("serialport"),                                // include the serialport library
        SerialPort  = serialport.SerialPort,                        // make a local instance of serial
        app = require('express')(),                                                // start Express framework
          server = require('http').createServer(app),                // start an HTTP server
          io = require('socket.io').listen(server);                // filter the server using socket.io

var serialData = {};                                                                // object to hold what goes out to the client

server.listen(8080);                                                                // listen for incoming requests on the server

console.log("Listening for new clients on port 8080");

// open the serial port. Change the name to the name of your port, just like in Processing and Arduino:
var myPort = new SerialPort("/dev/tty.usbmodemfa131", {
        // look for return and newline at the end of each data packet:
        parser: serialport.parsers.readline("\r\n")
});
 
// respond to web GET requests with the index.html page:
app.get('/', function (request, response) {
  response.sendfile(__dirname + '/index.html');
});

// listen for new socket.io connections:
io.sockets.on('connection', function (socket) {
        // if there's a socket client, listen for new serial data: 
        myPort.on('data', function (data) {
                // set the value property of scores to the serial string:
                serialData.value = data;
                // for debugging, you should see this in Terminal:
                console.log(data);
                // send a serial event to the web client with the data:
                socket.emit('serialEvent', serialData);
        });
});

Thanks in advance!

xelawho 12-29-2012 04:09 PM

I don't know anything about nodeJS, but this is the bit that shows your data in the html:
Code:

element.innerHTML = data.value;
so I guess at that point if you had made a globally-acessible array like this:
Code:

var mydata=[];
then below the innerHTML line you can push the data onto the array:
Code:

mydata.push(data.value)
or initialize a string:
Code:

var mydata="";
and then add the data to the string:
Code:

mydata+=data.value;
or if you want the var to be overwritten each time data is received (to mirror what is shown in the html)
Code:

var mydata;
and then inside socket.on:
Code:

mydata=data.value;
depends what you want to do, really :thumbsup:


All times are GMT +1. The time now is 09:56 PM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.