Articles of mqtt

MQTT.js订阅接收来自代理的相同消息的倍数

我在CloudMQTT运行,我的JS代码是这样的: var mqtt_url = URL.parse('mqtt://m10.cloudmqtt.com:15272' || 'mqtt://localhost:1883'); var auth = (mqtt_url.auth || ':').split(':'); var url = "mqtt://" + mqtt_url.host; var options = { port: mqtt_url.port, clientId: 'mqttjs_' + Math.random().toString(16).substr(2, 8), username: USERNAME, password: PASSWORD, }; // Create a client connection var client = mqtt.connect(url, options); client.on('connect', function() { // When connected // subscribe to a […]

使用node.js运行mqttjs示例

我试图开始玩节点和mqtt,我发现这个非常好的MQTT协议库将它集成到node.js. 该库简单地称为mqttjs: https ://npmjs.org/package/mqttjs 我已经按照这个简单的指南来设置节点js: http : //shapeshed.com/setting-up-nodejs-and-npm-on-mac-osx/并且在那个例子中创build和启动的服务器工作正常。 我根据节点网站上的说明( npm install mqttjs )安装了mqttjs库。 在mqttjs库的文档中,他们说“ examples/broadcast.js ”中有一个服务器示例。 看来这已经被转移到“ examples/server/broadcast.js ”。 我有一些问题运行这个例子,虽然,服务器从来没有启动,并在最后抛出一个错误。 这里是我的terminal的输出: daniel$ pwd /Users/daniel/test/node_modules/mqttjs/examples/server daniel$ node broadcast.js /Users/daniel/test/node_modules/mqttjs/lib/parse.js:113 packet.topic = topic_and_len[0]; ^ TypeError: Cannot read property '0' of null at Object.module.exports.publish (/Users/daniel/test/node_modules/mqttjs/lib/parse.js:113:31) at Connection.parse (/Users/daniel/test/node_modules/mqttjs/lib/connection.js:81:26) at Socket.EventEmitter.emit (events.js:88:17) at TCP.onread (net.js:397:14) 我试过阅读文档,但他们似乎没有更新,我可以find没有参考如何运行与图书馆给出的例子。 如果有人有这方面的经验,我会非常感激。 谢谢。

var mqtt = require('mqtt'); 导致错误

我已经安装了“node.js”,然后从“node.js”命令行执行“ npm install mqtt ”来安装“mqtt.js”。 现在要testing“mqtt客户端”我试图执行: var mqtt = require('mqtt'); 这导致错误说: "Error: Cannot find module 'mqtt' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at repl:1:12 at REPLServer.self.eval (repl.js:110:21) at repl.js:249:20 at REPLServer.self.eval (repl.js:122:7) at Interface.<anonymous> (repl.js:239:12) at Interface.EventEmitter.emit (events.js:95:17)"

mqtt messaging.client javascript nodejs

我是新来的JavaScript的mqtt消息客户端。 任何人都可以说这个代码是写在客户端或服务器端的。 client = new Messaging.Client(location.hostname, Number(location.port), "clientId"); client.onConnectionLost = onConnectionLost; client.onMessageArrived = onMessageArrived; client.connect({onSuccess:onConnect}); function onConnect() { // Once a connection has been made, make a subscription and send a message. console.log("onConnect"); client.subscribe("/World"); message = new Messaging.Message("Hello"); message.destinationName = "/World"; client.send(message); }; function onConnectionLost(responseObject) { if (responseObject.errorCode !== 0) console.log("onConnectionLost:"+responseObject.errorMessage); }; function onMessageArrived(message) { […]

使用RabbitMQ节点MQTT.js问题

无法使用node.js mqtt客户端连接到我的RabbitMQ服务器(已启用MQTT适配器)。 这些之间是否存在兼容性问题? 我可以使用bluerhinos MQTT PHP库连接到队列,所以我知道队列名称和主机名等是正确的,并且正在正在检索消息 Node.js应用程序 var mqtt = require('mqtt'); var mqttClient = mqtt.connect('mqtt://rabbit:1883'); mqttClient.on('connect', function() { console.log("connected"); }); mqttClient.publish('queue', 'message'); PHP require("vendor/bluerhinos/phpmqtt/phpMQTT.php"); $mqtt = new phpMQTT("rabbit", 1883, "clientId"); if ($mqtt->connect()) { $mqtt->publish("queue","Hello World! at ".date("r"),1); $mqtt->close(); } MQTT.js默认生成一个随机的客户端ID,所以它与客户端ID没有关系。

无法通过networking连接到蚊子

我在Linux上安装了带有websokets支持的最新的Mosquitto MQTT代理,并且编辑configuration文件来为websocket添加一个监听器。 我将这些行添加到configuration文件中: listener 1883 protocol mqtt listener 1884 protocol websockets 当我跑步 sudo /usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf 代理启动,控制台中的其中一行显示 Opening websockets listen socket on port 1884. 并没有进一步的错误。 我认为websocket的听众应该已经开始运行了。 当我用Node.js中的mqtt.jstesting代理时,mqtt运行良好,但是我无法通过websocket连接到代理。 JS代码: var wsClient = mqtt.connect('ws://my.server.address:1884') wsClient.on('connect', function(){ console.log('ws connected') }) wsClient.on('error', function(err) { console.log(err) }) 运行JS代码后,我看到没有错误或连接的消息。 经纪人也没有显示任何关于ws连接的消息。 奇怪的是,我把这个工作全部用在另一个Ubuntu系统上,但是在这个系统上,只有一个Red Hat系统,只有mqtt连接正在工作,ws似乎没有工作,但是两边都没有显示错误。 什么可能导致这个问题? 谢谢。 UPDATE 我试图在代理服务器上运行该程序,使用ws://127.0.0.1:1884作为目标,并将其连接。 但从远程机器,说我的笔记本电脑或其他服务器,websokcets仍然无法正常工作。

MQTT JavaScript客户端没有连接(错误的协议?)

我正在努力使我的MQTT客户端在我的应用程序内工作。 经纪人由CloudMQTT提供。 当试图在NodeJS中运行以下代码时,客户端正确连接到MQTT; var mqtt = require('mqtt'); var client = mqtt.connect( "mqtt://m20.cloudmqtt.com", { port: 11212, username: "XXXXXXXX", password: "XXXXXXXX" } ); client.on('connect', function () { console.log('connected'); }); 但是,当我使用Bower软件包在前端运行相同的代码(当然没有要求)时,客户端不能连接。 我也尝试了其他MQTT浏览器的JS包。 我更喜欢MQTT.js而不是Paho,因为我想在一个连接的客户端上使用多个订阅。 如果console.log(client); , protocol: 'mqtt'使用protocol: 'mqtt'和protocolId: 'MQTT' 。 前端使用protocol: 'ws'和protocolId: 'MQTT' 。 这可能是问题吗? 将这些选项添加到mqtt.connect不起作用。

通过MQTT将图像从Arduino发送到MOSCA主机

我想使用MQTT将(jpeg)图像数据从arduino发送到mosca主机。 在arduino我使用PubSubClient库。 图像数据存储在SPI连接的FIFO上。 Arduino素描: size_t len = myMemory.read_fifo_length(); static const size_t bufferSize = 2048; static uint8_t buffer[bufferSize] = {0xFF}; while (stuff) { size_t copy = (stuff < bufferSize) ? stuff : bufferSize; myMemory.transferBytes(&buffer[0], &buffer[0], copy); client.publish("transfer", &buffer[0], will_copy); stuff -= copy; } 而在服务器端,我使用带有mosca的NodeJS: var image; server.on('published', function(packet, client) { if(packet.topic == "transfer") image+=packet.payload; if (packet.topic […]

如何在IBM Websphere MQ中创build指向队列的别名主题?

我试图通过MQTT协议在使用WebSphere MQ队列的应用程序和使用Websphere MQ主题的nodeJS应用程序之间发送消息。 我知道我们可以创build一个别名队列: 指向一个主题(在这种情况下,应用程序通过别名队列监听新的发布), 指向另一个队列。 现在,我想要相反的过程: 如何创build指向队列的别名主题? 在这种情况下,nodeJS应用程序将能够通过来自推送原始队列上消息的另一个应用程序的别名主题来侦听传入消息。 configuration: WebSphere v7.5 节点v5.5.0 协议MQTT v3

如何通过服务器隧道浏览器端的mqtt?

浏览器使用这个连接到一个蚊子(websockets模式): new Paho.MQTT.Client('localhost', 9001, ''); 据我所知,这是从浏览器到经纪人的直接连接。 当浏览器位于不同的机器上时,它不能在正常的设置下工作。 在正常的设置nodejs和代理在同一台机器上。 如何通过nodejs路由,所以nodejs可以将连接转发到localhost:9001 ? 我不想写很多代码来重新打包消息并重新实现不同的订阅API。