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

 找回密码
 立即注册
楼主: lannister

[人体存在] 人体存在传感器1115H,可在线调参的配置文件[更新串口显示]

  [复制链接]

0

主题

2

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
30
HASS币
0
发表于 2022-7-20 16:12:42 | 显示全部楼层
ddddddddddddddd
回复

使用道具 举报

1

主题

29

帖子

384

积分

中级会员

Rank: 3Rank: 3

积分
384
金钱
355
HASS币
0
发表于 2022-7-20 23:03:37 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

38

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
金钱
242
HASS币
0
发表于 2022-7-21 07:43:06 | 显示全部楼层
支持一下
回复

使用道具 举报

0

主题

54

帖子

549

积分

高级会员

Rank: 4

积分
549
金钱
495
HASS币
0
发表于 2022-7-21 08:52:18 | 显示全部楼层
本帖最后由 xzmcft 于 2022-7-21 08:59 编辑

我来分享下红外。雷达、光照、温湿度和继电器环境下的配置 esp8266 12f1
# GPIO-14 红外 板载D5
# GPIO-5  开关继电器 D1
# GPIO-12 雷达 板载D6
# GPIO-13 温湿度 板载D7
# GPIO-1  SDA 板载D10
# GPIO-3  SCL 板载D9
# SR312红外传感器触发释出高电平3.3V,输入2.7V-12V
# LD1115H雷达传感器触发释出高电平3.2V,输入5V
# BH1750输入3V-5V
# ESP8266-12F输入4.5V-9V

substitutions:
  area: kewei                     #家庭区域
  board: esp8266                     #芯片型号
  devicename: $area-$board-light      #设备名称
  friendly_name: $devicename        #友好名称
############################################

# Example configuration entry
esphome:
  name: $devicename
  
  includes:
    - uart_read_line_sensor.h

esp8266:
  board: esp01_1m
  restore_from_flash: true  

# Enable logging
logger:
  # level: VERBOSE #makes uart stream available in esphome logstream
  # baud_rate: 0 #disable logging over uart

# Enable Home Assistant 接入API
api:

# Enable Home Assistant OTA接入密码
ota:
  password: "angie"

wifi:
  networks:
  - ssid: !secret wifi_ssid             ##设置第一个WiFi;
    password: !secret wifi_password
  - ssid: SmartOS                       ##设置第二个WiFi;
    password: angie

# Optional manual IP
  manual_ip:
    static_ip: 10.10.10.41               ##固定此设备IP地址;
    gateway: 10.10.10.1                 ##路由器、网关地址;
    subnet: 255.255.255.0               ##子网掩码;  

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: $devicename                  ##设置AP模式热点名称;
    password: "angie"

captive_portal:

web_server:                            ## web控制,添加了这2行,就可以在网页端打开设备ip;
  port: 80

globals:
  - id: my_global_int
    type: int
    restore_value: no
    initial_value: '0'

uart:
  id: uart_bus
  rx_pin: 2
  tx_pin: 4
  baud_rate: 115200

i2c:
  sda: GPIO1                           ##映射TX到GPIO1-SDA;
  scl: GPIO3                           ##映射RX到GPIO3-SCL;
  scan: True
  
  
switch:
  - platform: gpio
    name: "客卫传感器 人体存在"      #主开关
    icon: "mdi:electric-switch"
    pin: GPIO5
    id: relay

number:
  - platform: template
    id: motion_th1
    name: "客卫传感器 th1 移动灵敏度"
    mode: box
    optimistic: true
    min_value: 0
    max_value: 500
    step: 1
    restore_value: true
    initial_value: 120
    on_value:
      then:
      - uart.write: !lambda
          int v = (int)x;
          std::string cmd = "th1=" + to_string(v);
          return std::vector<unsigned char>(cmd.begin(), cmd.end());
      - delay: 100ms
      - uart.write: "save"
      - logger.log:
          format: "th1 is %.1f"
          args: [ 'id(motion_th1).state' ]
        
  - platform: template
    id: motion_th2
    name: "客卫传感器 th2 存在灵敏度"
    mode: box
    optimistic: true
    min_value: 0
    max_value: 500
    step: 1
    restore_value: true
    initial_value: 250
    on_value:
      then:
      - uart.write: !lambda
          int v = (int)x;
          std::string cmd = "th2=" + to_string(v);
          return std::vector<unsigned char>(cmd.begin(), cmd.end());
      - delay: 100ms
      - uart.write: "save"
      - logger.log:
          format: "th2 is %.1f"
          args: [ 'id(motion_th2).state' ]
          
  - platform: template
    id: occ_sn
    name: "客卫传感器 occ 维持条件"
    disabled_by_default: true
    optimistic: true
    mode: box
    min_value: 1
    max_value: 100
    step: 1
    restore_value: true
    initial_value: 3
    on_value:
      then:
      - uart.write: !lambda
          int v = (int)x;
          std::string cmd = "occ_sn=" + to_string(v);
          return std::vector<unsigned char>(cmd.begin(), cmd.end());
      - delay: 100ms
      - uart.write: "save"
      - logger.log:
          format: "occ_sn set %.1f"
          args: [ 'id(occ_sn).state' ]
            
  - platform: template
    id: motion_dtime
    name: "客卫传感器 gpio 检测延迟"
    icon: "mdi:clock-time-four"
    mode: box
    disabled_by_default: true
    optimistic: true
    min_value: 1
    max_value: 300
    step: 1
    restore_value: true
    initial_value: 5
    on_value:
      then:
      - uart.write: !lambda
          int v = (int)x;
          std::string cmd = "dtime=" + to_string(v);
          return std::vector<unsigned char>(cmd.begin(), cmd.end());
      - delay: 100ms
      - uart.write: "save"
      - logger.log:
          format: "dtime set %.1f"
          args: [ 'id(motion_dtime).state' ]
  
  - platform: template
    id: mov_sn
    name: "客卫传感器 mov 触发条件"
    optimistic: true
    disabled_by_default: true
    min_value: 1
    max_value: 100
    step: 1
    restore_value: true
    mode: box
    initial_value: 5
    on_value:
      then:
      - uart.write: !lambda
          int v = (int)x;
          std::string cmd = "mov_sn=" + to_string(v);
          return std::vector<unsigned char>(cmd.begin(), cmd.end());
      - delay: 100ms
      - uart.write: "save"
      - logger.log:
          format: "mov_sn set %.1f"
          args: [ 'id(mov_sn).state' ]

button:
  - platform: restart
    name: "客卫传感器 重启ESP 8266"       
  - platform: template
    name: "查看配置"
    on_press:
      - uart.write: "get_all"    
    
sensor:
  - platform: bh1750
    id: illuminance
    name: "客卫传感器 光强度illuminance"    
    address: 0x23
    update_interval: 15s

  - platform: wifi_signal
    id: espwifi
    name: 客卫传感器 WiFi信号强度
    update_interval: 300s

  - platform: dht
    pin: GPIO13
    model: DHT11  
    update_interval: 60s      
    temperature:
      name: 客卫传感器 温度Temperature
      filters:
        - sliding_window_moving_average:
            window_size: 15
            send_every: 15 
            send_first_at: 3   
    humidity:
      name: 客卫传感器 湿度Humidity
      filters:
        - sliding_window_moving_average:
            window_size: 15
            send_every: 15 
            send_first_at: 3       
   
binary_sensor:
  - platform: gpio
    pin: 
      number: 14                 #io1接人体感应器
      inverted: TRUE
      mode: INPUT
    name: "客卫传感器 红外Pir检测"
    device_class: motion
    id: pir312
    filters:
      - invert:
      - delayed_on_off: 300ms

  - platform: gpio
    pin: 
      number: 12
      mode: INPUT
      inverted: TRUE
    name: "客卫传感器 雷达CW检测"
    device_class: motion
    id: ld1115
    filters:
      - invert:
      - delayed_on_off: 300ms
    on_press:                           #按下(有人),打开开关
      then:
        - if:
           condition:
            and: 
              - sensor.in_range:
                  id: illuminance
                  below: 10.0          #above超过  below低于
              - binary_sensor.is_on: pir312                   #同时满足红外人体感应器感应到人,和光强度低,才会打开开关
              - switch.is_off: relay 
           then:
             - logger.log: "Detected somebody activity"
             - switch.turn_on: relay
             
           else:
             - logger.log: "There is no one around"
             - switch.turn_off: relay
        
    on_release:                         #松开(雷达检测不到人),关闭开关.    
      then:
        - switch.turn_off: relay

# Example configuration entry
text_sensor:
- platform: custom
  lambda: |-
    auto my_custom_sensor = new UartReadLineSensor(id(uart_bus));
    App.register_component(my_custom_sensor);
    return {my_custom_sensor};
  text_sensors:
    id: uart_readline
    name: "客卫传感器 串口输出"
- platform: wifi_info
  ip_address:
    name: 客卫传感器 IP地址
    icon: "mdi:ip-network"
  ssid:
    name: 客卫传感器 接入点名称
    icon: "mdi:network-pos"
  bssid:
    name: 客卫传感器 Router MAC地址
    icon: "mdi:router-network"
  mac_address:
    name: 客卫传感器 本机MAC地址
    icon: "mdi:router-network"
- platform: version
  name: "客卫传感器 ESP版本"      
  hide_timestamp: true


回复

使用道具 举报

0

主题

215

帖子

2553

积分

金牌会员

Rank: 6Rank: 6

积分
2553
金钱
2338
HASS币
0
发表于 2022-7-21 10:30:07 | 显示全部楼层
请教大佬:“4、建议参数调好后就可以禁用 Rx 了” 是指把“串口输出”给禁用?
回复

使用道具 举报

2

主题

47

帖子

532

积分

高级会员

Rank: 4

积分
532
金钱
485
HASS币
10
 楼主| 发表于 2022-7-21 10:59:52 来自手机 | 显示全部楼层
sxrcm 发表于 2022-7-21 10:30
请教大佬:“4、建议参数调好后就可以禁用 Rx 了” 是指把“串口输出”给禁用? ...

直接在UART中把 RX: 2 注释掉就好,这样就可以只写不读了。

主要是hass每秒接受一次消息没必要,日志全都是消息变更。其次上面配置8266用的是软UART,一直接收影响性能(虽然也没啥性能需求)
回复

使用道具 举报

0

主题

215

帖子

2553

积分

金牌会员

Rank: 6Rank: 6

积分
2553
金钱
2338
HASS币
0
发表于 2022-7-21 11:07:28 | 显示全部楼层
lannister 发表于 2022-7-21 10:59
直接在UART中把 RX: 2 注释掉就好,这样就可以只写不读了。

主要是hass每秒接受一次消息没必要,日志全 ...

用的是Esp32板上的TX和RX,有必要关吗?
回复

使用道具 举报

2

主题

47

帖子

532

积分

高级会员

Rank: 4

积分
532
金钱
485
HASS币
10
 楼主| 发表于 2022-7-21 11:32:19 | 显示全部楼层
sxrcm 发表于 2022-7-21 11:07
用的是Esp32板上的TX和RX,有必要关吗?

如果不纠结 hass 里的日志一直变更,不关也可以
回复

使用道具 举报

0

主题

215

帖子

2553

积分

金牌会员

Rank: 6Rank: 6

积分
2553
金钱
2338
HASS币
0
发表于 2022-7-21 12:01:36 | 显示全部楼层
lannister 发表于 2022-7-21 11:32
如果不纠结 hass 里的日志一直变更,不关也可以

明白了,谢谢楼主
回复

使用道具 举报

9

主题

195

帖子

1528

积分

金牌会员

Rank: 6Rank: 6

积分
1528
金钱
1333
HASS币
0
发表于 2022-7-21 12:55:33 | 显示全部楼层
请问楼主,这个#include "esphome.h......."具体怎么用啊?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 07:34 , Processed in 0.054651 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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