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

 找回密码
 立即注册
查看: 616|回复: 12

[基础教程] RS485温湿度传感器-Modbus接入Homeassistant过程实战记录

[复制链接]

4

主题

115

帖子

1321

积分

金牌会员

Rank: 6Rank: 6

积分
1321
金钱
1206
HASS币
0
发表于 2024-12-28 20:50:25 | 显示全部楼层 |阅读模式
本帖最后由 tianzhuang55 于 2024-12-28 20:56 编辑

一、基本概念厘清
        •        RS485:一种物理层的通讯方式,通过差分信号传输数据,相较于 RS232 的高低电平信号传输,具有更强的抗干扰性和更远的传输距离。
        •        Modbus:一种应用层通讯协议,常用于工业设备数据采集和控制。
        •        RTU:Modbus 协议的一种传输模式,数据以紧凑的二进制形式传输。
        •        TCP:Modbus 协议的另一种传输模式,基于 TCP/IP 网络传输数据。

二、接入 RS485 温湿度传感器的背景
市面上有许多可以轻松接入 Home Assistant 的温湿度传感器。然而,此次接入的主要目的是为后续接入松下新风系统(通过 RS485 通讯)积累经验。看到论坛里有几位大佬分享了松下新风通过RS485接入的教程,硬件层面的思路是一致的,即新风主机→松下Modbus模块→Modbus转TCP模块→HA。但是在HA接入后的控制方法不同,一个gmzjy1989大佬是通过Modbus集成接入,另一个则是yuyamin大佬通过Nodered接入
gmzjy1989大佬的教程已经相当详细,最终的实现也比较完美,但是我对于modbus这个协议一直云里雾里,所以想先通过接入一个485的温湿度传感器练练手以更好的了解学习。

三、硬件准备
        1.        485 温湿度传感器(以下简称“传感器”):¥9.6
        2.        RS485 转 TCP 模块(以下简称“模块”):¥27.43
EF8E3FB5-E30A-4B04-BEC4-A63773EB3110.jpeg ED7FEB72-5A65-4ED3-9C6A-7A788FE1A7BA.jpeg
之所以没有选择大佬教程中的模块,一是因为价格略高且不包邮,二是希望通过购买同功能但不同品牌的产品,试验后反而能对于配置有更深理解

四、接线
如下图,模块接入DC电源后,凤凰口(绿色一组4个的那个口)会对应输出12V电压,刚好可以给传感器供电。A+和B-也对应接入,在这里我用的就是普通杜邦线,没有用双绞线。
截屏2024-12-28 20.51.39.png
五、传感器配置
这里贴出传感器的配置,后面模块配置需要对应,这里的地址1就是后面配置文件中的从站地址:
F8BB52B2-C0E1-49F4-8390-3B14DF5317FD.jpeg

传感器的寄存器则决定了ha的modbus配置文件中如何配置sensor:
8E2432AE-D86B-4156-9087-11432CBB87F1.jpeg


六、模块配置
按说明书根据家里的网段网关情况,配置为静态IP
后台配置关键参数如下图,注意波特率、数据位、校验位、停止位,应当与传感器一致。本地端口10123后续HA的配置文件中需要、工作方式为TCP server。
D40F6E85-3B3B-4BCD-8391-21A5E91704E8.jpeg

另外有一个重要参数我折腾了半天,后来终于搞明白了:
游客,如果您要查看本帖隐藏内容请回复

5BC04699-6741-48FA-80DB-CF1EA5793C46.jpeg


七、Home Assistant 配置文件
然后就是ha中的配置文件,可直接添加在configuration.yaml中,请自行调整缩进,注意需要重启。modbus:
  - name: "ModbusTCP"
    type: tcp
    host: 10.2.2.12  # Modbus 转 TCP 模块的 IP 地址
    port: 10123      # Modbus 转 TCP 模块的端口号
    delay: 2         # 通信延迟,单位:秒

    sensors:
      - name: "485-Temperature"
        unit_of_measurement: "°C"
        address: 0          # 温度寄存器地址 (0000H)
        input_type: holding # 保持寄存器
        data_type: uint16   # 数据类型
        scale: 0.1          # 缩放因子
        precision: 1        # 保留一位小数
        slave: 1            # 从站地址(传感器地址为 1)

      - name: "485-Humidity"
        unit_of_measurement: "%"
        address: 1          # 湿度寄存器地址 (0001H)
        input_type: holding # 保持寄存器
        data_type: uint16   # 数据类型
        scale: 0.1          # 缩放因子
        precision: 1        # 保留一位小数
        slave: 1            # 从站地址(传感器地址为 1)


八、接入结果
重启后,在集成modbus中可以看到新增两个传感器,且可以正常读数:
EE7E5714-022A-494B-9AE6-3D23F0112B69.jpeg
475FF334-A3D6-41E3-A352-61B5A560B6F0.jpeg

至此,ha中成功接入485传感器设备,后续就可以搞新风啦!希望此帖能帮助到有类似需求的小伙伴,也欢迎大家交流相关经验!感谢群内的分享气氛!





80EEEDCA-B452-4DFF-B460-02198B54145C.jpeg
D8EF776E-0DA0-4D68-B682-B4AC12DCA424.jpeg
回复

使用道具 举报

49

主题

1767

帖子

7040

积分

论坛元老

Rank: 8Rank: 8

积分
7040
金钱
5263
HASS币
40
发表于 2024-12-29 12:43:10 | 显示全部楼层
esphome配合透传组件最方便
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

4

主题

115

帖子

1321

积分

金牌会员

Rank: 6Rank: 6

积分
1321
金钱
1206
HASS币
0
 楼主| 发表于 2024-12-30 09:27:08 | 显示全部楼层
jjcs 发表于 2024-12-29 12:43
esphome配合透传组件最方便

我看了esphome也有比较好的modbus支持,有机会研究一下,感谢指点!
回复

使用道具 举报

0

主题

9

帖子

156

积分

注册会员

Rank: 2

积分
156
金钱
147
HASS币
0
发表于 2024-12-30 12:54:18 | 显示全部楼层
学习一下
回复

使用道具 举报

0

主题

632

帖子

2624

积分

金牌会员

Rank: 6Rank: 6

积分
2624
金钱
1992
HASS币
0
发表于 2024-12-30 14:16:18 | 显示全部楼层
挺好的写的详细
回复

使用道具 举报

0

主题

6

帖子

52

积分

注册会员

Rank: 2

积分
52
金钱
46
HASS币
0
发表于 2025-1-3 14:55:57 | 显示全部楼层
x学习了,谢谢!
回复

使用道具 举报

0

主题

6

帖子

52

积分

注册会员

Rank: 2

积分
52
金钱
46
HASS币
0
发表于 2025-1-6 10:27:26 | 显示全部楼层
小白我也买了一样的串口转网线模块。配置文件老是写不好!!
回复

使用道具 举报

4

主题

115

帖子

1321

积分

金牌会员

Rank: 6Rank: 6

积分
1321
金钱
1206
HASS币
0
 楼主| 发表于 2025-1-6 15:00:23 | 显示全部楼层
scott1123 发表于 2025-1-6 10:27
小白我也买了一样的串口转网线模块。配置文件老是写不好!!

你可以买一个温湿度传感器练练手,我这个是跑通了
回复

使用道具 举报

0

主题

5

帖子

30

积分

新手上路

Rank: 1

积分
30
金钱
25
HASS币
0
发表于 4 天前 | 显示全部楼层
我来学习一下啊
回复

使用道具 举报

0

主题

14

帖子

54

积分

注册会员

Rank: 2

积分
54
金钱
40
HASS币
0
发表于 前天 09:02 | 显示全部楼层
谢谢楼主!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-1-18 09:40 , Processed in 0.102220 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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