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

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

[求助] nodered进制转换

[复制链接]

15

主题

232

帖子

2748

积分

金牌会员

Rank: 6Rank: 6

积分
2748
金钱
2516
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

主题

649

帖子

4514

积分

元老级技术达人

积分
4514
金钱
3850
HASS币
30

教程狂人

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

使用道具 举报

15

主题

232

帖子

2748

积分

金牌会员

Rank: 6Rank: 6

积分
2748
金钱
2516
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). ...

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

使用道具 举报

15

主题

232

帖子

2748

积分

金牌会员

Rank: 6Rank: 6

积分
2748
金钱
2516
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

主题

649

帖子

4514

积分

元老级技术达人

积分
4514
金钱
3850
HASS币
30

教程狂人

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

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

使用道具 举报

15

主题

232

帖子

2748

积分

金牌会员

Rank: 6Rank: 6

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

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

使用道具 举报

23

主题

649

帖子

4514

积分

元老级技术达人

积分
4514
金钱
3850
HASS币
30

教程狂人

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

使用道具 举报

15

主题

232

帖子

2748

积分

金牌会员

Rank: 6Rank: 6

积分
2748
金钱
2516
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

主题

181

帖子

1442

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

15

主题

232

帖子

2748

积分

金牌会员

Rank: 6Rank: 6

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

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

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-6-25 15:19 , Processed in 0.078555 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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