N'arrive pas à flasher un esp01

Mon problème

Bonjour
Je n’arrive pas a flacher mon esp01.
Voici le ftdi:

voici l’esp01:

J’ai deja achete un deuxiéme ftdi et esp01
J’ai essaye sur mes deux ordinateurs(windows10) avec eshome flasher et mon serv avec HA et j’ai toujours la même erreur

Unexpected error: could not open port ‹ COM6 ›: PermissionError(13, ‹ Accès refusé. ›, None, 5)

Ma configuration


Rpi 4 2gb avec carte sd sandisk de 32gb
Bonne connexion internet
Dernière version de home assistant 32 bit (recommande pour mon rpi)


sui tu as bien mis le bouton du ftdi sur prog et tu as bien sélectionné le port COM après avoir branché le ftdi sur un de tes usb du pc, il n’y a aucune raison pour que cela ne marche pas .
vérifie que tu ai choisi le bon port COM dans esphome flasher

Si tu as une machine sous Linux cela devrait fonctionner :wink: Je sais plus quel est le soucis exact mais je sais que certains de ces adaptateurs FTDI ne marchent pas sous Windows sans faire une modification matérielle dessus !

@telenaze il est bien sur prog et j’ai mis le bon com (pas de lumiére bleu sur l’esp01)
@vincen J’ai deja essyé directement en le branchant sur homeassistant mais ca ne marche pas

Salut, je découvre le monde de l’ESP depuis peu et une petite recherche sur l’ESP01 m’a donner ceci :

« le module ESP01 n’a pas de convertisseur UART vers USB »
« il faut passer le module en Mode Flash manuellement »
« la broche GPIO2 doit être reliée au GND à la mise sous tension. »

Source : https://projetsdiy.fr/esp01-esp01s-debuter-ide-arduino-platformio-quel-module-choisir-reperage-broches/

A tester :slight_smile:

@Xek J’ai déjà mis le gnd sur le gpi0 mais normalement cette ftdi le fais tous seul grâce au switch et ca ne fonctionne pas

Je viens d’essayé et quant tu le branche sur l’usb la lumière bleu doit s’allumer puis s’éteindre aussitôt et cela quelque soit la position du bouton.


ton esp est bien dans cette position ?

@telenaze oui il est dans cette position

et la lumière bleu ?

@telenaze non j’ai essaye avec mes deux ftdi et mes deux esp01

ton ftdi est bien reconnu par windows (gestionnaire de périphérique) ?
j’ai l’impression que ton ftdi n’est pas alimenté par l’usb

@telenaze Mon ftdi est bien reconnu par le gestionnaire de périphérique de windows et esphome flasher(j’ai deja essayer en changeant de port usb). Même quand je le branche sur mon rpi de HA mon ftdi est detecte mais ca ne fonctionne pas(même probléme de sur windows).

Gestionnaire de périphérique:

Esphomeflasher:

ok,
tu lui met quoi comme fichier bin ?

Voici mon fichier yaml:

esphome:
  name: relai
  platform: ESP8266
  board: esp01_1m
wifi:
  ssid: "Wifi"
  password: "passworda"
  manual_ip:
    # Set this to the IP of the ESP
    static_ip: 192.168.0.108
    # Set this to the IP address of the router. Often ends with .1
    gateway: 192.168.0.1
    # The subnet of the network. 255.255.255.0 works for most home networks.
    subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Relai Fallback Hotspot"
    password: "E3fvLZZ6QAdi"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
switch:
  - platform: gpio
    pin: GPIO0
    name: "Relay #1"

fichier bin de ce code
https://we.tl/t-wAjcySj8Qo

Autre fichier yaml(je l’ai fais pour un test avec juste le wifi)

esphome:
  name: wifi
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "Wifi"
  password: "password"
  manual_ip:
    # Set this to the IP of the ESP
    static_ip: 192.168.0.105
    # Set this to the IP address of the router. Often ends with .1
    gateway: 192.168.0.1
    # The subnet of the network. 255.255.255.0 works for most home networks.
    subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Wifi Fallback Hotspot"
    password: "wayqPIiRKYyX"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

fichier bin de ce programme
https://we.tl/t-pDff1WQB3f

Les deux codes sont valides

Tu n’aurai pas un autres périphériques connecté en usb sur ton pc , si oui essaie de les enlever pour voir.

1 « J'aime »

J’ai deja essayer su mes deux pc en débranchant tt les autres periphériques USB mais ca fais toujours pareils.
Je comprend pas

ok,
Je viens d’essayer et c’est ton fichier bin qui pose problème.
modifie ça

esphome:
  name: relai
  platform: ESP8266
  board: esp01

Ca ne marche pas sur mes deux pc windows et directement sur Ha

Voici ce que ca fais sur HA

INFO Reading configuration /config/esphome/relai.yaml...
INFO Generating C++ source...
INFO Compiling app...
INFO Running:  platformio run -d /config/esphome/relai
Processing relai (board: esp01; framework: arduino; platform: platformio/espressif8266@2.6.2)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 512KB Flash
PACKAGES: 
 - framework-arduinoespressif8266 3.20704.0 (2.7.4) 
 - tool-esptool 1.413.0 (4.13) 
 - tool-esptoolpy 1.20800.0 (2.8.0) 
 - toolchain-xtensa 2.40802.200502 (4.8.2)
Library Manager: Installing Update
Library Manager: Already installed, built-in library
Dependency Graph
|-- <ESPAsyncTCP-esphome> 1.2.3
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WiFi> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <ESPAsyncWebServer-esphome> 1.2.7
|   |-- <ESPAsyncTCP-esphome> 1.2.3
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <Hash> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <DNSServer> 1.1.1
|   |-- <ESP8266WiFi> 1.0
Retrieving maximum program size /data/relai/.pioenvs/relai/firmware.elf
Checking size /data/relai/.pioenvs/relai/firmware.elf
RAM:   [====      ]  44.9% (used 36756 bytes from 81920 bytes)
Flash: [========  ]  79.2% (used 395680 bytes from 499696 bytes)
========================= [SUCCESS] Took 5.89 seconds =========================
INFO Successfully compiled program.
INFO Running:  esptool.py --before default_reset --after hard_reset --baud 460800 --chip esp8266 --port /dev/ttyUSB0 write_flash 0x0 /data/relai/.pioenvs/relai/firmware.bin
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP8266: Timed out waiting for packet header
INFO Upload with baud rate 460800 failed. Trying again with baud rate 115200.
INFO Running:  esptool.py --before default_reset --after hard_reset --baud 115200 --chip esp8266 --port /dev/ttyUSB0 write_flash 0x0 /data/relai/.pioenvs/relai/firmware.bin
esptool.py v2.8
Serial port /dev/ttyUSB0

essaie de lui envoyer ce fichier avec eshome flasher.
https://uptobox.com/av1oa6udsief
et ca c’est les code qu’il contient:

---
esphome:
  name: carillon
  platform: ESP8266
  board: esp01

# WiFi connection, corrigez avec
# les valeurs de votre WiFi.
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.1.102
    gateway: 192.168.1.1
    subnet: 255.255.255.0
# Enable logging.
logger:

# Enable Home Assistant API.
api:

# Enable over-the-air updates.
ota:

# Enable Web server.
web_server:
  port: 80

# Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time
    


# Capteurs de texte avec informations générales.
text_sensor:
  # Affiche la version ESPHome comme capteur.
  - platform: version
    name: Carillon ESPHome Version
  # Affiche les informations WiFi en tant que capteurs.
  - platform: wifi_info
    ip_address:
      name: Carillon IP
    ssid:
      name: Carillon SSID
    bssid:
      name: Carillon BSSID
      
  - platform: template
    name: Carillon_uptime
    lambda: |-
      int seconds = (id(uptime_sec).state);
      int days = seconds / (24 * 3600);
      seconds = seconds % (24 * 3600); 
      int hours = seconds / 3600;
      seconds = seconds % 3600;
      int minutes = seconds /  60;
      seconds = seconds % 60;
      return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
    icon: mdi:clock-start
    update_interval: 113s


# Capteurs avec informations générales.
sensor:
  # Uptime sensor.
  - platform: uptime
    name: Carillon sensor Uptime
    
  - platform: uptime
    name: "up"
    id: uptime_sec

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: Carillon WiFi Signal
    update_interval: 60s

# Global pour stocker l'état on / off relais 
globals:
  - id: relais
    type: bool
    restore_value: true
    initial_value: 'true'

# Affiche switches.
switch:
  # Bascule pour redémarrer le Carillon.
  - platform: restart
    name: Carillon Restart

  # Interrupteur pour allumer / éteindre le relais.
  - platform: gpio
    id: relay
    inverted: true
    name: Carillon Test relais
    pin: GPIO0


  # Bascule pour activer / désactiver le relais lorsque
  # Le bouton Carillon est enfoncé.
  #
  # Il crée un commutateur 'virtuel' basé sur
  # sur une variable globale.
  - platform: template
    name: Carillon relais Actif
    id: relais_active
    restore_state: false
    turn_on_action:
      - globals.set:
          id: relais
          value: 'true'
    turn_off_action:
      - globals.set:
          id: relais
          value: 'false'
    lambda: |-
      return id(relais);

# Capteur binaire représentant le
# Appuyé sur le bouton Carillon.
binary_sensor:
  - platform: gpio
    id: bouton
    name: Carillon Bouton
    device_class: sound
    pin:
      # Connecté à GPIO sur l'ESP-01S.
      number: GPIO2
      mode: INPUT_PULLUP
      inverted: true
    filters:
      # Petit filtre, pour repousser la pression du bouton.
      - delayed_on: 25ms
      - delayed_off: 25ms
    on_press:
      # N'active le relais que lorsqu'il est actif.
      then:
        if:
          condition:
            - switch.is_on: relais_active
          then:
            - switch.turn_on: relay
    on_release:
      # À la libération, désactive le relais.
      - switch.turn_off: relay
      
  - platform: status
    name: "Carillon_statut"

On est d’accord que tu ne peux pas injecter un fichier dans ton esp via esphome tant que tu n’as pas préalablement envoyer un 1er fichier via eshome flasher.

Tu peux injecter un fichier dans l’esp via esphome même si tu n’as pas préalablement envoyer un 1er fichier via esphome flasher.

voici l’erreur avec ton code:

Using ‹ COM6 › as serial port.
Unexpected error: could not open port ‹ COM6 ›: PermissionError(13, ‹ Accès refusé. ›, None, 5)