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

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

[经验分享] ESPHome驱动UART型雨量传感器

[复制链接]

4

主题

54

帖子

816

积分

论坛DIY达人

积分
816
金钱
762
HASS币
0
发表于 2023-10-1 23:11:08 | 显示全部楼层 |阅读模式
本帖最后由 nbxzl 于 2023-10-1 23:18 编辑

1.png


下雨检测坛友常用的其中一类传感器,如下图:

2.png

这种传感器也为孩子科技课做过,报警时播放语音模块,完成上交学校了。当然,如坛友所遇到的问题一样,就是不能长时间在潮湿环境中使用,线路板表面容易腐蚀损坏。

最后找到一款型号为RS200的传感器,其常应用于安防系统中的室外高档摄像机上,用以检测镜头前面的玻璃表面是否有雨水,为驱动雨刮器提供依据等

3.png
16.png
15.png
14.png
    需要注意的是,采购厂家淘宝卖的模块不配数据线,需要自己另配4P 0.8间距的插头线
5.png
6.png
传感器表面距离与玻璃最外侧4mm,不与雨水直接接触,实际制作中我把整个模块用有机硅1029绝缘电路板灌封胶密封在玻璃上,胶透明度极高,胶体固化后透明软性,不损坏线路板,也容易清除。
7.png
    找出一块黑色玻璃触摸86空白面板,在上面留出需要的位置,用热熔胶依次固定小杯和传感器模块(提示:1029透明胶的渗透力极强,正式用之前在别的地方先做下测试),位置要求:RS200 模块正面“PCB 表面”到“玻璃外表面”的典型距离为 4.0mm(可调),玻璃与柔性透明光学材料的厚度可适当调节,例如:若玻璃厚度为 1.5mm,则填充的柔性透明光学材料厚度为2.5mm;若玻璃厚度为2.0mm,则填充的柔性透明光学材料厚度为2.0mm。
    按说明书1:1调好透明1029胶,等5分钟气泡没有后缓缓倒入,静置4小时等待固化即可。
    按下图将线接好在串口下载器进行调试:
13.png
9.png
    配套调试软件做得一般,只能使用1~4端口,需要把下载器端口控制在这个范围。
10.png
    确认后打开串口,在玻璃表面用湿润纸巾滑动,软件就会输出雨量数据了。
    接下来将传感器固定到ESP8266上,利用以前为HX711做的多余PCB板,板刷上三防漆,把外壳也用密封胶处理好,硬件就完成了。
11.png
12.png

substitutions:
  devicename: yuliang

esphome:
  name: $devicename
  friendly_name: $devicename
  includes:
    - uartRS200_sensor.h

## 模块类型
esp8266:
  board: nodemcuv2                             

# 启用日志
logger: 
  baud_rate: 0

# 启用HomeAssistant API
api:
  encryption:
    key: "/i/sYVZtlW6NAbsY17CAoSR1+cWkfrQ/dexoW1uXjB2=" ## 密码
#  reboot_timeout: 30min                       ## 断网重启时间

ota:
  password: "admin"                            ## 密码
  port: 8266                                   ## 端口

## 启用网页调试模式
web_server:                                    
  port: 80                                     ## 端口
  
wifi:
  ssid: "xxxxxxx"                              ## WiFi SSID
  password: "xxxxxxxxxxxx"                     ## WiFi 密码
  use_address: 192.168.x.xxx                   ## 指定烧录固件时候目标设备IP,优先级高于静态IP(例如,如果您更改了静态IP并想将OTA刷新为先前配置的IP地址)
  manual_ip:                                   ## 手动配置节点静态IP
    static_ip: 192.168.x.xxx                   ## 固定IP
    gateway: 192.168.x.x                       ## 网关
    subnet: 255.255.255.0                      ## 子网掩码
    dns1: 223.5.5.5                            ## DNS1
    dns2: 223.6.6.6                            ## DNS2
  ap:                                          ## wifi连接失败时启用备用热点
    ssid: "yuliang Hotspot"                    ## WiFi SSID
    password: "admin"                          ## WiFi 密码
    
  fast_connect: off                            ##如果启用,则直接连接到WiFi网络,而无需先进行全面扫描。这对于隐藏网络是必需的,并且可以大大缩短连接时间。默认为off。

## 强制门户认证
captive_portal: 
    
# Example configuration entry
uart:
  id: uart_bus
  rx_pin: GPIO3
  tx_pin: GPIO1
  baud_rate: 115200

text_sensor:
  - platform: custom
    lambda: |-
      auto uart_custext_sensor = new CustomP1UartComponent(id(uart_bus));
      App.register_component(uart_custext_sensor); 
      return {uart_custext_sensor->uart_text_sensors};   
    text_sensors:
      id: "uart_readline"
      name: $devicename"_UART"

button:
  - platform: template
    name: "Rainfall status"                             #读取雨量状态
    on_press:
      - uart.write: [0x3A, 0x01, 0x00, 0x00, 0x0D]
  - platform: template
    name: "On sleep"                                    #进入睡眠状态
    on_press:
      - uart.write: [0x3A, 0x91, 0x01, 0x00, 0x88]
  - platform: template
    name: "Off sleep"                                   #退出睡眠状态
    on_press:
      - uart.write: [0x3A ,0x91 ,0x00 ,0x00 ,0x7C]
  - platform: template
    name: "On Real time rainfall"                       #进入实时雨量状态
    on_press:
      - uart.write: [0x3A ,0x84 ,0x01 ,0x00 ,0x43]
  - platform: template
    name: "Off Real time rainfall"                      #退出实时雨量状态
    on_press:
      - uart.write: [0x3A ,0x84 ,0x00 ,0x00 ,0xB7]
  - platform: template
    name: "CHIP Temperature"                            #发送芯片温度,数据返回值 3A  90  xx  xx  xx
    on_press:
      - uart.write: [0x3A ,0x10 ,0x00 ,0x00 ,0xEF]
  - platform: template
    name: "On ambient light"                            #进入实时环境光测,数据返回值 3A  8F  xx  xx  xx
    on_press:
      - uart.write: [0x3A ,0x8F ,0x01 ,0x00 ,0xDB]
  - platform: template
    name: "Off ambient light"                           #退出实时环境光测
    on_press:
      - uart.write: [0x3A ,0x8F ,0x00 ,0x00 ,0x2F]




uartRS200_sensor.rar (1.04 KB, 下载次数: 31)

RS200-sjsc.pdf (1.29 MB, 下载次数: 11)

RS200-yhsc.pdf (1.24 MB, 下载次数: 8)

【软件设计】ZLG雨量调试工具.exe (68.5 KB, 下载次数: 8)

评分

参与人数 1金钱 +20 收起 理由
dscao + 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

2

主题

123

帖子

1665

积分

金牌会员

Rank: 6Rank: 6

积分
1665
金钱
1542
HASS币
0
发表于 2023-10-1 23:41:03 | 显示全部楼层
感谢楼主分享,一直不懂esphome的自定义uart,现在可以学习了
回复

使用道具 举报

11

主题

287

帖子

2029

积分

金牌会员

Rank: 6Rank: 6

积分
2029
金钱
1742
HASS币
0
发表于 2023-10-2 11:23:44 | 显示全部楼层
可以自定義兩組~三組uart嗎??
回复

使用道具 举报

2

主题

104

帖子

1364

积分

金牌会员

Rank: 6Rank: 6

积分
1364
金钱
1260
HASS币
0
发表于 2023-10-2 15:25:28 | 显示全部楼层
这个传感器有点贵哦,雨量检测怎么样?准不准
回复

使用道具 举报

4

主题

54

帖子

816

积分

论坛DIY达人

积分
816
金钱
762
HASS币
0
 楼主| 发表于 2023-10-2 20:16:56 | 显示全部楼层
jole 发表于 2023-10-2 15:25
这个传感器有点贵哦,雨量检测怎么样?准不准

还是比较灵敏准确的
回复

使用道具 举报

4

主题

54

帖子

816

积分

论坛DIY达人

积分
816
金钱
762
HASS币
0
 楼主| 发表于 2023-10-2 20:17:54 | 显示全部楼层
george65 发表于 2023-10-2 11:23
可以自定義兩組~三組uart嗎??

我没有这么多UART,没测试过哦
回复

使用道具 举报

1

主题

108

帖子

789

积分

高级会员

Rank: 4

积分
789
金钱
681
HASS币
0
发表于 2023-10-2 22:11:54 | 显示全部楼层
不知道是否可以用汽车的雨刮雨量传感器,其实挺准的,只要有3个档,也够用了,就不知道能不能实现,这个就几十块,很便宜。
回复

使用道具 举报

4

主题

54

帖子

816

积分

论坛DIY达人

积分
816
金钱
762
HASS币
0
 楼主| 发表于 2023-10-3 20:10:19 | 显示全部楼层
lensam 发表于 2023-10-2 22:11
不知道是否可以用汽车的雨刮雨量传感器,其实挺准的,只要有3个档,也够用了,就不知道能不能实现,这个就 ...

可以,这个是它应用之一
回复

使用道具 举报

0

主题

562

帖子

2185

积分

金牌会员

Rank: 6Rank: 6

积分
2185
金钱
1623
HASS币
0
发表于 2023-10-3 22:57:46 | 显示全部楼层
顶一个技术性,感谢分享
回复

使用道具 举报

0

主题

89

帖子

1027

积分

金牌会员

Rank: 6Rank: 6

积分
1027
金钱
938
HASS币
0
发表于 2023-10-9 10:02:34 | 显示全部楼层
谢谢分享   抄一份哦
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-29 23:44 , Processed in 0.151117 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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