当前位置:   article > 正文

modscan模拟数据,nodred通过modbus协议向emqx创建规则引擎写入TDengine库

modscan


  本文将介绍通过modscan模拟设备信号数据,通过nodered读取modbus数据,发送到emqx主题上,再通过emqx将数据存储到TDEngine数据库里面。

1

一、emqx存储数据到TDEngine数据库

EMQX安装、卸载 以及使用 - 第四章:EMQX使用-创建规则引擎写入tDengine

二、modscan模拟设备数据

参考链接: Modbus协议基于modscan 的设备数据收发过程模拟

1.新建文件:
1
2. 建立连接
2
3. 设置数据自变更
双击数据项,设置属性:1
2

三、在Node-RED上模拟Modbus通讯

3.1 nodeRed环境搭建

3.1.1 nodered安装

noddered安装参考链接NodeRed环境搭建
进入nodered:
1、cmd
2、输入:node-red
2
3、启动后在浏览器输入:http://localhost:1880/即可进入nodered开发界面
3

3.1.2 安装modbus驱动

点击右上角,选择“节点管理”:
1
2

3.2 nodeRed使用

1、Node-RED的面板的操作
2、Node-RED公共节点的使用

3.3 nodered读取modbus发送的数据

  1. 在左侧菜单栏中,拖拽一个 modebus 的节点到页面中,双击节点后,右侧出现一个编辑 节点的配置页面,我们根据内容提示,新建一个连接信息后,点击 Done 【完成】按钮后,即可保存该节点信息。
    1
  2. 在左侧菜单栏中,拖拽一个 function的节点到页面中,双击节点后,右侧出现一个编辑 节点的配置页面,设置输出对象,点击 Done 【完成】按钮后,即可保存该节点信息。
    3
  3. 添加debug,在窗口打印数据:
    8
  4. 部署流程:
    7
    部署后,在窗口能看到数据输出:
    8

3.4 nodered发送数据到emqx主题

1、mqtt介绍:了解MQTT通讯协议及通讯过程
2、参考链接:使用 Node-RED 处理 MQTT 数据
  将使用 EMQ 提供的 免费公共 MQTT 服务器,该服务基于 MQTT 物联网云平台 - EMQX Cloud 创建,服务器接入信息如下:
    Broker: broker-cn.emqx.io
    TCP Port: 1883
    WebSocket Port: 8083

  1. 在左侧菜单栏中,拖拽一个 modebus 的节点到页面中,双击节点后,右侧出现一个编辑 节点的配置页面,我们根据内容提示,新建一个连接信息后,点击 Done 【完成】按钮后,即可保存该节点信息。
    1
  2. 在左侧菜单栏中,拖拽一个 function的节点到页面中,双击节点后,右侧出现一个编辑 节点的配置页面,设置输出对象,点击 Done 【完成】按钮后,即可保存该节点信息。
    3
  3. 在左侧菜单栏中,拖拽一个 mqtt out的节点到页面中,双击节点后,右侧出现一个编辑 节点的配置页面,我们根据内容提示,新建一个连接信息后,配置一个用户接收数据的 Topic,最后保存完成后,再将其和节点进行连接,点击右上角的 Deploy【部署】 按钮,即可对当前规则应用进行在线部署。
    4

3.5 功能测试

有两种测试方法:

  1. 通过客户端查看:
      在完成整个流数据处理的功能编排以后,我们使用 MQTT 客户端工具 - MQTT X 来测试和验证该功能的可用性。
    (1)新建一个连接,连接到刚才在 Node-RED 中配置的 MQTT 云服务地址
    1
    (2)在 MQTT X 中订阅一个在 MQTT out 节点内配置的 Topic,用于消息数据。
    23
    订阅成功后,能看到控制台输出数据:
    4
  2. 在数据库端查看,通过查询表数据,判断数据是否成功插入:
    3

四、使用操作TDEngine数据库

4.1 查询TDEngine数据

  1. 从左便菜单拖入”inject“节点:

  该节点的作用是手动或定期得将消息注入流中,可以是文本,变量,表达式,时间戳等。该节点前面没有可以流入的节点,消息体只能往后流。
  点击节点的前部分可以触发该节点,也可以设置该节点为循环触发。

1

  1. 新增”function“节点:

  function可以用于操作消息体.可以通过该节点,修改或验证消息体中的数据,在编写函数中,msg对象是函数体中可以直接操作的数据,
2

  1. 添加”http request“节点:

该节点可以发送HTTP请求并返回响应。
3
4

  1. 新增”debug“节点:

debug节点用来查看消息体的具体内容。在“调试”侧边栏选项卡和运行时日志中显示选定的消息属性。 默认情况下,它会显示msg.payload的值,但您也可以将其设置成显示任意属性,完整消息或JSONata表达式的结果。
5

  1. 部署
    (1)将各个节点连起来,从inject连接到debug
    (2)点击右上角的红色按钮部署,注意修改了任何节点的配置后,都要点一下部署,新的配置才能生效。

   部署完成后,点击inject节点的就会触发流,然后就可以在调试窗口看到流中的payload中的消息体。
7

五、更多

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/218082
推荐阅读
相关标签
  

闽ICP备14008679号