我有下面的代码,它接受来自url的数据并打印json格式化的数据。我想使用node.js.Is向mqtt发布相同的数据,有相同的示例代码吗?
`var request = require('request')
var JSONStream = require('JSONStream')
`var es = require('event-stream')`
`request({url: 'http://isaacs.couchone.com/registry/_all_docs'})
`.pipe(JSONStream.parse('rows.*'))
.pipe(es.mapSync(function (data) {
console.log(data);
console.error(data)
return data
}))发布于 2014-07-22 21:52:32
您可以使用mqtt节点库MQTT.js。
您当前的代码如下所示:
var request = require('request');
var JSONStream = require('JSONStream');
var es = require('event-stream');
var mqtt = require('mqtt');
request({url: 'http://isaacs.couchone.com/registry/_all_docs'})
.pipe(JSONStream.parse('rows.*'))
.pipe(es.mapSync(function (data) {
console.log(data);
console.error(data);
//MQTT publish starts here
var client = mqtt.createClient(1883, 'localhost');
client.publish('demoTopic', JSON.stringify(data));
client.end();
return data;
}))上面的代码假设代理在端口1883的本地机器上运行。
发布于 2014-07-21 15:18:18
只需为mqtt使用node.js库,如MQTT.js https://github.com/adamvr/MQTT.js
此外,您还可以在node.js中通过安装mosca https://github.com/mcollina/mosca来运行您自己的多协议代理。
https://stackoverflow.com/questions/24858365
复制相似问题