Carte 8 relais avec ESP32 branchement USB UART

Bonjour,

Mon problème

Bonjour, j’ai acheté une carte relais avec ESP32 intégré sur Amazon LC-Relay-ESP32-8R-D5 :

Afin de configurer j’ai acheté aussi une clé UART :

Le soucis, c’est pour configurer le ESP32, il y a une grosse incompréhension, et j’ai réussi à faire fonctionner mais j’aimerais votre avis.

Normalement, suivant la doc ici : ESP32 Relay Board x8 | devices.esphome.io je ne dois pas utiliser le 5V pour programmer l’ESP. Mais j’ai pas eu le choix.

La seule façon que j’ai pu pour que ça fonctionne c’est le branchement suivant:

ESP 5V => USB 5V (avec le chevalet sur le 5V de la clé USB)
ESP TX => USB RX
ESP RX => USB TX
ESP GNR => USB GNG
et mettre un chevalier vers GPIO0 et GND sur le ESP32

Là, j’arrive à me connecter à mon home assistant.

Par contre, quand j’ai upload mon script, je dois débrancher, retirer le chevalet GPIO0 et GND pour que ça lance la carte.

Ce que je comprend pas, c’est pourquoi dans la doc je dois brancher comme ça :
ESP GPIO0 => USB 3.3V (avec le chevalet sur le 3.3V de la clé USB)
ESP GNR => USB GNG
ESP TX => USB RX
ESP RX => USB TX
Là, la connexion est impossible, donc je continue et la doc dit d’appuyer sur le bouton GPIO0 présent sur la carte, je le fais mais à ce moment là, ça déconnecte ma carte et je repars à 0.

Est-ce que j’ai mal compris quelque chose ?
Je vous remercie

hello
si sur la carte c’est sérigraphié 5v c’est que ta carte attends du 5V, si cela de plus fonctionne en 5V c’est que c’est OK

le GPIO0 qu’il faut ramener au GROUND c’est pour passer l’ESP en mode flash et donc lui injecter un programme puis retirer le mode flash et passer en mode boot pour exécuter ce firmware que tu as injecté

1 « J'aime »

D’accord, donc j’ai pas fait de bétises alors c’est ce que je voulais être sûr.
Mais du coup, tu saurais me dire à quoi sert le « PROGRAM BUTTON » qui est présent sur la carte ? :slight_smile:

Bonjour … ce serait pas le bouton pour passer en mode prog ?. ca evite le shunt … giop0 gnd … il faud appuyer dessus jusqu à ce que esphome lance la procedure de flash …

1 « J'aime »

Comme l’a dit @didier02100 sûrement a de mettre en mode flash

Du coup effectivement, mon branchement est bon, si je mets pas le chevalet sur GPIO0 et GND alors le boot se lance, et je dois faire la manip suivante pour entrer en prog :

Appuyer sur les deux boutons, relacher le bouton reset mais rester appuyer sur le bouton GPIO0 ce qui fait qu’il démarre en mode prog, donc tout est OK :wink:

Merci bcp

3 « J'aime »

Bonjour à tous,

je relance ce post car j’ai la même carte mais impossible de la flasher

j’ai pour ma part cette adptateur USB/TTL,

il est cabblé comme suit:

USB 3,3V => NC
USB 5V => ESP 5V
USB RX => ESP TX
USB TX => ESP RX
USB GNG => ESP GND

  • JUMPER entre IO0 et GND

au niveau de ESPHOME quand je veux flasher (adaptateur connecté au raspbery qui heberge HAOS , je voi bien mon aaptateur (je suppose que c’est ça)

La compilation fonctionne mai la laison série échoue, voici le log

INFO ESPHome 2024.12.2
INFO Reading configuration /config/esphome/gestion-bassin-et-puits.yaml...
INFO Generating C++ source...
esphome:
  name: gestion-bassin-et-puits
  friendly_name: Gestion bassin et puits
  min_version: 2024.12.2
  build_path: build/gestion-bassin-et-puits
  area: ''
  platformio_options: {}
  includes: []
  libraries: []
  name_add_mac_suffix: false
esp32:
  board: esp32dev
  framework:
    version: 2.0.5
    advanced:
      ignore_efuse_custom_mac: false
    source: ~3.20005.0
    platform_version: platformio/espressif32@5.4.0
    type: arduino
  flash_size: 4MB
  variant: ESP32
logger:
  baud_rate: 115200
  tx_buffer_size: 512
  deassert_rts_dtr: false
  hardware_uart: UART0
  level: DEBUG
  logs: {}
api:
  encryption:
    key: VZLuI8t3hcPWYbC0xi8//W+Hy0L0hoFNy6uN1Gc+gBQ=
  port: 6053
  password: ''
  reboot_timeout: 15min
ota:
- platform: esphome
  password: 504ebc732d2c67fa02c0f2a3034ac9d5
  version: 2
  port: 3232
external_components:
- source:
    url: https://github.com/dentra/esphome-components.git
    type: git
  refresh: 1d
  components: all
backup: {}
wifi:
  manual_ip:
    static_ip: 192.168.1.17
    gateway: 192.168.1.254
    subnet: 255.255.255.0
    dns1: 0.0.0.0
    dns2: 0.0.0.0
  ap:
    ssid: Gestion-Bassin-Et-Puits
    password: i5shqqZHcZpA
    ap_timeout: 1min
  domain: .local
  reboot_timeout: 15min
  power_save_mode: LIGHT
  fast_connect: false
  passive_scan: false
  enable_on_boot: true
  networks:
  - ssid: xxxxxxxxx
    password: xxxxxxxxx
    priority: 0.0
  use_address: 192.168.1.17
captive_portal: {}
web_server:
  port: 80
  version: 2
  enable_private_network_access: true
  include_internal: false
  ota: true
  log: true
  css_url: ''
  js_url: https://oi.esphome.io/v2/www.js
improv_serial: {}

INFO Backup config will take: 909 bytes
INFO Compiling app...
Processing gestion-bassin-et-puits (board: esp32dev; framework: arduino; platform: platformio/espressif32@5.4.0)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
|-- ArduinoJson @ 6.18.5
|-- Improv @ 1.2.4
Compiling .pioenvs/gestion-bassin-et-puits/src/main.cpp.o
Linking .pioenvs/gestion-bassin-et-puits/firmware.elf
RAM:   [=         ]  12.4% (used 40696 bytes from 327680 bytes)
Flash: [=====     ]  50.3% (used 923785 bytes from 1835008 bytes)
Building .pioenvs/gestion-bassin-et-puits/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/gestion-bassin-et-puits/firmware.bin"], [".pioenvs/gestion-bassin-et-puits/firmware.elf"])
Wrote 0xf2f10 bytes to file /data/build/gestion-bassin-et-puits/.pioenvs/gestion-bassin-et-puits/firmware.factory.bin, ready to flash to offset 0x0
esp32_copy_ota_bin([".pioenvs/gestion-bassin-et-puits/firmware.bin"], [".pioenvs/gestion-bassin-et-puits/firmware.elf"])
========================= [SUCCESS] Took 50.67 seconds =========================
INFO Successfully compiled program.
esptool.py v4.7.0
Serial port /dev/ttyUSB0
Connecting......................................
ERROR Running command failed: Failed to connect to ESP32: No serial data received.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
ERROR Please try running esptool.py --before default_reset --after hard_reset --baud 460800 --port /dev/ttyUSB0 --chip esp32 write_flash -z --flash_size detect 0x10000 /data/build/gestion-bassin-et-puits/.pioenvs/gestion-bassin-et-puits/firmware.bin 0x1000 /data/build/gestion-bassin-et-puits/.pioenvs/gestion-bassin-et-puits/bootloader.bin 0x8000 /data/build/gestion-bassin-et-puits/.pioenvs/gestion-bassin-et-puits/partitions.bin 0xe000 /data/cache/platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin locally.
INFO Upload with baud rate 460800 failed. Trying again with baud rate 115200.
esptool.py v4.7.0
Serial port /dev/ttyUSB0
Connecting......................................
ERROR Running command failed: Failed to connect to ESP32: No serial data received.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
ERROR Please try running esptool.py --before default_reset --after hard_reset --baud 115200 --port /dev/ttyUSB0 --chip esp32 write_flash -z --flash_size detect 0x10000 /data/build/gestion-bassin-et-puits/.pioenvs/gestion-bassin-et-puits/firmware.bin 0x1000 /data/build/gestion-bassin-et-puits/.pioenvs/gestion-bassin-et-puits/bootloader.bin 0x8000 /data/build/gestion-bassin-et-puits/.pioenvs/gestion-bassin-et-puits/partitions.bin 0xe000 /data/cache/platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin locally.

j’ai essayer la manip avec les deux boutons (ça fonctionait sur un autre esp32 avec le port usb natif), mais là, ça ne fonctionne pas

une idée ?