在Raspberry Pi,Arduino和JavaScript之间使用MQTT

时间:2014-08-28 04:27:46

标签: arduino raspberry-pi mqtt mosquitto

我正在做一个伙计,当时我在一个覆盆子pi上主持一个网页,我想通过MQTT向arduino发送消息,arduino读取传感器,然后将值发送回pi进行显示在网页上。

我希望在pi上使用Mosquito作为经纪人,并将arduino和网页视为客户。

我在弄清楚它们如何融合在一起时遇到了很多麻烦。

我见过的很多例子都使用了web套接字和node.js以及MQTT.io,我只是很困惑..

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

提前致谢!

2 个答案:

答案 0 :(得分:4)

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

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

可以做什么的一个例子,以及我正在使用mqtt和websockets进行的操作是什么;

  1. 从arduino发布temperature数据到mqtt broker。
  2. 订阅arduino发布的主题,并使用python scripts将数据填充到mysql数据库中。
  3. 让实时网站订阅该主题,并将current temperature显示为折线图。

答案 1 :(得分:4)

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

如果您对MQTT over websockets的工作原理感兴趣,this blog post可能会对您有所帮助。此外,可以在this blog post中找到完整示例websockets / MQTT应用程序教程。