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');
});
Hello world
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
Contador de visitas online com Socket.io
Número de visitas: 0
payload msg: 0
var socket = io();
socket.on('visits', function(visitas){
document.getElementById('visitas').innerHTML = visitas;
});
// socket.on('pay', function(mqttmsgs){
// document.getElementById('payl').innerHTML = mqttmsgs;
// });
socket.on('testerEvent2', function(description){
document.getElementById('payl').innerHTML = description;
});
//socket.on('testerEvent1', function(data){document.write(data.description)});
//socket.on('testerEvent', function(data){document.write(data.description)});
// socket.on('mqtt', function(data){document.write(data.topic+' = ')});
// socket.on('mqtt', function(data){document.write(data.payload +'')});
// socket.on('mqttmsg', function(data){document.write(data.payload +'')});
//document.getElementById("date").innerHTML = "My new text!";
Hello world
sample another temp text
Comments
Post a Comment