mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-18 14:56:53 +00:00
Create sensor.tof (#8672)
* Create sensor.tof
* Review documentation
* Fix i2c address typo
* update ha release from launch
* Add i2c_bus to configuration
* Update source/_components/sensor.tof.markdown
Co-Authored-By: josemotta <josemotta@bampli.com>
* Update source/_components/sensor.tof.markdown
Co-Authored-By: josemotta <josemotta@bampli.com>
* Update sensor.tof.markdown
* Add VL53L1X docs and schematic
* Update sensor.tof.markdown
* Update sensor.tof.markdown
* Update sensor.tof.markdown
* Update sensor.tof.markdown
* Update sensor.tof.markdown
* ✏️ Tweaks
* Moves page from platform page to component page
Signed-off-by: Franck Nijhof <frenck@addons.community>
This commit is contained in:
parent
1b071fee03
commit
9a505f2049
119
source/_components/tof.markdown
Normal file
119
source/_components/tof.markdown
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: "Time of Flight sensor using VL53L1X"
|
||||||
|
description: "Instructions on how to integrate a VL53L1X ToF sensor into Home Assistant."
|
||||||
|
date: 2019-02-21 00:00
|
||||||
|
sidebar: true
|
||||||
|
comments: false
|
||||||
|
sharing: true
|
||||||
|
footer: true
|
||||||
|
logo: raspberry-pi.png
|
||||||
|
ha_category:
|
||||||
|
- DIY
|
||||||
|
- Sensor
|
||||||
|
ha_release: "0.90"
|
||||||
|
ha_iot_class: Local Polling
|
||||||
|
---
|
||||||
|
|
||||||
|
The Time of Flight sensor uses an invisible laser to measure distance with millimeter resolution.
|
||||||
|
|
||||||
|
Tested devices:
|
||||||
|
|
||||||
|
- [Raspberry Pi](https://www.raspberrypi.org/)
|
||||||
|
- [VL53L1X](https://www.st.com/en/imaging-and-photonics-solutions/vl53l1x.html)
|
||||||
|
- [Schematic](https://cdn.sparkfun.com/assets/3/5/c/e/2/Qwiic_Distance_Sensor_-_VL53L1X.pdf)
|
||||||
|
|
||||||
|
## {% linkable_title Configuration %}
|
||||||
|
|
||||||
|
To use the VL53L1X sensor in your installation, add to your `configuration.yaml`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
sensor:
|
||||||
|
- platform: tof
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
name:
|
||||||
|
description: Name of the sensor.
|
||||||
|
required: false
|
||||||
|
default: VL53L1X
|
||||||
|
type: string
|
||||||
|
i2c_bus:
|
||||||
|
description: I2c bus used.
|
||||||
|
required: false
|
||||||
|
default: 1, for Raspberry Pi 2 and 3.
|
||||||
|
type: integer
|
||||||
|
i2c_address:
|
||||||
|
description: I2c address of the sensor.
|
||||||
|
required: false
|
||||||
|
default: "0x29"
|
||||||
|
type: string
|
||||||
|
xshut:
|
||||||
|
description: GPIO port used to reset device.
|
||||||
|
required: false
|
||||||
|
default: 16
|
||||||
|
type: integer
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
## {% linkable_title Example %}
|
||||||
|
|
||||||
|
The distance is measured in millimeters, according to the VL53L1X specifications.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example of customized configuration.yaml entry
|
||||||
|
sensor:
|
||||||
|
- platform: tof
|
||||||
|
name: ToF sensor
|
||||||
|
i2c_address: 0x29
|
||||||
|
xshut: 16
|
||||||
|
```
|
||||||
|
Several devices may be attached and a GPIO port from RPI is used for reset. XSHUT signal is generated pulsing LOW at initialization and after that, it is kept HIGH all time. This version uses VL53L1X long-range mode that may reach up to 4 meters.
|
||||||
|
|
||||||
|
## {% linkable_title Directions for installing i2c on Raspberry Pi %}
|
||||||
|
|
||||||
|
Enable the I2c interface with the Raspberry Pi configuration utility:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# pi user environment: Enable i2c interface
|
||||||
|
$ sudo raspi-config
|
||||||
|
```
|
||||||
|
|
||||||
|
Select `Interfacing options->I2C` choose `<Yes>` and hit `Enter`, then go to `Finish` and you'll be prompted to reboot.
|
||||||
|
|
||||||
|
Install dependencies for use the `smbus-cffi` module and enable your _homeassistant_ user to join the _i2c_ group:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# pi user environment: Install i2c dependencies and utilities
|
||||||
|
$ sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
|
||||||
|
|
||||||
|
# pi user environment: Add homeassistant user to the i2c group
|
||||||
|
$ sudo addgroup homeassistant i2c
|
||||||
|
|
||||||
|
# pi user environment: Reboot Raspberry Pi to apply changes
|
||||||
|
$ sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
### {% linkable_title Check the i2c address of the sensor %}
|
||||||
|
|
||||||
|
After installing `i2c-tools`, a new utility is available to scan the addresses of the connected sensors:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ /usr/sbin/i2cdetect -y 1
|
||||||
|
```
|
||||||
|
|
||||||
|
It will output a table like this:
|
||||||
|
|
||||||
|
```text
|
||||||
|
0 1 2 3 4 5 6 7 8 9 a b c d e f
|
||||||
|
00: -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
|
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
|
20: -- -- -- 23 -- -- -- -- -- 29 -- -- -- -- -- --
|
||||||
|
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
|
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
|
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
|
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
|
70: -- -- -- -- -- -- -- --
|
||||||
|
```
|
||||||
|
|
||||||
|
So you can see the sensor address what you are looking for is **0x29** (there are more i2c sensors in this Raspberry Pi).
|
Loading…
x
Reference in New Issue
Block a user