问题标签 [mosca]
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.
ssl - 具有 TLS 和 JWT 的 MQTT 代理
我们目前正在开展一个数据备份项目。我们将自己的硬件运送给工业客户。然后,该硬件将读取客户想要备份的所有相关数据,并使用 MQTT(Node.js 客户端和 Mosca MQTT 代理)将它们发送到云服务器。
现在我的问题是:
- 是否有可用于我的 MQTT 连接的免费 TLS 证书?我发现唯一需要域名的。
- 为了提高安全性,我们使用 JWT。虽然我们没有任何数据库。令牌将作为 MQTT-Password 参数传递。有更好的选择吗?
python - mqtt 客户端在多线程上运行时经常断开连接
我有 mosca mqtt 经纪人正在运行。我使用来自 python 客户端的 paho-mqtt 连接到它。我有两个线程在我的代码中并行运行,一个用于接收消息,另一个用于发布。
每次发布发生时,客户端都会断开连接。
我试着评论这client.publish
条线,但我仍然在断开连接。所以我怀疑这种断开与多线程或代理本身的一些问题有关。谁能帮我这个?
python - 从 python 客户端订阅 mqtt 代理时未收到所有数据
我有一个 mosca mqtt 代理启动并运行。我从 python 客户端连接到代理,订阅特定主题以接收数据。我在接收数据时面临数据丢失的问题。我的代码
和控制台输出
第一次断线后,一秒内立即重新连接并开始接收消息。但第二次断线时,最后一条消息与disconnect回调打印的时间有1分钟的时间差。这一分钟差异中的数据将丢失。但是,如果我使用 MQTT Lens 检查数据,我连接到代理地址并订阅相同的主题,我也可以看到那一分钟的数据。因此,代理正在发送数据,但 python 客户端无法接收它。如果它在一分钟后断开连接,为什么它在一分钟内无法接收该数据。有人可以帮我弄这个吗?
node.js - 使用 mosca MQTT 的请求响应模式
有没有办法用 mosca MQTT 实现请求-响应模式来“检查来自客户端的回复,如果我在预期时间内没有收到预期的回复,则重新发布”。
我相信这在 Mqtt 5 中是可能的,但到目前为止,我必须使用具有 QoS 1 的 Mosca 代理(支持到 Mqtt 3.1.1)
我正在寻找一种 Node js 解决方法来实现这一点。
javascript - mqtt JS文件中的多个SUB
所以,我为一个主题制作了一个项目,我有一个文件(weather.js),它发布了两个变量,一个在本地/温度,另一个在本地/时间。我正在制作一个订阅它们并使用值(blinds.js)进行操作的文件,但它混合了它们。我同时发送温度和小时,并在订阅者中将第一个值提供给温度局部变量(在blinds.js 中),然后提供给时间局部变量。我能做些什么?
这是 weather.js 文件。
这是blinds.js 文件。
node.js - 无法从 Broker 中的 MQTT 消息解析 JSON
我正在使用 Mosca 构建一个 MQTT 服务器,并尝试将 MQTT 消息解析为 JSON 以用于数据库存储。
下面的“已发布”回调中的代码
JSON字符串的示例是:
{"_id":"5e928105156c40000006f9e9","温度":33,"湿度":64.9}
但我收到一条错误消息JSON.parse
SyntaxError:位置 2 处 JSON 中的意外标记 c
我应该如何正确解析此消息?
node.js - 使用 nodejs mosca 进行身份验证和发布订阅
我正在节点 js 上使用 mosca 创建一个物联网服务。它不断崩溃到订阅区域,我无法显示传入的消息。
- 如何防止它崩溃。
- 如何查看传入的消息?
如何在 authorizeSubscribe 字段中查看传入消息?还授权订阅字段崩溃
arduino - 为什么我的 Arduino 无法连接到我的 Mosca Broker?
我正在学习 MQTT,并将开源 mosca 代理部署到一个 azure Web 应用程序。问题是代理在 2 台之间工作,但是当我尝试将我的 arduino nano 连接到代理时,它总是失败。这是我的服务器代码:
node.js - Node.js - Mosca 和 Heroku
我在 node.js 上构建了一个使用 Mosca 和 MQTT 的服务器。
在我的本地主机上,一切正常,包括通过 mosquitto (_sub/_pub) 获取/发送消息。
当我将代码上传到 Heroku 时,mqtt 请求在服务器内部工作,但我在 mosquitto 上什么也没看到。
那是我运行 MQTT 代理的代码。
为了通过 node.js 发布消息,我使用了这些代码行:
我使用了 heroku ( http://<app>.herokuapp.com
) 的 http url。
我试图testMsg
像这样获得 via mosquitto_sub :
而且没有运气。
如果我使用本地主机版本并输入mosquitto_sub -t testTopic
它的工作。
为什么不在 Heroku 中?
(顺便提一下,我使用打字稿。)
node.js - 节点 js mosca 代理错误:预期的“模式”是一个对象或布尔值
我创建了一个简单的经纪人:
运行文件时出现此错误:
我在跑步:
节点:v12.18.4
npm:6.14.6