问题标签 [ruby-mqtt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
938 浏览

ruby - 我是否需要运行 Mosquitto 才能与远程 mosquitto 代理交互

我是 mqtt 的新手,想了解一些事情。

我需要从远程mosquitto代理获取(订阅)主题的消息。该服务的文档说我需要mosquitto在我的服务器上运行一个代理。

如果我理解正确,那么一个使用mqttgem 并设法使用类似这样的东西进行连接的脚本:

是经纪人吗?我需要在我的机器上运行 mosquitto 还是只需要一个脚本就可以了mqtt

该文档描述了架构并包括以下几行:

第 3 方平台需要安装 MQTT 代理,以允许与我们服务器上的不同盒子进行通信。我们服务器上的代理将启动连接并提供凭据以允许双向通信。

我想到的架构是一个预定的后台进程,使用ruby-mqtt, 它将生成、连接远程mosquitto服务器并在完成之前批量拉下新消息。mosquitto这听起来像是从远程代理获取消息的合理方法吗?

我有一个偷偷摸摸的怀疑有什么我没有得到......任何帮助/方向将不胜感激。谢谢!

0 投票
2 回答
2581 浏览

mqtt - 验证本地 mosquitto MQTT 代理是否已桥接到 test.mosquitto.org

我有一个使用以下配置运行的本地(OSX 11)蚊子代理(1.4.7):

我在这里得到了 conf 设置表:bridge local mosquitto to cloud broker(谢谢)

我现在有 3 个终端。

:直接使用 ruby​​ 脚本订阅了 test.mosquitto.org 和ruby-mqtt.

B : 订阅本地代理mosquitto_sub -t in_topic

C:使用此命令发布:mosquitto_pub -h test.mosquitto.org -t in_topic -m "hello world1"

现在,当我这样做时,我会在AB中得到响应,这让我认为我的桥接正在工作。但是,如果我放弃,-h test.mosquitto.org我不会收到来自A的消息。因此,如果我包含该-h选项,消息只会发送到该代理 (test.mosquitto.org)。

另一方面,如果我停止本地 mosquitto 代理,然后运行包含-h选项的相同命令,则A仍会收到消息,而B不会。B实际上甚至没有启动,因为连接被拒绝,因为本地代理没有运行。

所以,我的问题是,这种配置是否真的确定了经纪人正在桥接?我不确定。

更新: 正如hardillb指出的那样,我的错误是我用来发布的主题未配置为发布到其他代理。当我将 conf 更新为时,topic in_topic out 0我成功地直接从 test.mosquitto.org 代理获取了消息,而不包括-h test.mosquitto.org换句话说。基于配置传播的消息。

我错了的文档可以在这里的桥接部分下找到:http: //mosquitto.org/man/mosquitto-conf-5.html

0 投票
1 回答
167 浏览

javascript - MQTT 服务器到客户端的通信

我想使用 mosca 在服务器和客户端之间进行通信。在第一种情况下,我从客户端订阅和发布数据。并将该数据接收到服务器。但我再次遇到一些问题,我想从服务器发布数据并从同一个客户端接收该数据。

示例:从前端向服务器发送相同的数据。收到这些数据后,我想将这些数据存储在数据库中。保存数据后,我想使用 Mosca(在 Javascript 中)将一些响应(数据)发送到同一个客户端。

感谢您提供答案。

0 投票
1 回答
2314 浏览

ruby - 发布确认 - MQTT

如何识别publishto atopic是否成功。有什么方法可以在发布到某个主题时得到确认。

如果publish客户端(发布者/订阅者)之间的连接丢失如何处理。

我不希望订阅者在收到 pay_load 后向发布端的特定主题发送 ack。

这是我的红宝石代码:

假设,我已经创建了客户端(@client)并在两侧进行了配置。

发布

订阅

0 投票
1 回答
1568 浏览

ruby-on-rails - 在 AWS EC2 Ubuntu + Ruby on Rails 上使用 mosquitto 设置 Paho Javascript 客户端 (MQTT)

我一直在尝试使用端口 1883 在我的 AWS EC2 服务器上设置 MQTT 代理。到目前为止,它可以与ruby​​-mqtt gem一起使用,但我无法使用 Paho Javascript Client 为网站设置它。

到目前为止我做了什么:

蚊子

在我的 AWS EC2 实例上安装了 mosquitto,它正在运行并在端口 1883 上侦听。我使用命令在本地订阅了一个主题

AWS EC2 安全组

允许通过端口 1883 的流量(在 tcp 协议下)

Ruby on Rails

安装了 ruby​​-mqtt gem,并通过在 rails 控制台(开发环境)中运行以下代码来测试 mqtt 是否正常工作

该消息出现在mosquitto_sub正在运行的终端中。

Nginx

所有这一切都是在没有对 Nginx 配置文件进行任何配置的情况下完成的。

帕霍客户

因此,我在本地计算机上启动了本地 Rails 服务器,并在我的一个 html 视图上运行示例 javascript 片段。

但我无法连接。我在 chrome 开发者控制台中遇到的错误是:

我不确定这里有什么问题。非常感谢任何帮助!提前致谢!

0 投票
1 回答
2266 浏览

ruby-on-rails - 如何在 Ruby On Rails 应用程序中配置 Mqtt

我正在将 MQTT 用于使用传感器和时间序列数据库的应用程序。我已经编写了一些正常工作的代码。我将连接建立放在调度程序中。当服务器初始化时,它会自动调用一个方法,我在其中编写了一些代码来连接到 MQTT。但是,现在我认为这并不好。请帮助解决这个问题。我如何在 Rails 应用程序中配置 MQTT 连接,而不是在调度程序中编写。

0 投票
0 回答
103 浏览

mqtt - windows 8.1 mqttlens自动放大的解决方案

我已经mqttlensgoogle chorme apps.

它在几周内运行良好,但最近当我启动它时它出现在缩放中。

我该如何解决?

单击此处查看我的问题的屏幕截图.

0 投票
1 回答
226 浏览

ruby-on-rails - Ruby:QOS=1 的 paho-mqtt 会自动为我重新发送(重新发布)未确认的消息吗?

paho-mqtt在红宝石中使用宝石。
我想知道如果由于某种原因在客户端未收到 PUBACK,gem 是否会自动将消息重新发送(重新发布)到 MQTT 代理,还是我必须手动执行?QOS=1

ex(这是我以 QOS=1 发布,没有做任何其他事情):