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

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

[智能传感] ESP32人体计数VL53L1x固件-esphome接入HA

[复制链接]

19

主题

219

帖子

1376

积分

论坛技术达人

积分
1376
金钱
1157
HASS币
10
 楼主| 发表于 2022-1-2 23:18:40 | 显示全部楼层
zeze247 发表于 2021-12-31 14:17
楼主连上roode8266这个SSID 打不开web配置界面,怎么配置

192.168.4.1      admin  admin
回复

使用道具 举报

19

主题

219

帖子

1376

积分

论坛技术达人

积分
1376
金钱
1157
HASS币
10
 楼主| 发表于 2022-1-2 23:16:42 | 显示全部楼层
源码发上来了
回复

使用道具 举报

19

主题

219

帖子

1376

积分

论坛技术达人

积分
1376
金钱
1157
HASS币
10
 楼主| 发表于 2022-1-2 23:15:32 | 显示全部楼层
substitutions:
  devicename: roode8266
  friendly_name: $devicename

external_components:
  refresh: always
  source:
    type: git
    url: https://github.com/Lyr3x/Roode
    ref: master

esphome:
  name: $devicename
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: "HIKVISION"
  password: "12345678"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "roode8266"
    password: "12345678"



# Enable Home Assistant API
ota:
  password: "12345678"

api:
  password: "12345678"
  reboot_timeout: 60min
  services:
    - service: set_counter
      variables:
        newCount: int
      then:
        - lambda: "id(roode_platform)->sendCounter(newCount);"
    - service: reset_counter
      then:
        - lambda: "id(roode_platform)->sendCounter(0);"
    - service: recalibrate
      then:
        - lambda: "id(roode_platform)->recalibration();"
    - service: set_max_threshold
      variables:
        newThreshold: int
      then:
        - lambda: "id(roode_platform)->set_max_threshold_percentage(newThreshold);id(roode_platform)->recalibration();"
    - service: set_min_threshold
      variables:
        newThreshold: int
      then:
        - lambda: "id(roode_platform)->set_min_threshold_percentage(newThreshold);id(roode_platform)->recalibration();"



web_server:
  port: 80
  auth:
    username: admin
    password: admin

# Enable logging
logger:
  level: INFO

i2c:
  sda: 0
  scl: 2

roode:
  id: roode_platform
  i2c_address: 0x29
  update_interval: 100ms
  calibration:
    max_threshold_percentage: 85
    min_threshold_percentage: 5
    roi_calibration: true
  # manual:
  #   sensor_mode: 2
  #   roi_height: 16
  #   roi_width: 6
  #   manual_threshold: 1300
  #   timing_budget: 100
  invert_direction: false
  restore_values: false

switch:
  - platform: restart
    name: $friendly_name Restart
binary_sensor:
  - platform: status
    name: $friendly_name Status
  - platform: roode
    presence_sensor:
      name: $friendly_name presence

sensor:
  - platform: roode
    id: hallway
    people_counter_sensor:
      id: peopleCounter
      name: $friendly_name people counter
    distance_sensor:
      name: $friendly_name distance
      filters:
        - delta: 10.0
    max_threshold_zone0:
      name: $friendly_name max zone 0
    max_threshold_zone1:
      name: $friendly_name max zone 1
    min_threshold_zone0:
      name: $friendly_name min zone 0
    min_threshold_zone1:
      name: $friendly_name min zone 1
    roi_height:
      name: $friendly_name ROI height
    roi_width:
      name: $friendly_name ROI width

  - platform: wifi_signal
    name: $friendly_name RSSI
    update_interval: 60s

  - platform: uptime
    name: Uptime Sensor
    id: uptime_sensor
    update_interval: 60s
    internal: true
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: uptime_human
            state: !lambda |-
              int seconds = round(id(uptime_sensor).raw_state);
              int days = seconds / (24 * 3600);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds /  60;
              seconds = seconds % 60;
              return (
                (days ? String(days) + "d " : "") +
                (hours ? String(hours) + "h " : "") +
                (minutes ? String(minutes) + "m " : "") +
                (String(seconds) + "s")
              ).c_str();

text_sensor:
  - platform: roode
    version:
      name: $friendly_name version
  - platform: roode
    entry_exit_event:
      name: $friendly_name last direction
  - platform: template
    name: $friendly_name Uptime Human Readable
    id: uptime_human
    icon: mdi:clock-start
回复

使用道具 举报

19

主题

219

帖子

1376

积分

论坛技术达人

积分
1376
金钱
1157
HASS币
10
 楼主| 发表于 2022-1-2 23:14:15 | 显示全部楼层
substitutions:
  devicename: roodedev
  friendly_name: $devicename

external_components:
  refresh: always
  source: components

esphome:
  name: $devicename

esp32:
  board: wemos_d1_mini32
  framework:
    type: arduino

wifi:
  ssid: "你的SSID"
  password: "你的密码"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "roodedev"#ap名称
    password: "12345678"#ap密码


captive_portal:

api:
  password: "12345678"#api密码
  reboot_timeout: 60min
  services:
    - service: set_counter
      variables:
        newCount: int
      then:
        - lambda: "id(roode_platform)->sendCounter(newCount);"
    - service: reset_counter
      then:
        - lambda: "id(roode_platform)->sendCounter(0);"
    - service: recalibrate
      then:
        - lambda: "id(roode_platform)->recalibration();"

ota:
  password: "12345678"

web_server:
  port: 80
  auth:
    username: admin
    password: admin

# Enable logging
logger:
  level: DEBUG

i2c:
  sda: 21
  scl: 22

roode:
  id: roode_platform
  i2c_address: 0x29
  update_interval: 100ms
  calibration:
    max_threshold_percentage: 85
    min_threshold_percentage: 5
    roi_calibration: true
# manual:
   # sensor_mode: 2
   # roi_height: 16
   # roi_width: 6
    #manual_threshold: 1300
    #timing_budget: 100
  invert_direction: false
  restore_values: true

switch:
  - platform: restart
    name: $friendly_name Restart
binary_sensor:
  - platform: status
    name: $friendly_name Status
  - platform: roode
    presence_sensor:
      name: $friendly_name presence

sensor:
  - platform: roode
    id: hallway
    people_counter_sensor:
      id: peopleCounter
      name: $friendly_name people counter
    distance_sensor:
      name: $friendly_name distance
      filters:
        - delta: 100.0
    max_threshold_zone0:
      name: $friendly_name max zone 0
    max_threshold_zone1:
      name: $friendly_name max zone 1
    min_threshold_zone0:
      name: $friendly_name min zone 0
    min_threshold_zone1:
      name: $friendly_name min zone 1
    roi_height:
      name: $friendly_name ROI height
    roi_width:
      name: $friendly_name ROI width

  - platform: wifi_signal
    name: $friendly_name RSSI
    update_interval: 60s

  - platform: uptime
    name: Uptime Sensor
    id: uptime_sensor
    update_interval: 60s
    internal: true
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: uptime_human
            state: !lambda |-
              int seconds = round(id(uptime_sensor).raw_state);
              int days = seconds / (24 * 3600);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds /  60;
              seconds = seconds % 60;
              return (
                (days ? String(days) + "d " : "") +
                (hours ? String(hours) + "h " : "") +
                (minutes ? String(minutes) + "m " : "") +
                (String(seconds) + "s")
              ).c_str();

text_sensor:
  - platform: roode
    version:
      name: $friendly_name version
  - platform: roode
    entry_exit_event:
      name: $friendly_name last direction
  - platform: template
    name: $friendly_name Uptime Human Readable
    id: uptime_human
    icon: mdi:clock-start
回复

使用道具 举报

2

主题

35

帖子

182

积分

注册会员

Rank: 2

积分
182
金钱
147
HASS币
0
发表于 2022-1-2 17:34:38 | 显示全部楼层
大佬,这个有源代码吗?
回复

使用道具 举报

7

主题

151

帖子

1695

积分

金牌会员

Rank: 6Rank: 6

积分
1695
金钱
1544
HASS币
0
发表于 2021-12-31 14:17:04 | 显示全部楼层
楼主连上roode8266这个SSID 打不开web配置界面,怎么配置
回复

使用道具 举报

0

主题

44

帖子

168

积分

注册会员

Rank: 2

积分
168
金钱
124
HASS币
0
发表于 2021-12-30 16:40:46 | 显示全部楼层
牛啊,正在寻找此类的解决方案
回复

使用道具 举报

0

主题

220

帖子

1735

积分

金牌会员

Rank: 6Rank: 6

积分
1735
金钱
1515
HASS币
0
QQ
发表于 2021-12-30 13:38:58 | 显示全部楼层
厉害,感谢分享
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2021-12-30 11:02:26 | 显示全部楼层

回帖奖励 +1 金钱

编译好的 esphome???
Nero
回复

使用道具 举报

33

主题

2196

帖子

5838

积分

论坛元老

Rank: 8Rank: 8

积分
5838
金钱
3642
HASS币
60
QQ
发表于 2021-12-29 18:08:35 | 显示全部楼层
谢谢大佬分享。
我不生产技术,我只是技术的搬运工。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 15:37 , Processed in 0.097357 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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