通过 websocket 连接 AWS MQTT

Posted

技术标签:

【中文标题】通过 websocket 连接 AWS MQTT【英文标题】:Connecting AWS MQTT via websocket 【发布时间】:2021-12-15 05:39:59 【问题描述】:

我正在尝试将传感器连接到 AWS MQTT 代理到数据库,该数据库会将其发送到网络服务器,以便可以轻松访问它。现在,我们实验室中的人们可以访问我们的传感器数据的唯一方法是直接联系我并让我连接到 Node Red 仪表板。是否有任何方法让每个人或至少几个人都可以通过 WebSocket 访问数据?

我已经连续搜索了几个小时,但在易用性方面没有成功。

根据我的研究,这是一个名为 MQTT.Cool 的基于 java 的客户端,它可以连接多个代理并使用 javascript 通过 WebSocket 发布数据。但是,除了公司提供的数据外,实际上没有可用的数据。所以将它与我的项目结合起来并不是一件容易的事。

另外,我考虑过允许从本地访问我的节点红色仪表板 ip-address,但出于安全原因,建议不要这样做。

【问题讨论】:

你可以试试google iot core mqtt bridge并将其存储在firebase cloudfirestore中。 firebase 有自己的一套使用 websockets 的库。 link here 有可能吗? MQTT 和 Websockets 是两种不同的网络协议。 使用 google iot core mqtt bridge 是否可以让其他人更轻松地访问数据或将其上传到网络上以便任何有权限的人都可以查看? 【参考方案1】:

AWS IoT 提供了一个可在浏览器中使用的开发工具包: https://github.com/aws/aws-iot-device-sdk-js#browser

可以编写一个web应用,登录后查看数据库返回的内容 如果需要实时浏览,可以使用mqtt.js订阅一些主题: https://www.emqx.com/en/blog/connect-to-mqtt-broker-with-websocket

或者使用客户端工具MQTTX,直接连接MQTT代理并订阅主题

【讨论】:

以上是关于通过 websocket 连接 AWS MQTT的主要内容,如果未能解决你的问题,请参考以下文章

AWS websocket服务器:从浏览器连接时出现403错误,从Python很好

基于 WebSocket 协议的 AWS IoT MQTT

AWS websocket在连接时抛出CORS错误

Rails + ActionCable + Passenger + AWS Elasticache (Redis):如何修复“WebSocket 在建立连接之前关闭。”在生产?

AWS EC2 上的 Websocket 负载平衡

无法通过 websockets 发布到 aws mqtt 代理