『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4815|回复: 4

[求助] 求助如何用Node-RED转换数据格式?

[复制链接]

40

主题

313

帖子

3093

积分

论坛元老

Rank: 8Rank: 8

积分
3093
金钱
2780
HASS币
0
发表于 2019-8-6 18:58:36 | 显示全部楼层 |阅读模式
本帖最后由 dizherui 于 2019-8-6 19:01 编辑

用 Modbus Read 读取的数据,但出来的数据格式需要转换,研究了一天也没处理明白,本来想用正则来匹配,可惜看教程也没学会。所以求大神帮忙。

读取出来的数据是这样的。

求助1.png

求助2.png

求助3.png

现在能读取出来两种数据格式,一种是这样的
{"data":[24],"buffer":{"type":"Buffer","data":[0,28]}}
还有一种能读取出来这样的
[24]

我需要读取的是其中24这个数据,提取出来之后,还需要整理一下单位;单位为0.01A。
例如出来的数字是 24 那么我想发送到MQTT的数字为0.24
如果出来的数字是 601那么我想发送到MQTT的数字为6.01
求大神帮忙
回复

使用道具 举报

22

主题

359

帖子

3763

积分

元老级技术达人

积分
3763
金钱
3369
HASS币
100

教程狂人

发表于 2019-8-6 19:48:54 | 显示全部楼层
用json那个数据
json.data[0]*0.01
回复

使用道具 举报

40

主题

313

帖子

3093

积分

论坛元老

Rank: 8Rank: 8

积分
3093
金钱
2780
HASS币
0
 楼主| 发表于 2019-8-6 20:15:31 | 显示全部楼层
33201 发表于 2019-8-6 19:48
用json那个数据

求助4.png
直接就这样写进去了,但提示:

2019/8/6 下午8:12:58node: 测试
function : (error)
"ReferenceError: json is not defined (line 1, col 1)"

还有,如何取小数点后两位?  00.00 现在有的时候会出现七八位的小数点
回复

使用道具 举报

23

主题

656

帖子

4609

积分

元老级技术达人

积分
4609
金钱
3938
HASS币
30

教程狂人

QQ
发表于 2019-8-7 08:13:23 | 显示全部楼层
二楼说的josn.data不是让你直接抄上去,用第一个返回的结果,代码按照下面这么写
msg.payload=msg.payload[0]*0.01;
return msg;

回复

使用道具 举报

8

主题

2073

帖子

6053

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6053
金钱
3980
HASS币
145

灌水之王

发表于 2019-8-7 12:52:34 | 显示全部楼层
做个记号 学习下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 13:41 , Processed in 0.084916 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表