NodeJS Script to listen and send command to Arduino Robot

var SerialPort,fs, http, io, server, net, serial, port;
fs = require(‘fs’);
http = require(‘http’);
net = require(‘net’);

var light1 = true;
var light2 = true;

SerialPort = require(‘serialport’).SerialPort;

port = ‘/dev/ttyACM0’;

server = http.createServer(function(req, res) {

return fs.readFile(“” + __dirname + “/mobil2an.html”, function(err, data) {

res.writeHead(200, {
‘Content-Type’: ‘text/html’
});

return res.end(data, ‘utf8’);
});
});
server.listen(1338);
io = require(‘socket.io’).listen(server);

//var sp = new SerialPort (port, {baudrate: 9600});
//serial listener
serial = new SerialPort (port, {baudrate: 9600});
serial.on(‘data’, function(chunk){
readData  =chunk.toString();
if(readData.indexOf(‘\n’)){
//cleanData = readData;
//readData = ”;
io.sockets.emit(‘publish’,”Robot: “+ readData);
} });

io.sockets.on(‘connection’, function(socket) {
//console.log(socket);
socket.emit(“publish”, “Connected.”);

socket.on(‘broadcast’, function(message) {
var message = new Buffer(message);
return serial.write(message);

});

socket.on(‘data’, function(data){
console.log(“The message data: ” + data);
socket.emit(“publish”,data);
});

socket.on(‘getfile’, function(data){
console.log(“The message data ” + data);
socket.emit(“data”,data);
});

socket.on(‘forward’, function(message2) {
socket.emit(“publish”,message2)
var message = new Buffer(“w”);

return serial.write(message);;

});

socket.on(‘reverse’, function(message) {

socket.emit(“publish”,message);
var message = new Buffer(“x”);
return serial.write(message);

if(debug)
console.log(“Time: ” + new Date());

});

socket.on(‘sing’, function(message) {

socket.emit(“publish”,message);

var message = new Buffer(“y”);
return serial.write(message);

if(debug)
console.log(“Time: ” + new Date());

});
socket.on(‘lcd’, function(message) {

socket.emit(“publish”,message);
var message = new Buffer(“l”);
return serial.write(message);

});

socket.on(‘left’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“a”);
return serial.write(message);
;

});
socket.on(‘right’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“d”);
return serial.write(message);
;

});
socket.on(‘stop’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“s”);
return serial.write(message);

});
socket.on(‘1’, function(message) {
socket.emit(“publish”,”Camera ” + message);
var message = new Buffer(message);
return serial.write(message);

});
socket.on(‘2’, function(message) {
socket.emit(“publish”,”Camera ” + message);
var message = new Buffer(message);
return serial.write(message);

});
socket.on(‘3’, function(message2) {
socket.emit(“publish”,”Camera ” + message2);
var message = new Buffer(message2);
return serial.write(message);

});
socket.on(‘fl’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“q”);
return serial.write(message);

});

socket.on(‘fr’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“e”);
return serial.write(message);

});

socket.on(‘reverse’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“x”);
return serial.write(message);
});

socket.on(‘rl’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“z”);
return serial.write(message);

});

socket.on(‘rr’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“c”);
return serial.write(message);

});

socket.on(‘light1’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“i”);
if(light1){
message = new Buffer(“i”);
light1 = false;
return serial.write(message);

}else{
message = new Buffer(“p”);
light1 = true;
return serial.write(message);

}
if (debug)
console.log(“Time: ” + new Date());
});
socket.on(‘light2’, function(message) {
socket.emit(“publish”,message);
var message = new Buffer(“u”);
if(light2){
message = new Buffer(“u”);
light2 = false;
return serial.write(message);

}else{
message = new Buffer(“o”);
light2 = true;
return serial.write(message);

}
if (debug)
console.log(“Time: ” + new Date());
});
socket.on(‘whisper’, function(message) {
return socket.broadcast.emit(‘secret’, message);
});
});
/*
net.createServer(function(socket2){
socket2.on(‘data’, function(data){
console.log(“Robot: ” + data);
io.sockets.emit(‘publish’,”Robot: “+ data);
});
}).listen(1234);
*/

Corresponding HTML file can be found here.

The Arduino sketch for the robot is listed in this article.

(Visited 1,304 times, 1 visits today)