Skip to content

Instantly share code, notes, and snippets.

@thebadger412
Created December 30, 2012 14:51
Show Gist options
  • Save thebadger412/4413118 to your computer and use it in GitHub Desktop.
Save thebadger412/4413118 to your computer and use it in GitHub Desktop.
App.js for node-serial example
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path')
, serialport = require("serialport").SerialPort;
/**
* Serial Port Setup.
*/
var portName = '/dev/ttyAMA0'; //This is the standard Raspberry Pi Serial port
var readData = ''; //Array to hold the values read in from the port
var sp = new serialport(portName, {
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: false
});
/**
* Express Setup.
*/
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 80);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
app.get('/users', user.list);
/**
* Actual Server Code
*/
var server = http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
var io = require('socket.io').listen(server);
/**
* Server and socket started, below are all my listeners and emitters
*/
io.sockets.on('connection', function(socket){
console.log("Socket connected");
socket.emit('connected', 123);
socket.on('sendSerial', function(data) {
console.log("Client sent us: " + data + "to send to serial");
sp.write(mbBuffer, function (err, bytesWritten) {
console.log('bytes written:', bytesWritten);
});
});
sp.on('data', function (data) {
console.log(data);
var mbRec = new Buffer(data, 'utf')
console.log(mbRec);
mbRec = mbRec.toString('hex');
console.log(mbRec);
socket.emit('serialEvent', mbRec);
});
sp.on('close', function (err) {
console.log('port closed');
});
sp.on('error', function (err) {
console.error("error", err);
});
sp.on('open', function () {
console.log('port opened...');
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment