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

 找回密码
 立即注册
查看: 41506|回复: 39

[教程系列] 通过Node-RED实现网络转RS485发送16进制控制485设备

  [复制链接]

3

主题

49

帖子

353

积分

论坛分享达人

积分
353
金钱
304
HASS币
0
发表于 2018-3-25 22:27:49 | 显示全部楼层 |阅读模式
本帖最后由 youhaishan 于 2018-3-25 23:29 编辑

通过一晚上的折腾,终于实现通过网络转RS485模块实现对RS485继电器的控制,主要实现方法是在Node-RED上设置一个TCP Server服务端对端口进行监听,网络转RS485模块作为TCP Client连接到Node-RED上,触发控制指令(主要是16进制格式,目前市场上继电器板大部份通信协议均为16进制)通过网络转RS485模块将指令传输至RS485总线上,总线上的继电器板根据指令执行相应动作(如第几块板“主要以设备地址码区分”、第几路继电器、执行什么动作 等等)。以及接入一些具备RS485接口的设备,如调光器、指令板、串口屏等等;也可通过简单的集成芯片、外围电路轻松做出红外、315、433遥控器、等设备,只要具备UART通信接口的模块、知道通信协议便可轻松接入。废话有点多了,直接贴代码。最后还要感谢群里的磊子,陪我折腾了一晚上。


TIM截图20180325221728.jpg






[{"id":"d113f9d.d433308","type":"inject","z":"fd1e5878.cf2358","name":"Turn On","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"x":221.81817626953125,"y":313.6363525390625,"wires":[["f8a246a4.378238"]]},{"id":"f8a246a4.378238","type":"function","z":"fd1e5878.cf2358","name":"on","func":"msg.payload = new Buffer([0x55,0x01,0x12,0x00,0x00,0x00,0x01,0x69]);\nreturn msg;","outputs":1,"noerr":0,"x":452.81817626953125,"y":315.6363525390625,"wires":[["bdeee49e.8385e8"]]},{"id":"406b49c9.9a2e18","type":"inject","z":"fd1e5878.cf2358","name":"Turn Off","topic":"","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"x":221.81817626953125,"y":362.6363525390625,"wires":[["73d9d4b2.50ddac"]]},{"id":"73d9d4b2.50ddac","type":"function","z":"fd1e5878.cf2358","name":"off","func":"msg.payload = new Buffer([0x55,0x01,0x11,0x00,0x00,0x00,0x01,0x68]);\nreturn msg;","outputs":1,"noerr":0,"x":454.31817626953125,"y":362.6363525390625,"wires":[["bdeee49e.8385e8"]]},{"id":"bdeee49e.8385e8","type":"tcp out","z":"fd1e5878.cf2358","host":"","port":"1881","beserver":"server","base64":false,"end":false,"name":"","x":747.27272605896,"y":338.1818084716797,"wires":[]}]


后面贴几个比较有用的模块芯片供参考

红外芯片

红外芯片

手势识别

手势识别

红外、315、433模块

红外、315、433模块

TTS语音合成

TTS语音合成

评分

参与人数 2金钱 +26 收起 理由
luzai + 6 分享是一种美德!
+ 20 这个分享我给满分!

查看全部评分

回复

使用道具 举报

1

主题

56

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
金钱
220
HASS币
0
发表于 2018-3-25 23:07:04 | 显示全部楼层
不错!学习了,有空我也折腾一下
回复

使用道具 举报

1

主题

44

帖子

210

积分

中级会员

Rank: 3Rank: 3

积分
210
金钱
166
HASS币
0
发表于 2018-3-26 08:10:48 来自手机 | 显示全部楼层
这个必须顶,感谢感谢。
回复

使用道具 举报

0

主题

41

帖子

259

积分

中级会员

Rank: 3Rank: 3

积分
259
金钱
218
HASS币
0
发表于 2018-3-26 22:20:41 | 显示全部楼层
做好的代码要放在哪呢
回复

使用道具 举报

3

主题

49

帖子

353

积分

论坛分享达人

积分
353
金钱
304
HASS币
0
 楼主| 发表于 2018-3-27 20:33:40 | 显示全部楼层
sztdz 发表于 2018-3-26 22:20
做好的代码要放在哪呢

导入Node-RED
回复

使用道具 举报

4

主题

208

帖子

1408

积分

金牌会员

Rank: 6Rank: 6

积分
1408
金钱
1199
HASS币
0
发表于 2018-3-28 11:48:45 | 显示全部楼层
TCP Server不需要设置IP吗?
回复

使用道具 举报

4

主题

208

帖子

1408

积分

金牌会员

Rank: 6Rank: 6

积分
1408
金钱
1199
HASS币
0
发表于 2018-3-29 09:57:06 | 显示全部楼层
你这样开和关各用一个function情况下,如果用MQTT接入HA 在HA里面只点开关的开会用时发送开和关的码,点关也是一样。TCP不应该用监听吧?我觉得应该用回应哦
回复

使用道具 举报

3

主题

49

帖子

353

积分

论坛分享达人

积分
353
金钱
304
HASS币
0
 楼主| 发表于 2018-3-30 20:28:45 来自手机 | 显示全部楼层
wanyakui520 发表于 2018-3-29 09:57
你这样开和关各用一个function情况下,如果用MQTT接入HA 在HA里面只点开关的开会用时发送开和关的码,点关 ...

可以换成翻继电器的命令就行了吧
回复

使用道具 举报

40

主题

313

帖子

3097

积分

论坛元老

Rank: 8Rank: 8

积分
3097
金钱
2784
HASS币
0
发表于 2018-3-31 01:45:23 | 显示全部楼层
转RS485的模块,你用是哪种?我也想买,但在纠结买什么样的合适
回复

使用道具 举报

2

主题

24

帖子

114

积分

论坛分享达人

积分
114
金钱
89
HASS币
0
发表于 2018-3-31 17:38:38 | 显示全部楼层
这个方案可以解决好多问题,赞!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 06:55 , Processed in 0.218892 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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