Skip to main content

reComputer R1000 使用 fuxa 作为 MQTT 客户端

note

本文档由 AI 翻译。如您发现内容有误或有改进建议,欢迎通过页面下方的评论区,或在以下 Issue 页面中告诉我们:https://github.com/Seeed-Studio/wiki-documents/issues

简介

FUXA 是一个基于 Web 的过程可视化 (SCADA/HMI/Dashboard) 软件。通过 FUXA,您可以为您的设备创建现代化的过程可视化界面,并实时显示数据。它支持 Modbus RTU/TCP、Siemens S7 协议、OPC-UA、BACnet IP、MQTT 和其他协议。

本文主要介绍如何在 reComputer R1000 上使用 fuxa 进行 MQTT 通信。本文使用 mosquitto 作为 MQTT 服务器代理,fuxa 和 node-red 作为 MQTT 客户端,并引入一个 ModbusTCP 从机作为 fuxa 发布数据的来源。fuxa 订阅名为 /dev/fromNode_red 的主题,并发布名为 /dev/fromfuxa 的主题。该主题的数据来自 ModbusTCP 从机;node-red 订阅名为 /dev/fromfuxa 的主题,并发布名为 /dev/fromNode_red 的主题。通信框架如下图所示:

开始

在开始此项目之前,您可能需要按照以下说明提前准备好硬件和软件。

硬件准备

reComputer R1000

软件准备

  • Python 3.11 可能与 fuxa 不兼容。如果您的 Python 版本是 3.11,请考虑更换为其他版本的 Python。
  • 在 W10 PC 上使用 modbusmechanic。您也可以使用其他 Modbus 测试工具。
  • 在 reComputer R1000 上使用 fuxa。您可以参考以下步骤在 reComputer R1000 上安装 fuxa:
      ## 您需要安装 Node 版本 14 || 16 || 18。
    wget https://nodejs.org/dist/v18.20.3/node-v18.20.3-linux-arm64.tar.xz
    tar -xf node-v18.20.3-linux-arm64.tar.xz
    cd node-v18.20.3-linux-arm64
    sudo cp -R * /usr/local/
    node -v
    npm -v
    ## 接下来从 npm 安装 FUXA
    sudo npm install -g --unsafe-perm @frangoteam/fuxa
    sudo fuxa
  • 关于如何在 fuxa 中使用 ModbusTCP 功能,您可以参考此 wiki
  • 关于如何下载和配置 mosquitto,您可以参考此 教程。这里还介绍了如何在 node-red 中配置 MQTT 通信,您也可以参考。

硬件配置

对于 ModbusTCP,我们使用以太网线将 W10 PC 和 reComputer R1000 连接到交换机,以确保它们在同一网络段。

pir

MQTT 客户端通信步骤

步骤 1:参考此教程,使用 fuxamodbusmechanic 建立连接。并参考此维基在 reComputer R1000 上部署 mosquittoNode-red

步骤 2:连接到 MQTT 服务器。在 fuxa 界面的右下角点击 + 按钮,输入 NameType,选择 MQTTclient,然后输入 MQTT 服务器的 IP 地址和端口号。如果您的 MQTT 服务器需要安全验证,还需要输入 Client IDUsernamePassword 等信息。我们的服务器不需要此验证,因此无需填写。最后点击 OK,等待模块左下角出现绿色点,表示成功连接到 MQTT 服务器。

步骤 3:订阅主题。进入配置界面,点击左上角的 + 按钮,在 Browser Topics on broker 中输入要订阅的主题,这里我们订阅 node-red 发布的 /dev/fromNode_red 主题,然后点击旁边的搜索按钮,可以看到对应主题的内容。fuxa 支持两种显示格式:rawjson。这里我们选择 json,最后点击 subscribe 即可成功订阅。

步骤 4:发布主题。进入配置界面,选择 Publish 栏,在 Topic path 中输入要发布的主题名称,这里我们输入 /dev/fromfuxa,然后点击 Add attribute to payload,会弹出一行可以发布的数据内容,这里我们选择从 ModbusTCP 从机获取的 4 个数据和一个时间戳作为我们发布主题的内容,并选择发布格式为 json,最后点击 Publish 即可成功发布。

步骤 5:完成上述配置后,我们更改 Modbus 从机端的数据。您可以在 node-red 的调试窗口中看到数据的实时变化,表明 fuxa 成功通过 /dev/fromfuxa 主题发布了数据。

技术支持与产品讨论

感谢您选择我们的产品!我们致力于为您提供多种支持,以确保您使用我们的产品时体验顺畅。我们提供多个沟通渠道,以满足不同的偏好和需求。

Loading Comments...