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


  本文将介绍通过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

五、更多

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值