Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Raspberry Pi、Arduino和JavaScript之间使用MQTT_Arduino_Raspberry Pi_Mqtt_Mosquitto - Fatal编程技术网

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

在Raspberry Pi、Arduino和JavaScript之间使用MQTT,arduino,raspberry-pi,mqtt,mosquitto,Arduino,Raspberry Pi,Mqtt,Mosquitto,我和一位同事目前正在做一个项目,在树莓pi上托管一个网页,我想通过MQTT向arduino发送一条消息,arduino读取传感器,然后将值发送回pi以显示在网页上 我希望利用pi上的蚊子作为经纪人,将arduino和网页视为客户 我只是很难弄清楚这一切是如何结合在一起的 我看到的许多示例都使用web套接字、node.js和MQTT.io,我真的很困惑 有人能帮我把所有的东西拼凑起来,并解释一下它们是如何配合的以及它们的作用吗 提前谢谢 允许web浏览器打开到服务器的双向通信管道 要使websoc

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

我希望利用pi上的蚊子作为经纪人,将arduino和网页视为客户

我只是很难弄清楚这一切是如何结合在一起的

我看到的许多示例都使用web套接字、node.js和MQTT.io,我真的很困惑

有人能帮我把所有的东西拼凑起来,并解释一下它们是如何配合的以及它们的作用吗

提前谢谢

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

要使websocket正常工作,您需要启用websocket的mqtt代理。目前,您必须单独安装此软件,下面是一些示例。Mosquitto将在下一个版本中启用WebSocket,如果您愿意,您可以使用它

一个可以做什么的例子,以及我正在用mqtt和websockets做什么

  • 从arduino向mqtt代理发布数据
  • 订阅arduino发布到的主题,并使用python将数据填充到mysql数据库中
  • 让一个实时网站订阅主题,并以线图的形式显示主题

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


    如果您对websockets上的MQTT的详细工作方式感兴趣,可能会对您有所帮助。另外,可以在中找到完整的websockets/MQTT应用程序教程示例。

    谢谢!所以web套接字所做的一切就是为浏览器提供一种与MQTT代理通信的方式?我曾想过用mySQL来做这件事,但如果可能的话,我真的很想尝试用MQTT来做这件事。我可以使用node.js替换web套接字吗?它是一个类似的东西吗?它相当于一个客户端,可以订阅/发布主题。我只是使用mysql来获取历史数据。Node.js,对此不太了解,抱歉,但我已经看到了这个示例,不过这可能有助于hivemq在raspberry pi上运行吗?嗨!谢谢你的回复!我非常感激!虽然HiveMQ非常酷,但我们真的很想用蚊子作为中间人!我想现在蚊子有了websockets的支持,我会走这条路!那些教程真的帮助了我的理解:-)@Matt。HiveMQ在Raspberry Pi上运行完美。虽然它是为多核服务器设计的,但对于连接数少于1000个的简单安装,Raspberry Pis工作得很好。确保在安装HiveMQ之前安装当前的JDK以获得最佳体验。如果支持Thx dominik,则它不是100%@LeeWiggins在这里,在您的pi上安装hivemq,您将拥有mqtt/websockets,而且hivemq非常容易安装。