ESP32-C6 problème GPIO avec ESP-IDF et VsCode

Bonjour, je débute avec VsCode.
j’ai testé la démo Zigbee sur un ESP32-C6, ça fonctionne bien les températures remontent en Zigbee avec Zigbee2MQTT, sauf que le DHT22 est branché sur le GPIO8 qui est aussi la LED RVB intégrée et elle s’allume.
Si je change de GPIO dans le code :

setDHTgpio(GPIO_NUM_21);

ça ne fonctionne pas, j’ai testé plusieurs pins, 10, 11, 21…
et j’ai ce massage dans le terminal VsCode:

DHT: Sensor Timeout

quelqu’un aurait une idée du problème ?

Avec la GPIO8 j’ai bien :

ESP32-C6: Hum: 40.7 Tmp: 23.5
mais la LED est On

Bonsoir @eco3xfr
Avec un AHT10 voici mon code :

i2c:
  - id: bus_a
    sda: 21
    scl: 22
    scan: True
  
  
sensor:
  - platform: aht10
    temperature:
      name: "PSalon Temperature"
      accuracy_decimals: 1
    humidity:
      name: "PSalon Humidite"
      accuracy_decimals: 1
    update_interval: 30s
    address: 0x38
    i2c_id: bus_a

Bob

Je suis repassé sur Arduino IDE, plus facile pour moi pour tester,
image

ça fonctionne sur les PINs 3, 7, 15, 18,11
je retourne sur VsCode pour tester…

Bonjour, le fonctionnement est diffèrent c’est en i2c

je ne comprends plus rien, le DHT22 fonction sur la pin 7 avec Arduino IDE, mais pas avec ESP-IDF. :thinking:

Ah, désolé, partage ton code complet yaml EspHome peut être :wink:
Bob

Je pense que @eco3xfr à codé en C

Le problème des ESP32-C6 et ESP32-H2 (versions avec Zigbee) c’est qu’ils ne sont pas encore pris en charge par ESPHOME,
sur Arduino IDE avec la version alpha d’ESP32 Arduino Core 3.0.0 ça fonctionne mais je n’ai pas encore trouvé de librairie Zigbee
Donc je suis obligé d’utiliser VsCode avec ESP-IDF 5.2 pour faire des tests avec le Zigbee. et j’avoue qu’avec tous les fichiers .c .h .json… je suis un peu débordé.

L’Ideal serait d’attendre la sortie d’une version EspHome compatible, un fichier yaml unique c’est plus facile

1 « J'aime »

J’attends cela avec impatience :smiley:

A tout hasard, tu as bien configuré la board utilisée sur ESP32-C6 ?

Voila le config.json, il y a esp32h2 ça peut jouer ? ça ce change directement dans le code ou ailleurs ? :

{
  "idf.portWin": "COM9",
  "idf.adapterTargetName": "esp32c6",
  "idf.openOcdConfigs": ["board/esp32h2-ftdi.cfg"],
  "files.associations": {
    "*.vhd": "vhdl",
    "*.yaml": "home-assistant",
    "esp_zb_light.h": "c",
    "am2302_rmt.h": "c"
  },
  "idf.flashType": "UART"
}

Tu n’as pas besoin de toucher directement le code en spécifiant « ESP32C6 ».
En bas à gauche de VScode, tu as un petit bouton où il est inscrit, à côté du port COM utilisé, la board qui est utilisée dans ton projet. Je te conseille vivement de passer par là pour modifier la target.

Quand tu auras fait ça, ça va modifier ton fichier « .vscode/settings.json » mais également le fichier sdkconfig avec tous les éléments utiles pour ta board !

Oui, c’est bon j’ai bien le Com 9 et ESP32-C6

Maintenant, tu peux rebuild ton projet avec ces nouveaux paramètres et tout devrait fonctionner normalement

Bonjour, je découvre cet univers et j’ai comme projet d’utiliser un détecteur de présence dans endroit loin d’un prise 220v. Mon choix s’est donc porté sur Zigbee qui selon ce que j’ai compris est moins gourmand que le wifi. J’ai un esp32-c6-dev-kit-n8, tout fonctionne bien en wifi avec le fichier yaml ci-dessous. En revanche je n’ai pas trouvé d’exemple de fichier yaml pour Zigbee. Peut-être à cause du non support par esphome dont il est fait mention sur ce thread ? Est-ce qu’il existe des moyens de contournement ?

  name: esp32-c6-board-1
  friendly_name: ESP32C6 LD2410

esp32:
  board: esp32-c6-devkitc-1
  variant: esp32c6
  flash_size: 8MB
  framework:
    type: esp-idf
    version: 5.1.2
    platform_version: 6.5.0
    sdkconfig_options:
      CONFIG_ESPTOOLPY_FLASHSIZE_8MB: y

# Enable logging
logger:
ota:
  password: "xxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true

# Enable Home Assistant API
api:
  encryption:
    key: "xxx"

light:
  - platform: esp32_rmt_led_strip
    rmt_channel: 0
    chipset: WS2812
    rgb_order: GRB
    pin: GPIO8
    num_leds: 1
    name: "Status LED"
    id: internal_led
    icon: mdi:led-outline

uart:
  tx_pin: 17
  rx_pin: 16
  baud_rate: 256000
  id: uart_2
  parity: NONE
  stop_bits: 1

ld2410:
  - uart_id: uart_2

text_sensor:
  #- platform: ld2410
    #version:
      #name: "firmware version" #Test si ça fonctionne

binary_sensor:
  - platform: ld2410
    has_target: #Présence
      name: Presence
    has_moving_target: #Cible mobile
      name: Moving Target
    has_still_target: #Cible immobile
      name: Still Target

sensor:
  - platform: ld2410
    light: #intensité lumineuse
      name: light
    moving_distance: #distance cible en mouvement
      name : Moving Distance
    still_distance: #distance cible immobile
      name: Still Distance
    moving_energy: #quantité de mouvement
      name: Move Energy
    still_energy: #quantité d'immobilité ??
      name: Still Energy
    detection_distance: #distance de détection
      name: Detection Distance

number:
  - platform: ld2410
    timeout: #Temps pour passer le binary sensor Présence à faux
      name: timeout
    light_threshold: #Seuil de lumière
      name: light threshold
    max_move_distance_gate: #Distance de détection du mouvemenet 2-8
      name: max move distance gate
    max_still_distance_gate: #Distance de détection d'immobilité 2-8
      name: max still distance gate

button:
  - platform: ld2410
    restart:
      name: "restart"

switch:
  - platform: ld2410
    engineering_mode:
      name: "engineering mode"

Je viens de trouver cette vidéo relative au sujet esp32-H2/C6 et Zigbee :

https://www.youtube.com/watch?v=qa1AMDCnUcQ

Bravo à l’auteur

C’est ce tuto et son code que j’ai utilisé, ça fonctionne bien avec l’ESP32-C6 et le H2 également en Zigbee

Comme je n’aime pas rester sur un échec, j’ai refais des tests de mes C6 et H2 avec un nouveau DHT22 commandé sur ALI, et ça fonctionne bien sur la PIN 10, donc j’en déduit que mes anciens capteurs posent problème.
le nouveau est sur CI avec résistance R1 et C1.
il y a certainement des options pull up ou autre qui ne fonctionne que sur la PIN 8 avec les anciens DHT sans résistance.

image

image

Salut peut tu nous faire voire t’on code? Et tu la flache avec quoi? Esphome… Vscode…