socket.io mqtt wrking

app.js


var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var mqtt    = require('mqtt');
var client  = mqtt.connect('ws://iot.eclipse.org:80/ws');

app.get('/', function(req, res) {
   res.sendfile('index.html');
});

client.on('connect', function () {
    client.subscribe('ledstatus');
      client.subscribe('LIGHT');
    client.publish('presence', 'Hello mqtt');
});

io.sockets.on('connection', function (socket) {
  socket.on('subscribe', function (data) {
    console.log('Subscribing to '+data.topic);
    socket.join(data.topic);
    client.subscribe(data.topic);
  });
});

client.on('message', function(topic, message){
  console.log(topic+'='+message);

    io.sockets.emit('testerEvent1', { description: 'A custom event named testerEvent!2sec    '});
  io.sockets.emit('mqtt',{'topic':String(topic),     'payload':String(message)});
  io.sockets.emit('mqtttopic', {topic: String(topic)});
  io.sockets.emit('mqttmsg', {payload: String(message)});


  io.sockets.emit('udp message', { description: 'A udp msg event'});
  io.sockets.emit('testerEvent2', String(message));
});

 var visitas = 0;
io.on('connection', function(socket) {
   console.log('A user connected');

   //Send a message when
   setTimeout(function() {
      //Sending an object when emmiting an event
      socket.emit('testerEvent', 'A custom event named testerEvent!');
   }, 4000);

   visitas++;
   mqttmsgs="mqtt messages";
     // Envia o total de visitas para o novo usuário.
     socket.emit('visits', visitas);
     socket.emit('pay', mqttmsgs);
     // Envia o total de visitas para os demais usuários.
     socket.broadcast.emit('visits', visitas);
      socket.broadcast.emit('pay', mqttmsgs+visitas);

     // Evento disconnect ocorre quando sai um usuário.
     socket.on('disconnect', function(){
       visitas--;
       // Atualiza o total de visitas para os demais usuários.
       socket.broadcast.emit('message', visitas);
     });

   socket.on('disconnect', function () {
      console.log('A user disconnected');
   });
});

http.listen(3000, function() {
   console.log('listening on *:3000');
});


index.html


   
      Hello world
   
   

   

     Contador de visitas online com Socket.io
     Número de visitas: 0
     payload msg: 0

   


   Hello world
     
sample another temp text

   

Comments

Popular posts from this blog

Script For Login, Logout and View Using PHP, MySQL and Bootstrap

Real-Time Web Interface to MQTT using Socket.io and Node.js

Customize radio buttons and checkboxes with CSS sprites