212 lines
8.8 KiB
Markdown
212 lines
8.8 KiB
Markdown
|
|
+++
|
||
|
|
title = "Configuration de capteurs millimétriques LD2410C avec Wemos S2 Mini pour ESPHome"
|
||
|
|
date = 2023-11-25
|
||
|
|
authors = []
|
||
|
|
theme = "anemone"
|
||
|
|
template = "blog-page.html"
|
||
|
|
+++
|
||
|
|
|
||
|
|
Je fais cet article pour complémenter la vidéo des frères Poulain du 13 novembre 2023 sur les capteurs de présence à ondes millémétriques.
|
||
|
|
|
||
|
|
Je vais fournir la configuration que j'ai dû reconstruire à partir de la documentation ainsi que de quelques passages de la vidéo, ainsi que le descriptif pas à pas que j'ai dû réaliser afin de faire fonctionner ces capteurs dans Home Assistant
|
||
|
|
|
||
|
|
Je le fais aussi pour moi carj'ai une mauvaise mémoire et que j'aime documenter les choses ^w^
|
||
|
|
|
||
|
|
## Brasure du capteur LD2410C sur le Wemos S2 mini
|
||
|
|
|
||
|
|
- Coller un bout de chatterton sur le capteur, afin de l'isoler carune partie sera en contact du port USB-c
|
||
|
|
- Placer le capteur comme illustré et décrit sur les photos, et réaliser les brasures de "VBUS", "GND", "16", "18" et "33"
|
||
|
|
[Photo vue du dessus : le Wemos S2 Mini est positionné avec le port USB-C vers le bas de la photo et vers le plafond, le capteur est posé dessus en bas à droite, près du bouton "0"](../capteurs-millimetriques-esphome_dessus.jpg)
|
||
|
|
[Photo vue du dessous : le Wemos S2 Mini est retourné, port USB-C vers le bas, laissant apparaitre le marquage des ports, la capteur est positionné complètement en bas à gauche, entre les ports "VBUS" et "33"](../capteurs-millimetriques-esphome_dessous.jpg)
|
||
|
|
|
||
|
|
## Création de la configuration dans ESPHome sur Home Assistant
|
||
|
|
|
||
|
|
Si ce n'est pas fait, installez le Dashboard ESPHome tel qu'expliqué sur le lien suivant :
|
||
|
|
[Getting Started with ESPHome and Home Assistant](https://esphome.io/guides/getting_started_hassio)
|
||
|
|
|
||
|
|
- Rendez-vous dans l'onglet ESPHome de votre Home Assistant
|
||
|
|
- Cliquer sur "Secrets" en haut à droite
|
||
|
|
- Renseigner le nom de votre wifi après "wifi_ssid:" ainsi que son mot de passe après "wifi_password:", en respectant la casse (les majuscules et minuscules) et en mettant des guillements avant et après
|
||
|
|
- Cliquer sur "Save" en haut à droite, puis sur la croix en haut à gauche
|
||
|
|
- Cliquer sur "New Device" en bas à droite, puis sur "Continue"
|
||
|
|
- Nommer votre futur capteur, par exemple "Présence Bureau", puis cliquer sur "Next"
|
||
|
|
- Décocher "Use recommanded settings", puis sélectionner "ESP32-S2" puis "WEMOS LOLIN S2 MINI"
|
||
|
|
- Copier votre clé de chiffrement et garder là en lieu sûr, puis cliquer sur Skip
|
||
|
|
- Cliquer sur "Edit" sous le nom donné à votre capteur et copiez cette configuration dans un éditeur de texte
|
||
|
|
|
||
|
|
## Premier flashage
|
||
|
|
|
||
|
|
- Modifier la configuration précédemment copiée dans un éditeur de texte (ne pas directement modifier dans Home Assistant !)
|
||
|
|
- Remplacer "!secret wifi_ssid" par le nom de votre réseau wifi, en respectant la casse (les majuscules et minuscules) et en mettant des guillements avant et après
|
||
|
|
- Remplacer "!secret wifi_password" par le mot de passe de votre réseau wifi, toujours en respectant la casse et en mettant des guillements avant et après
|
||
|
|
- Ajouter les lignes suivantes sous "friendly_name:" dans la catégorie "esphome:" tout en haut de la configuration :
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
platformio_options:
|
||
|
|
board_build.extra_flags:
|
||
|
|
- "-DARDUINO_USB_CDC_ON_BOOT=0" # Override, defaults to '-DARDUINO_USB_CDC_ON_BOOT=1'
|
||
|
|
```
|
||
|
|
|
||
|
|
- Ajouter ces même lignes dans la configuration sur Home Assistant au même endroit que précédemment, cliquer sur "Save" puis la croix
|
||
|
|
- Enregistrer la configuration dans votre éditeur de texte en lui donnant un nom finissant par ".yaml", tel que "capteur-bureau.yaml"
|
||
|
|
|
||
|
|
[Votre fichier de configuration devrait ressembler à celui-ci !](../capteurs-millimetriques-esphome_premiere-config.txt)
|
||
|
|
|
||
|
|
[Vous pouvez désormais visionner la vidéo des frères Poulain au chapitre "Installation de ESP Home et python"](https://youtu.be/DjN9L8Cagnw?t=389)
|
||
|
|
|
||
|
|
Une fois Python et ESPHome installés sur votre ordinateur et le Wemos S2 Mini branché à votre PC en maintenant le bouton "0" puis en le relanchant une fois branché, vous pouvez lancer la commande suivante (en remplaçant "capteur-bureau.yaml" par votre nom de configuration) :
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python3 -m esphome run capteur-bureau.yaml
|
||
|
|
```
|
||
|
|
|
||
|
|
Sélectionnez le choix numéro 1 quand le script vous le demande, en entrant "1" puis en validant avec votre touche Entrée
|
||
|
|
Le firmware va être écrit sur la carte Wemos S2 Mini
|
||
|
|
|
||
|
|
Une fois fini, débranchez et rebranchez le Wemos S2 Mini pour le faire redémarrer, puis rendez-vous dans "Paramètres" puis "Appareils et Services" sur Home Assistant
|
||
|
|
Vous devriez voir votre capteur tout juste découvert par Home Assistant !
|
||
|
|
Cliquez sur "Configurer" puis "Valider", enfin, renseignez lui une localisation si demandé et cliquez sur "Terminé"
|
||
|
|
Si la clé d'API vous est demandée (normalement non), c'est la clé de chiffrement qui vous a été donnée plus tôt et que vous trouverez dans la configuration flashée au niveau de "encryption:" puis "key:"
|
||
|
|
|
||
|
|
## Second flashage, mais en wifi
|
||
|
|
|
||
|
|
- Aller dans l'onglet ESPHome de Home Assistant
|
||
|
|
- Cliquer sur "Edit" sous le nom de votre nouveau capteur
|
||
|
|
- Normalement la partie concernat le wifi estrestée comme ceci (si ce n'est pas le cas, remettre correctement) :
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
wifi:
|
||
|
|
ssid: !secret wifi_ssid
|
||
|
|
password: !secret wifi_password
|
||
|
|
```
|
||
|
|
|
||
|
|
- Coller le texte suivant après "captive_portal:", en sautant deux lignes et en veillant à supprimer les espaces ajoutés automatiquement :
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
ld2410:
|
||
|
|
|
||
|
|
uart:
|
||
|
|
tx_pin: GPIO18
|
||
|
|
rx_pin: GPIO33
|
||
|
|
baud_rate: 256000
|
||
|
|
parity: none
|
||
|
|
stop_bits: 1
|
||
|
|
|
||
|
|
sensor:
|
||
|
|
- platform: ld2410
|
||
|
|
light:
|
||
|
|
name: light
|
||
|
|
moving_distance:
|
||
|
|
name : Moving Distance
|
||
|
|
still_distance:
|
||
|
|
name: Still Distance
|
||
|
|
moving_energy:
|
||
|
|
name: Move Energy
|
||
|
|
still_energy:
|
||
|
|
name: Still Energy
|
||
|
|
detection_distance:
|
||
|
|
name: Detection Distance
|
||
|
|
|
||
|
|
binary_sensor:
|
||
|
|
- platform: ld2410
|
||
|
|
has_target:
|
||
|
|
name: Presence
|
||
|
|
has_moving_target:
|
||
|
|
name: Moving Target
|
||
|
|
has_still_target:
|
||
|
|
name: Still Target
|
||
|
|
|
||
|
|
number:
|
||
|
|
- platform: ld2410
|
||
|
|
timeout:
|
||
|
|
name: timeout
|
||
|
|
light_threshold:
|
||
|
|
name: light threshold
|
||
|
|
max_move_distance_gate:
|
||
|
|
name: max move distance gate
|
||
|
|
max_still_distance_gate:
|
||
|
|
name: max still distance gate
|
||
|
|
g0:
|
||
|
|
move_threshold:
|
||
|
|
name: g0 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g0 still threshold
|
||
|
|
g1:
|
||
|
|
move_threshold:
|
||
|
|
name: g1 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g1 still threshold
|
||
|
|
g2:
|
||
|
|
move_threshold:
|
||
|
|
name: g2 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g2 still threshold
|
||
|
|
g3:
|
||
|
|
move_threshold:
|
||
|
|
name: g3 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g3 still threshold
|
||
|
|
g4:
|
||
|
|
move_threshold:
|
||
|
|
name: g4 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g4 still threshold
|
||
|
|
g5:
|
||
|
|
move_threshold:
|
||
|
|
name: g5 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g5 still threshold
|
||
|
|
g6:
|
||
|
|
move_threshold:
|
||
|
|
name: g6 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g6 still threshold
|
||
|
|
g7:
|
||
|
|
move_threshold:
|
||
|
|
name: g7 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g7 still threshold
|
||
|
|
g8:
|
||
|
|
move_threshold:
|
||
|
|
name: g8 move threshold
|
||
|
|
still_threshold:
|
||
|
|
name: g8 still threshold
|
||
|
|
|
||
|
|
switch:
|
||
|
|
- platform: ld2410
|
||
|
|
engineering_mode:
|
||
|
|
name: "engineering mode"
|
||
|
|
bluetooth:
|
||
|
|
name: "control bluetooth"
|
||
|
|
|
||
|
|
select:
|
||
|
|
- platform: ld2410
|
||
|
|
distance_resolution:
|
||
|
|
name: "distance resolution"
|
||
|
|
light_function:
|
||
|
|
name: light function
|
||
|
|
```
|
||
|
|
|
||
|
|
[Votre fichier de configuration devrait ressembler à celui-ci !](../capteurs-millimetriques-esphome_config-finale.txt)
|
||
|
|
|
||
|
|
[Lien vers la documentation, pour savoir quelle option fait quoi](https://esphome.io/components/sensor/ld2410.html)
|
||
|
|
|
||
|
|
- Cliquer sur les 3 points verticaux dans le rectangle de votre nouveau capteur de présence, puis sélectionner "Validate"
|
||
|
|
- Si "INFO Configuration is valid!" est indiqué tout en bas, c'est que tout est bon et que vous pouvez passer à la suite ! Sinon c'est que vous avez fait une erreur dans votre configuration
|
||
|
|
- Fermer la fenêtre en cliquant sur "Close"
|
||
|
|
- Cliquer à nouveau sur les 3 points verticaux de votre capteurs et sélectionner "Install" puis "Wirelessly"
|
||
|
|
- Attendre que la compilation se fasse et se télécharge sur votre capteur en wifi (cela prend pas mal de temps, vous pouvez souffler)
|
||
|
|
- Si des lignes turquoise et magenta défilent ensuite sur votre écran, c'est que tout s'est bien passé et que le capteur envoit désormais ses mesures à Home Assistant en wifi !
|
||
|
|
- Cliquer sur "Stop" pour fermer la fenêtre
|
||
|
|
|
||
|
|
## C'est la fin
|
||
|
|
|
||
|
|
C'est déjà fini !
|
||
|
|
|
||
|
|
Vous trouverez votre capteur dans "Paramètres" puis "Appareils et Services" puis en cliquant sur "n Appareils" sous "ESPHome", tous vos capteurs ajoutés avec cette méthodes apparaitront ici ! :)
|
||
|
|
|
||
|
|
Profitez désormais de votre ou vos capteurs !!
|
||
|
|
|
||
|
|
Le 25 novembre 2023,
|
||
|
|
Émy
|