ESPHome ToF-Sensoren und Co

Hallo Zusammen,

ich hatte von meiner Umstellung Netzwerkmaske berichtet, diese zielte nur darauf erste und mehr ESPHome-Geräte einbinden zu können.

Und endlich bin ich wieder bei meinem Ursprungsprojekt… Beleuchtung, da wo diese wirklich benötigt wird.

Hat jemand Erfahrungen mit “Time of Flight” Sensoren gemacht? Und kann da Tipps geben?

Gruß Carsten

Nachtrag: Es geht um eine Rundum-Beleuchtung meines Hauses mit LED, wenn ein Mensch/Tier anwesend ist. Die gesamte Kanten-/Beleuchtungslänge liegt bei ca. 60-80 Laufmetern in insgesamt 4 Bereichen.

Also ich habe jetzt mal vl53l0x ToF Sensoren angeschafft. Die kann man auch mit dem ESP32 recht einfach betreiben, allerdings ist deren Reichweite nur von 1cm bis 50cm.

Naja wer billig kauft, kauft meist zweimal… Oder auch viele Teile um die nötigen Laufmeter zu erreichen :slight_smile:

Mal als Prototyp verbucht… Reicht für kleines Geld um die grundsätzliche Idee zu verproben und “Leere” zu generieren :wink:

In dem Kontext auch ein kleines Display SH1106_128X64 angeschafft, aber das schafft mich noch mehr …

Plan war es direkt auf dem Entwicklungsboard zu sehen welchen Abstand der ToF misst. Immerhin gibt es schon das Testbild aus ;-). Hat hier jemand einen Link/Empfehlung für Tutorials (Videos)?

1 „Gefällt mir“

Also jetzt ein wenig weiter…

Stand:

  1. Installierter ToF mit kleiner Reichweite (max 50cm)
  2. OLED gibt Werte von diversen Sensoren aus
# Board: Generic ESP32 Board (Generic)
# Definition: definitions/boards/generic-esp32/manifest.yaml

esphome:
  name: esp-display-tof
  friendly_name: ESP_Display_ToF

esp32:
  variant: esp32
  framework:
    type: esp-idf

logger:

api:
  encryption:
    key: XXX
ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: ESP_Display_ToF Fallback Hotspot
    password: XXX

captive_portal:

i2c:
  #ToF
  - scl: 22
    sda: 21
    id: i2c_1
  #OLED
  - scl: 17
    sda: 16
    id: i2c_2

sensor:
  #ToF
  - platform: vl53l0x
    name: ToF-Abstand
    i2c_id: i2c_1
    id: sensor_vl53l0x_1
    update_interval: 1s
    long_range: true
    accuracy_decimals: 4

  #Temperatur AB Wohnzimmer  
  - platform: homeassistant
    name: TemperaturABWO
    entity_id: sensor.ab_wo_wo_te_th01_temperature
    id: tempABWO
  #Temperatur AB Küche
  - platform: homeassistant
    name: Temperatur
    entity_id: sensor.ab_wo_ku_te_th01_temperature
    id: tempABKU    
    
  #Temperatur AB Schlafzimmer
  - platform: homeassistant
    name: Temperatur
    entity_id: sensor.ab_wo_sc_he_he01_local_temperature
    id: tempABSC    
    
font:

  - file: "gfonts://Roboto"
    id: roboto
    size: 14
  
  - file: "gfonts://Chango"
    id: geomini
    size: 14
    
    
display:
  - platform: ssd1306_i2c
    model: SH1106_128X64
    id: display_ssd1306_i2c_1
    i2c_id: i2c_2
    update_interval: 100ms
    show_test_card: false
    lambda: |-
      //it.print(0, 10, id(roboto), "Hello World!");
      it.printf(0, 0, id(roboto),"Ent: %.4f", id(sensor_vl53l0x_1).state);
      it.printf(10, 16, id(roboto), "ABWO: %.2f", id(tempABWO).state);
      it.printf(20, 32, id(roboto), "ABKU: %.2f", id(tempABKU).state);
      it.printf(30, 48, id(roboto), "ABSC: %.2f", id(tempABSC).state);

Jetzt nur noch einen passenden ToF finden :wink: