Retour à l'accueil

HLK-LD2450 : Intégration approfondie avec ESPHome et Home Assistant

Découvrez comment débloquer pleinement le potentiel du radar à ondes millimétriques HLK-LD2450. Configurez les registres, les zones, et suivez les cibles Multi-Target via ESPHome et Home Assistant en utilisant le protocole binaire et ESP-IDF.

HLK-LD2450 : Contrôle total du radar dans la maison intelligente avec ESPHome et HA
Advertisement 728x90

Intégration Approfondie du HLK-LD2450 : Contrôle du Radar à Ondes Millimétriques via ESPHome et Home Assistant

Malgré son prix abordable, le radar à ondes millimétriques HLK-LD2450 est un capteur de présence puissant, capable de détecter non seulement les mouvements, mais aussi les coordonnées précises, la vitesse et l'angle de jusqu'à trois cibles simultanément. Cependant, son plein potentiel reste souvent inexploité en raison des limitations des solutions standard. Cet article présente une approche pour une intégration complète du LD2450 dans un écosystème domotique à l'aide d'ESPHome et de Home Assistant, offrant un contrôle approfondi de tous les paramètres matériels du radar via son protocole binaire, en contournant toute couche intermédiaire.

Capacités et Limites du HLK-LD2450 dans les Scénarios Standard

Le capteur LD2450 fonctionne à 24 GHz, offrant une portée de détection de 0,5 à 8 mètres et un large champ de vision horizontal de ±60°. La communication s'effectue via UART à 256000 bauds en utilisant un protocole binaire, ce qui le distingue des appareils contrôlés par des commandes AT. Une caractéristique matérielle clé est ses trois zones configurables, qui peuvent être définies comme des rectangles en millimètres. Le radar peut filtrer les cibles de manière autonome, ne fournissant des données que pour celles situées à l'intérieur de ces zones.

Le principal défi auquel les utilisateurs sont confrontés lorsqu'ils travaillent avec le LD2450 "prêt à l'emploi" est l'accès limité à ses fonctionnalités avancées. La plupart des solutions commerciales se concentrent uniquement sur la lecture du flux de données, ignorant les capacités de configuration dynamique. Les zones matérielles sont soit laissées intactes, soit configurées une seule fois à l'aide de l'outil spécialisé HLK-LD2450_TOOL, qui n'est souvent disponible que pour Windows. Des paramètres cruciaux tels que la sensibilité, le seuil d'énergie, le mode de fonctionnement (Normal, Haute Sensibilité, Faible Consommation, Haute Précision) et le temps de maintien de la cible sont stockés dans les registres de l'appareil, mais sont généralement inaccessibles pour modification depuis les systèmes domotiques. Cela réduit considérablement la flexibilité du capteur dans les scénarios complexes nécessitant des réponses adaptatives aux environnements changeants.

Google AdInline article slot

Objectifs de l'Intégration Approfondie :

Pour exploiter pleinement le potentiel du LD2450, les objectifs clés suivants ont été formulés, qui ne peuvent être atteints avec les méthodes standard :

  • Gestion Dynamique des Zones : La capacité de modifier les coordonnées et les dimensions des zones matérielles directement depuis Home Assistant. Cela permet d'adapter la zone de détection à divers scénarios, comme le mode nuit ou lorsque l'agencement des meubles change.
  • Réglage Fin de la Sensibilité : La régulation de la sensibilité du radar, du seuil d'énergie, du temps de maintien de la cible et du filtre de vitesse pour minimiser les fausses détections et optimiser la détection dans des conditions spécifiques.
  • Commutation des Modes de Fonctionnement : Basculer entre les modes Normal, Haute Sensibilité, Faible Consommation et Haute Précision pour s'adapter aux exigences de consommation d'énergie ou de précision.
  • Contrôle de la Fréquence de Mise à Jour : Ajuster le taux de rafraîchissement des données pour équilibrer la réactivité et la charge système.
  • Persistance de la Configuration : La capacité d'écrire les paramètres modifiés dans la mémoire interne du radar pour les conserver après une coupure de courant.
  • Surveillance Multi-Cibles : Obtenir des données en temps réel pour jusqu'à trois cibles simultanément, y compris leurs coordonnées, ce qui est essentiel pour les scénarios complexes de détection de présence.

Avantages d'un Composant Natif ESPHome et Transition vers ESP-IDF

Pour concrétiser les capacités énoncées, un composant natif ld2450 a été développé pour ESPHome. Cette approche permet une interaction directe avec l'UART du capteur, en envoyant des commandes binaires et en traitant les réponses sans aucun protocole ou abstraction intermédiaire. L'accès direct aux registres offre un contrôle complet sur l'appareil, le transformant d'une "boîte noire" en un capteur entièrement gérable.

Google AdInline article slot

Un aspect clé pour obtenir un fonctionnement stable à des vitesses UART élevées (256000 bauds) a été la migration du framework Arduino vers ESP-IDF. Bien que pratique pour le prototypage rapide, le framework Arduino présente souvent une instabilité lors de l'utilisation de l'UART à de telles vitesses, entraînant des pertes de données ou des erreurs de communication. La transition vers ESP-IDF a apporté les avantages suivants :

  • Stabilité UART Améliorée : ESP-IDF assure un fonctionnement périphérique plus fiable et prévisible, ce qui est crucial pour la transmission de données à haute vitesse depuis le radar.
  • Optimisation des Ressources : Le micrologiciel basé sur ESP-IDF occupe moins de mémoire flash (environ 17 % de moins) et consomme moins de RAM. Cela libère des ressources ESP32 pour d'autres tâches, améliorant les performances globales du système.
  • Pérennisation : ESPHome est en transition active vers ESP-IDF par défaut pour ses composants, ce qui en fait un choix stratégiquement judicieux et assure la compatibilité avec les futures mises à jour de la plateforme.

Analyse Détaillée du Protocole Binaire et de la Gestion des Registres

L'interaction avec le HLK-LD2450 s'effectue en envoyant des commandes binaires spécifiques. Chaque commande a une structure strictement définie :

Header: FD FC FB FA
Length: 2 bytes (petit-boutiste)
Command: 2 bytes
Data: N bytes
Footer: 04 03 02 01

Exemples de Commandes pour la Configuration des Paramètres Clés :

Google AdInline article slot
  • Réglage de la Sensibilité (commande 0x64) : Ce paramètre permet d'ajuster la réponse du radar à la détection d'objets sur huit segments de portée différents. Un réglage flexible de la sensibilité minimise les fausses détections et optimise les performances du capteur en fonction de l'environnement.

```c

uint8_t cmd_sensitivity[] = {

0xFD, 0xFC, 0xFB, 0xFA,

0x0A, 0x00,

0x64, 0x00,

sens, sens, sens, sens, sens, sens, sens, sens, // 8 valeurs de sensibilité

0x04, 0x03, 0x02, 0x01

};

```

  • Configuration du Seuil d'Énergie (commande 0x60) : Le seuil d'énergie filtre les réflexions faibles qui pourraient être causées par des interférences mineures ou de très petits objets. L'augmentation de ce seuil réduit la probabilité de fausses détections.

```c

uint8_t cmd_energy[] = {

0xFD, 0xFC, 0xFB, 0xFA,

0x04, 0x00,

0x60, 0x00,

(uint8_t)(energy & 0xFF),

(uint8_t)((energy >> 8) & 0xFF),

0x04, 0x03, 0x02, 0x01

};

```

De même, d'autres paramètres critiques sont configurés via le protocole binaire :

  • Temps de Maintien de la Cible (commande 0x61) : Détermine combien de temps le radar signalera la présence d'une cible après qu'elle ait quitté la zone de détection.
  • Filtre de Vitesse (commande 0x62) : Permet d'ignorer les objets se déplaçant en dessous d'un seuil spécifié, utile pour filtrer les mouvements lents et non pertinents.
  • Mode de Fonctionnement (commande 0x65) : Bascule entre les modes Normal, Haute Sensibilité, Faible Consommation et Haute Précision pour une optimisation basée sur des tâches spécifiques.
  • Fréquence de Mise à Jour (commande 0x66) : Définit la fréquence à laquelle le radar transmet les données des cibles.

Tous ces paramètres sont intégrés à Home Assistant et peuvent être modifiés via l'interface utilisateur. Après avoir effectué des modifications, il suffit d'appuyer sur le bouton "Écrire la Configuration sur le Radar" pour enregistrer les nouveaux paramètres dans l'EEPROM du capteur, garantissant ainsi leur persistance même après un redémarrage.

Configuration Avancée des Zones Matérielles et Suivi Multi-Cibles

Le LD2450 offre la possibilité de définir jusqu'à trois zones de détection matérielles. Chaque zone est un rectangle spécifié par des coordonnées (X1, Y1, X2, Y2) en millimètres par rapport au capteur, ainsi qu'un délai d'attente de présence. Le radar traite les données au niveau matériel, filtrant les cibles en dehors des zones définies, ce qui réduit la charge du microcontrôleur et améliore la précision de la détection.

Exemple de Configuration de Zones en Cascade par Profondeur :

  • Zone 1 (Proche) : Couvre une zone de 2 m × 0,75 m à une profondeur de 250–1000 mm. Idéale pour détecter les objets à proximité immédiate.
  • Zone 2 (Moyenne) : Étend la couverture à 4 m × 2 m à une profondeur de 1000–3000 mm. Utilisée pour une surveillance plus large de l'espace.
  • Zone 3 (Lointaine) : Occupe 6 m × 3 m à une profondeur de 3000–6000 mm. Permet la surveillance des zones éloignées.

Les coordonnées et les délais d'attente des zones sont entièrement configurables via Home Assistant en tant qu'entités number. Des boutons sont fournis pour appliquer les zones par défaut et pour les enregistrer, suivis d'un redémarrage du radar.

Par défaut, le LD2450 ne peut émettre des données que pour une seule cible. Pour suivre plusieurs objets, le mode Multi-Cibles doit être activé avec une commande spéciale. Une fois activé, le radar commence à transmettre des informations pour jusqu'à trois cibles distinctes. Il est important de noter qu'en mode Multi-Cibles, le taux de rafraîchissement des données est limité à 10 Hz, et l'intervalle minimum d'interrogation du capteur est de 100 ms. La configuration ESPHome inclut des vérifications pour éviter de dépasser ces limites lorsque le mode Multi-Cibles est actif.

Pour chaque cible détectée, les données suivantes sont fournies :

  • X, Y : Coordonnées de la cible en millimètres.
  • Vitesse : Vitesse de déplacement de la cible.
  • Angle : Angle par rapport à la cible.
  • Résolution : Résolution de détection.

Tous ces paramètres sont transmis à Home Assistant en tant que capteurs individuels, permettant une analyse détaillée de la position et du mouvement des objets dans l'espace.

Visualisation et Application Pratique dans Home Assistant

L'intégration avec Home Assistant va au-delà des simples réglages. Pour une représentation claire des données, une carte Plotly (disponible via HACS) est utilisée, ce qui permet de visualiser les cibles détectées comme des points et les zones configurées comme des rectangles semi-transparents. La zone de couverture du radar est affichée avec une ligne en pointillés, offrant un aperçu complet de l'état actuel du capteur. Les mises à jour de la visualisation ont lieu toutes les quelques secondes, configurables par l'utilisateur.

Liste des Paramètres Configurables depuis Home Assistant :

  • Sensibilité du Radar : Plage 0–9.
  • Seuil d'Énergie : Plage 100–10000.
  • Temps de Maintien de la Cible : Plage 0–60 secondes.
  • Filtre de Vitesse : Plage 0–100 cm/s.
  • Mode de Fonctionnement : Normal, Haute Sensibilité, Faible Consommation, Haute Précision.
  • Fréquence de Mise à Jour : 1–20 Hz (jusqu'à 10 Hz en mode Multi-Cibles).
  • Coordonnées et Délais d'Attente pour Trois Zones.
  • Mode Multi-Cibles et Bluetooth Activé/Désactivé (le cas échéant).

De plus, des boutons sont implémentés pour un contrôle pratique : "Appliquer les Zones par Défaut", "Écrire la Configuration sur le Radar", "Redémarrer le Radar" et "Réinitialisation d'Usine". Cela offre un contrôle total sur le capteur via l'interface intuitive de Home Assistant.

Outils Auxiliaires et Intégration Physique

Avant l'installation finale et la connexion à un ESP32, le HLK-LD2450 peut être préconfiguré ou testé à l'aide d'un adaptateur USB-UART. L'outil officiel HLK-LD2450_TOOL est disponible pour Windows. Pour les utilisateurs de Linux/WSL, un script connect_radar.sh (utilisant usbipd) et un script Python radar.py ont été développés pour surveiller le flux de données et analyser le protocole binaire. Il est important de noter que le protocole de données utilise les marqueurs AA FF, et les coordonnées sont transmises sous forme de valeurs signées sur 16 bits.

Pour l'intégration physique du capteur dans un projet, des solutions prêtes à l'emploi sont disponibles. Le dépôt du projet fournit des fichiers STL pour l'impression 3D de boîtiers et de couvercles, simplifiant considérablement la création d'un appareil soigné et fonctionnel. Des recommandations détaillées d'impression et d'assemblage peuvent être trouvées dans le fichier README du dossier case_stl.

Points Clés à Retenir

  • Contrôle Complet du HLK-LD2450 : Le composant natif ESPHome permet de contrôler tous les registres du radar via le protocole binaire, libérant ainsi tout son potentiel.
  • Stabilité avec ESP-IDF : La transition vers ESP-IDF est cruciale pour un fonctionnement UART fiable à des vitesses élevées (256000 bauds), offrant une stabilité et une optimisation des ressources supérieures par rapport au framework Arduino.
  • Zones Matérielles Dynamiques : La capacité de configurer et de modifier jusqu'à trois zones de détection matérielles directement depuis Home Assistant améliore considérablement la flexibilité du capteur dans divers scénarios.
  • Suivi Multi-Cibles : Le radar peut suivre jusqu'à trois cibles simultanément, fournissant leurs coordonnées précises, leur vitesse et leur angle, ce qui ouvre de nouvelles possibilités pour les systèmes complexes de détection de présence.
  • Intégration Transparente avec Home Assistant : Tous les paramètres et données du capteur sont accessibles et configurables via l'interface utilisateur de Home Assistant, y compris la visualisation des zones et des cibles à l'aide de Plotly.

— Editorial Team

Advertisement 728x90

Lire ensuite