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

[求助] nodered进制转换

[复制链接]
wfx 手机认证

16

主题

226

回帖

3085

积分

论坛元老

积分
3085
金钱
2843
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

主题

636

回帖

4670

积分

元老级技术达人

积分
4670
金钱
3996
HASS币
30

教程狂人

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

使用道具 举报

wfx 手机认证

16

主题

226

回帖

3085

积分

论坛元老

积分
3085
金钱
2843
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). ...

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

使用道具 举报

wfx 手机认证

16

主题

226

回帖

3085

积分

论坛元老

积分
3085
金钱
2843
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

主题

636

回帖

4670

积分

元老级技术达人

积分
4670
金钱
3996
HASS币
30

教程狂人

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

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

使用道具 举报

wfx 手机认证

16

主题

226

回帖

3085

积分

论坛元老

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

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

使用道具 举报

23

主题

636

回帖

4670

积分

元老级技术达人

积分
4670
金钱
3996
HASS币
30

教程狂人

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

使用道具 举报

wfx 手机认证

16

主题

226

回帖

3085

积分

论坛元老

积分
3085
金钱
2843
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
回复

使用道具 举报

ztrx 

17

主题

166

回帖

1713

积分

金牌会员

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

使用道具 举报

wfx 手机认证

16

主题

226

回帖

3085

积分

论坛元老

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

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

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-5-9 19:58 , Processed in 1.379768 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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