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

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

[已解决] 有关node-red中buffer数据转换求助

[复制链接]

8

主题

318

帖子

2162

积分

论坛技术达人

积分
2162
金钱
1834
HASS币
70
发表于 2020-5-13 18:30:18 | 显示全部楼层 |阅读模式
本帖最后由 yuyamin 于 2020-5-14 12:41 编辑

家里有一套 背景音乐系统,一直以来放在门口是个诟病,调音量要到门口去调。
这两天准备开始做背景音乐系统的接入,问了一下,tcp协议是公开的,我就想到的是用node-red来操作。现在基本已经有发送控制命令的思路了。
在node-red中我只会用js对象格式去扒出来(主要没有代码基本功),可以把一些状态进行反馈。
但是麻烦的问题来了,所有tcp server反馈回来的数据是buffer格式,项请教一下大神们,该用哪个函数或者是怎么写函数把它转换成js对象格式?
我现在返回的数据格式,是这样的:[123,34,99,109,100,34,58,34,105,110,102,111,34,44,34,112,97,114,97,109,115,34,58,123,125,125,10],我想把它变成这个:{"cmd":"info","params":{}} 1.png 2.png
如果能够有函数这样操作,再加一个js转换节点,就能成功的把我需要的状态量给获得回来。
回复

使用道具 举报

15

主题

158

帖子

1362

积分

论坛技术达人

积分
1362
金钱
1194
HASS币
40
发表于 2020-5-13 19:52:11 | 显示全部楼层
微信截图_20200513195024.png 你直接把tcp输出的buffer改成字符串试试呢
回复

使用道具 举报

8

主题

318

帖子

2162

积分

论坛技术达人

积分
2162
金钱
1834
HASS币
70
 楼主| 发表于 2020-5-13 20:57:05 | 显示全部楼层
minions123 发表于 2020-5-13 19:52
你直接把tcp输出的buffer改成字符串试试呢

tcp request里面,貌似没有这个选项。
监听直接用tcp in组件,收不到来自服务器的报文,好烦恼
回复

使用道具 举报

15

主题

158

帖子

1362

积分

论坛技术达人

积分
1362
金钱
1194
HASS币
40
发表于 2020-5-14 10:59:34 | 显示全部楼层

在request后面加个function
msg.payload = msg.payload.toString()
return msg;

在试试看呢,我在tcp out中能转换,不知道request能不能转换

评分

参与人数 1金钱 +8 收起 理由
yuyamin + 8 大神666!

查看全部评分

回复

使用道具 举报

8

主题

318

帖子

2162

积分

论坛技术达人

积分
2162
金钱
1834
HASS币
70
 楼主| 发表于 2020-5-14 12:40:25 | 显示全部楼层
minions123 发表于 2020-5-14 10:59
在request后面加个function

在试试看呢,我在tcp out中能转换,不知道request能不能转换 ...

对对,我昨晚试了,就这种方法可行!然后论坛崩了。真心感谢大佬!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-7 13:57 , Processed in 0.085451 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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