3

我和一个伙伴目前正在做一个项目,该项目在树莓派上托管一个网页,我想通过 MQTT 向 arduino 发送一条消息,arduino 读取传感器,然后将值发送回 pi 以显示在网络上页。

我希望在 pi 上使用 Mosquito 作为代理,并将 arduino 和网页视为客户端。

我只是在弄清楚这一切如何组合在一起时遇到了很多麻烦。

我见过的很多例子都使用 web sockets 和 node.js 和 MQTT.io,我只是很困惑..

有人可以帮我把它们拼凑在一起,并解释一切如何适合以及它的作用吗?

提前致谢!

4

2 回答 2

4

Websockets允许 Web 浏览器打开到服务器的双向通信管道。

要使 websockets 工作,您需要启用 websocket 的 mqtt 代理。目前你必须单独安装它,这里有一些例子。Mosquitto 将在下一个版本1.4中启用 websockets,如果你愿意,你可以编译它。

可以做什么的一个例子,以及我用 mqtt 和 websockets 做的 atm 是:

  1. 从 arduino将温度数据发布到 mqtt 代理。
  2. 订阅 arduino 发布的主题,并使用 python脚本将数据填充到 mysql 数据库中。
  3. 有一个实时网站订阅该主题并将当前温度显示为折线图。
于 2014-08-28T06:50:28.923 回答
4

我们过去做过关于使用 MQTT 和 websockets 构建应用程序的教程。幻灯片(+ 代码)可以在Slideshare上找到。

如果您对 MQTT over websockets 的详细工作原理感兴趣,这篇博文可能会对您有所帮助。此外,可以在此博客文章中找到完整的示例 websockets/MQTT 应用程序教程。

于 2014-08-28T09:08:43.620 回答