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

 找回密码
 立即注册
查看: 2534|回复: 10

[求助] nodered进制转换

[复制链接]

16

主题

239

帖子

2939

积分

金牌会员

Rank: 6Rank: 6

积分
2939
金钱
2700
HASS币
0
发表于 2022-1-12 10:02:55 | 显示全部楼层 |阅读模式
本帖最后由 wfx 于 2022-1-12 10:05 编辑

有一个超声波测距模块,tasmota串口接入,通过MQTT在nodered收到如下16进制数 121.png

nodered中没解析之前msg.payload : string[37]

"{"SerialReceived":"FF056368FF056368"}"
122.png
nodered的函数里面怎样把这个16进制数转10进制
123.png
回复

使用道具 举报

23

主题

656

帖子

4613

积分

元老级技术达人

积分
4613
金钱
3942
HASS币
30

教程狂人

QQ
发表于 2022-1-12 10:40:57 | 显示全部楼层
举个例子,取msgpayload字符串前两个字节数据,转化为10进制
var a=parseInt('0x'+msg.payload.slice(1,3).toString('hex'))
回复

使用道具 举报

16

主题

239

帖子

2939

积分

金牌会员

Rank: 6Rank: 6

积分
2939
金钱
2700
HASS币
0
 楼主| 发表于 2022-1-12 11:14:17 | 显示全部楼层
alei643 发表于 2022-1-12 10:40
举个例子,取msgpayload字符串前两个字节数据,转化为10进制
var a=parseInt('0x'+msg.payload.slice(1,3). ...

这几天一直在搜索大佬的帖子,感谢大佬。我试试看,多谢了
回复

使用道具 举报

16

主题

239

帖子

2939

积分

金牌会员

Rank: 6Rank: 6

积分
2939
金钱
2700
HASS币
0
 楼主| 发表于 2022-1-12 11:45:39 | 显示全部楼层
alei643 发表于 2022-1-12 10:40
举个例子,取msgpayload字符串前两个字节数据,转化为10进制
var a=parseInt('0x'+msg.payload.slice(1,3). ...

您好,"0x"里面的内容填写什么呀?里面的数值是不断变化的 124.png
回复

使用道具 举报

23

主题

656

帖子

4613

积分

元老级技术达人

积分
4613
金钱
3942
HASS币
30

教程狂人

QQ
发表于 2022-1-12 12:28:45 | 显示全部楼层
wfx 发表于 2022-1-12 11:45
您好,"0x"里面的内容填写什么呀?里面的数值是不断变化的

0x就是0x,这是给后面的字符串加上16进制的符号
回复

使用道具 举报

16

主题

239

帖子

2939

积分

金牌会员

Rank: 6Rank: 6

积分
2939
金钱
2700
HASS币
0
 楼主| 发表于 2022-1-12 12:43:15 | 显示全部楼层
alei643 发表于 2022-1-12 12:28
0x就是0x,这是给后面的字符串加上16进制的符号

您看看是这样写函数吗? 125.png
回复

使用道具 举报

23

主题

656

帖子

4613

积分

元老级技术达人

积分
4613
金钱
3942
HASS币
30

教程狂人

QQ
发表于 2022-1-12 12:53:14 | 显示全部楼层
对,如果调试输出的信息返回NaN,有可能是msg.payload的传入值不符合规范,Tasmota串口传入的数据是Json格式,需要使用split节点或者函数进行分割。比如{"serialrecived":"AABBCCDDEEFF"},需要提取其中的“AABBCCDDEEFF”。直接在Fuction节点前面挂一个split节点即可
回复

使用道具 举报

16

主题

239

帖子

2939

积分

金牌会员

Rank: 6Rank: 6

积分
2939
金钱
2700
HASS币
0
 楼主| 发表于 2022-1-13 09:21:32 | 显示全部楼层
本帖最后由 wfx 于 2022-1-13 09:23 编辑
alei643 发表于 2022-1-12 12:53
对,如果调试输出的信息返回NaN,有可能是msg.payload的传入值不符合规范,Tasmota串口传入的数据是Json格 ...

挂了split后还是返回NaN? 126.png

tasmota串口接的是这个模块,工作模式是串口
127.jpg
回复

使用道具 举报

17

主题

183

帖子

1581

积分

金牌会员

Rank: 6Rank: 6

积分
1581
金钱
1398
HASS币
10
发表于 2022-1-13 10:53:38 | 显示全部楼层
函数少个参数吧
回复

使用道具 举报

16

主题

239

帖子

2939

积分

金牌会员

Rank: 6Rank: 6

积分
2939
金钱
2700
HASS币
0
 楼主| 发表于 2022-1-13 11:06:00 | 显示全部楼层
ztrx 发表于 2022-1-13 10:53
函数少个参数吧

mqtt in节点改成json就可以了
127.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 21:20 , Processed in 0.199946 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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