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

 找回密码
 立即注册
12
返回列表 发新帖
楼主: taida

[教程系列] 串口屏收nodered发送的数据,求助?

[复制链接]

1

主题

85

帖子

586

积分

高级会员

陈二狗

Rank: 4

积分
586
金钱
501
HASS币
0
发表于 2023-7-31 11:12:00 | 显示全部楼层
taida 发表于 2023-7-31 10:59
终于搞定了,谢谢Waer和cjnt007,用Buffer 做的,先将字符转成Buffer,然后将文本(FFFFFF),也转成Buffer ...

哈哈哈 在上班 所以来迟了
其实把你上一个节点输出payload的时候格式改成文本就可以


[{"id":"bc7f85cc82713bed","type":"tab","label":"流程 2","disabled":false,"info":"","env":[]},{"id":"43b82491eb19fc5a","type":"inject","z":"bc7f85cc82713bed","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"123456","payloadType":"str","x":470,"y":360,"wires":[["5dedf802bfc1d293"]]},{"id":"8771cd2730dd7fbb","type":"debug","z":"bc7f85cc82713bed","name":"debug 5","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":840,"y":360,"wires":[]},{"id":"5dedf802bfc1d293","type":"function","z":"bc7f85cc82713bed","name":"","func":"var q = Buffer.from((msg.payload),'hex')\nvar a = Buffer.from('ffffffff', 'hex')\nvar c = Buffer.concat([q,a])\nmsg.payload = c\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":650,"y":360,"wires":[["8771cd2730dd7fbb"]]}]
二狗如何解决玄学bug:
————————————————
1:重烧一次程序      2:插紧电线      3:吹一下灰尘
4:玩一会手机         5:放弃
回复

使用道具 举报

20

主题

122

帖子

790

积分

高级会员

Rank: 4

积分
790
金钱
668
HASS币
0
 楼主| 发表于 2023-7-31 11:33:18 | 显示全部楼层
再次感谢!
回复

使用道具 举报

20

主题

122

帖子

790

积分

高级会员

Rank: 4

积分
790
金钱
668
HASS币
0
 楼主| 发表于 2023-8-3 18:07:50 | 显示全部楼层
本帖最后由 taida 于 2023-8-3 18:08 编辑
Waer 发表于 2023-7-31 11:12
哈哈哈 在上班 所以来迟了
其实把你上一个节点输出payload的时候格式改成文本就可以

不好意思,在问一个问题,怎么将字符串相加呢?但是要得到这样的一个格式:
如:

需要的结果 b0.txt = "29.8"

msg.payload 的值是29.8,如果用var a = "b0.txt="+msg.payload,得出的结果是“bo.txt=29.8”,而不是
b0.txt = "29.8",用String(msg.payload)也是一样的,也就是payload的值上要加“”谢谢!帮忙看看可以怎么实现
回复

使用道具 举报

1

主题

85

帖子

586

积分

高级会员

陈二狗

Rank: 4

积分
586
金钱
501
HASS币
0
发表于 2023-8-3 21:30:01 | 显示全部楼层
taida 发表于 2023-8-3 18:07
不好意思,在问一个问题,怎么将字符串相加呢?但是要得到这样的一个格式:
如:

你是希望

最初是msg.payload=29.8  

最后是msg.payload=b0.txt="29.8"

这样吗
二狗如何解决玄学bug:
————————————————
1:重烧一次程序      2:插紧电线      3:吹一下灰尘
4:玩一会手机         5:放弃
回复

使用道具 举报

1

主题

85

帖子

586

积分

高级会员

陈二狗

Rank: 4

积分
586
金钱
501
HASS币
0
发表于 2023-8-3 21:56:20 | 显示全部楼层
taida 发表于 2023-8-3 18:07
不好意思,在问一个问题,怎么将字符串相加呢?但是要得到这样的一个格式:
如:

我还是不确定你具体的使用场景  你说的输出结果是“bo.txt=29.8”
前后的双引号应该只是代表这个内容属于字符串格式  在接收方读取就是bo.txt=29.8
所以不要太纠结这部分
至少我目前学的就到这部分


如果你是为了接收方收到的信号是bo.txt="29.8”
那你可以提前给输入的msg.payload值加上双引号


[{"id":"a56d2dc6bd46c271","type":"inject","z":"bc7f85cc82713bed","name":"已增加双引号的字符串","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"“29.8”","payloadType":"str","x":240,"y":480,"wires":[["88575553e714e43a"]]},{"id":"53be71bd312291bf","type":"debug","z":"bc7f85cc82713bed","name":"debug 8","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":720,"y":480,"wires":[]},{"id":"88575553e714e43a","type":"function","z":"bc7f85cc82713bed","name":"两段字符串拼合输出","func":"var a = "b0.txt=" + msg.payload;\nmsg.payload = a\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":480,"wires":[["53be71bd312291bf"]]}]
二狗如何解决玄学bug:
————————————————
1:重烧一次程序      2:插紧电线      3:吹一下灰尘
4:玩一会手机         5:放弃
回复

使用道具 举报

20

主题

122

帖子

790

积分

高级会员

Rank: 4

积分
790
金钱
668
HASS币
0
 楼主| 发表于 2023-8-3 22:34:54 | 显示全部楼层
我找了一张淘晶驰的显示屏,现在需要在文本框填入温度,t0是文本框名称,他要求的格式就是t0.text=“文本”,所以必须这个格式,谢谢
回复

使用道具 举报

20

主题

122

帖子

790

积分

高级会员

Rank: 4

积分
790
金钱
668
HASS币
0
 楼主| 发表于 2023-8-4 09:38:14 | 显示全部楼层
写好了,谢谢各位
微信截图_20230804093742.png

评分

参与人数 1金钱 +5 收起 理由
Waer + 5 墙都不扶,就服楼主!

查看全部评分

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-22 12:59 , Processed in 0.053836 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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