Tutorial mise à jour de la passerelle Winky Version ESP8266
Citation de Jérôme Ferrari le 10 septembre 2023, 17 h 14 minCe topic est écrit afin de supporter le tutorial pour programmer ou reprogrammer le firmware du Winky
Partie 1 : Comment brancher l’ESP8266 pour sa programmation
La première manipulation consiste à sortir le Winky de son boitier, pour cela, il suffit d’ouvrir le boitier plastique
Puis de sortir la partie électronique.
Maintenant, il faut enlever la carte supportant l’ESP8266 de la partie basse qui gère la puissance et la mise en forme des signaux.
Pour information, si vous avez le modèle avec une antenne externe (comme la photo ci-dessus), vous pouvez la laisser branchée sur l’ESP8266 (Sur les photos suivantes, je l’ai enlevée afin de voir les détails)
Maintenant, il faut brancher l’ESP8266 sur l’adaptateur de la façon suivante
Puis vérifiez que le jumper du FTDI est bien sur 3.3V (normalement à gauche comme sur la photo)
Puis il faut brancher l'adaptateur et le FTDI ensemble
Il faut branchez ensuite un cable Mini USB vers USB
Partie 2 : Téléversement du firmware: Variante Windows (Pour Linux et Mac, voir les liens juste en dessous)
Version Linux: https://miniprojets.net/index.php/forum/topic/programmation-de-la-passerrelle-winky/#postid-8
Version MAC: https://miniprojets.net/index.php/forum/topic/programmation-de-la-passerrelle-winky/#postid-9
Maintenant, il faut appuyer sur le bouton de l’adaptateur puis en le maintenant enfoncé, il faut brancher le câble USB à l’ordinateur
Normalement l’ordinateur devrait le reconnaitre automatiquement en émettant un son.
Vous pouvez relâcher le bouton et passer à la partie téléversement
Pour cette partie, vous pouvez récupérer les fichiers permettant la programmation ou reprogrammation du winky à l'adresse suivante:
Pour cela, une fois la page affichée, il faut cliquer sur le bouton Download
puis cliquer sur Zip de la fenêtre Download this directory
Une fois le dossier téléchargé, il faut le dézipper
Ensuite il faut aller dans le dossier extrait et double cliquer sur FlashESP8266.exe
Normalement, le programme va s’ouvrir et détecter le bon port com. Si cela n'est pas le cas, choissiez le port COM qui correspond à votre adaptateur.
Maintenant, il faut cliquer sur la flèche Firmware et choisir Winky_OneForAll_VXX.bin (Normalement, il n'y a qu'une version, les autres fichiers servent à nettoyer l'ESP8266 en cas de panne)
Maintenant, il faut cliquer sur Flash.
Le programme va commencer à flasher et vous aurez quelque chose comme cela.
Si tout se passe bien, à la fin, il affichera le message suivant :
Cliquez sur OK.
Partie 3: Mise à jour des données internes ou remontage Winky
Maintenant 2 choix s'offre à vous:
Option 1: Il ne s'agit que d'une mise à jour
S'il ne s'agit que d'une mise à jour, vous pouvez maintenant débrancher l’esp8266 et remonter le winky en suivant les étapes inverses à son démontage et vous pouvez le brancher sur le linky en suivant ce tutorial
https://miniprojets.net/index.php/forum/topic/tutorial-installer-le-winky-sur-le-linky
Option 2: Il s'agit d'une première mise en route ou d'une modification des données internes
Si cette option est choisie, il faut débrancher puis rebrancher l’usb sans appuyer sur le bouton afin de mettre le Winky en mode HotSpot
Si tout est ok, un nouveau réseau wifi nommé XKY va apparaitre
Il faut maintenant aller sur le réseau wifi XKY avec le mot de passe oneforall
Une fois connecté, il faudra aller sur un navigateur web et tapez l’adresse 192.168.4.1
Je vous invite à aller sur la page du forum dédiée aux explications de comment configurer votre Winky:
https://miniprojets.net/index.php/forum/topic/tutorial-configuration-du-winky/
Une fois toutes vos modifications et informations remplies correctement, vous pouvez maintenant débrancher l’esp8266 et remonter le winky en suivant les étapes inverses à son démontage et vous pouvez le rebrancher sur le linky
Ce topic est écrit afin de supporter le tutorial pour programmer ou reprogrammer le firmware du Winky
Partie 1 : Comment brancher l’ESP8266 pour sa programmation
La première manipulation consiste à sortir le Winky de son boitier, pour cela, il suffit d’ouvrir le boitier plastique
Puis de sortir la partie électronique.
Maintenant, il faut enlever la carte supportant l’ESP8266 de la partie basse qui gère la puissance et la mise en forme des signaux.
Pour information, si vous avez le modèle avec une antenne externe (comme la photo ci-dessus), vous pouvez la laisser branchée sur l’ESP8266 (Sur les photos suivantes, je l’ai enlevée afin de voir les détails)
Maintenant, il faut brancher l’ESP8266 sur l’adaptateur de la façon suivante
Puis vérifiez que le jumper du FTDI est bien sur 3.3V (normalement à gauche comme sur la photo)
Puis il faut brancher l'adaptateur et le FTDI ensemble
Il faut branchez ensuite un cable Mini USB vers USB
Partie 2 : Téléversement du firmware: Variante Windows (Pour Linux et Mac, voir les liens juste en dessous)
Version Linux: https://miniprojets.net/index.php/forum/topic/programmation-de-la-passerrelle-winky/#postid-8
Version MAC: https://miniprojets.net/index.php/forum/topic/programmation-de-la-passerrelle-winky/#postid-9
Maintenant, il faut appuyer sur le bouton de l’adaptateur puis en le maintenant enfoncé, il faut brancher le câble USB à l’ordinateur
Normalement l’ordinateur devrait le reconnaitre automatiquement en émettant un son.
Vous pouvez relâcher le bouton et passer à la partie téléversement
Pour cette partie, vous pouvez récupérer les fichiers permettant la programmation ou reprogrammation du winky à l'adresse suivante:
Pour cela, une fois la page affichée, il faut cliquer sur le bouton Download
puis cliquer sur Zip de la fenêtre Download this directory
Une fois le dossier téléchargé, il faut le dézipper
Ensuite il faut aller dans le dossier extrait et double cliquer sur FlashESP8266.exe
Normalement, le programme va s’ouvrir et détecter le bon port com. Si cela n'est pas le cas, choissiez le port COM qui correspond à votre adaptateur.
Maintenant, il faut cliquer sur la flèche Firmware et choisir Winky_OneForAll_VXX.bin (Normalement, il n'y a qu'une version, les autres fichiers servent à nettoyer l'ESP8266 en cas de panne)
Maintenant, il faut cliquer sur Flash.
Le programme va commencer à flasher et vous aurez quelque chose comme cela.
Si tout se passe bien, à la fin, il affichera le message suivant :
Cliquez sur OK.
Partie 3: Mise à jour des données internes ou remontage Winky
Maintenant 2 choix s'offre à vous:
Option 1: Il ne s'agit que d'une mise à jour
S'il ne s'agit que d'une mise à jour, vous pouvez maintenant débrancher l’esp8266 et remonter le winky en suivant les étapes inverses à son démontage et vous pouvez le brancher sur le linky en suivant ce tutorial
https://miniprojets.net/index.php/forum/topic/tutorial-installer-le-winky-sur-le-linky
Option 2: Il s'agit d'une première mise en route ou d'une modification des données internes
Si cette option est choisie, il faut débrancher puis rebrancher l’usb sans appuyer sur le bouton afin de mettre le Winky en mode HotSpot
Si tout est ok, un nouveau réseau wifi nommé XKY va apparaitre
Il faut maintenant aller sur le réseau wifi XKY avec le mot de passe oneforall
Une fois connecté, il faudra aller sur un navigateur web et tapez l’adresse 192.168.4.1
Je vous invite à aller sur la page du forum dédiée aux explications de comment configurer votre Winky:
https://miniprojets.net/index.php/forum/topic/tutorial-configuration-du-winky/
Une fois toutes vos modifications et informations remplies correctement, vous pouvez maintenant débrancher l’esp8266 et remonter le winky en suivant les étapes inverses à son démontage et vous pouvez le rebrancher sur le linky
Citation de Jérôme Ferrari le 16 octobre 2023, 11 h 15 minPartie 2 : Téléversement du firmware (Variante Linux)
Ouvrir une fenêtre « Terminal »Créer un environnement python virtuel# mkdir ESP32# cd ESP32# python3 -m venv esp32-env# . esp32-env/bin/activateInstaller l’outil esptool# pip install --upgrade esptoolTester si esptool fonctionne# esptool.py -husage: esptool [-h] [--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2}][--port PORT] [--baud BAUD] [--before {default_reset,usb_reset,no_reset,no_reset_no_sync}][--after {hard_reset,soft_reset,no_reset,no_reset_stub}] [--no-stub] [--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]][--connect-attempts CONNECT_ATTEMPTS]{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version}...esptool.py v4.6.2 - Espressif chips ROM Bootloader Utilitypositional arguments:{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version}Run esptool.py {command} -h for additional helpload_ram Download an image to RAM and executedump_mem Dump arbitrary memory to diskread_mem Read arbitrary memory locationwrite_mem Read-modify-write to arbitrary memory locationwrite_flash Write a binary blob to flashrun Run application code in flashimage_info Dump headers from a binary file (bootloader or application)make_image Create an application image from binary fileself2image Create an application image from ELF fileread_mac Read MAC address from OTP ROMchip_id Read Chip ID from OTP ROMflash_id Read SPI flash manufacturer and device IDread_flash_status Read SPI flash status registerwrite_flash_status Write SPI flash status registerread_flash Read SPI flash contentverify_flash Verify a binary blob against flasherase_flash Perform Chip Erase on SPI flasherase_region Erase a region of the flashmerge_bin Merge multiple raw binary files into a single file for later flashingget_security_info Get some security-related dataversion Print esptool versionoptions:-h, --help show this help message and exit--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2}, -c {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2}Target chip type--port PORT, -p PORT Serial port device--baud BAUD, -b BAUD Serial port baud rate used when flashing/reading--before {default_reset,usb_reset,no_reset,no_reset_no_sync}What to do before connecting to the chip--after {hard_reset,soft_reset,no_reset,no_reset_stub}, -a {hard_reset,soft_reset,no_reset,no_reset_stub}What to do after esptool.py is finished--no-stub Disable launching the flasher stub, only talk to ROM bootloader. Some features will not be available.--trace, -t Enable trace-level output of esptool.py interactions.--override-vddsdio [{1.8V,1.9V,OFF}]Override ESP32 VDDSDIO internal voltage regulator (use with care)--connect-attempts CONNECT_ATTEMPTSNumber of attempts to connect, negative or 0 for infinite. Default: 7.Appuyer sur le bouton de l’adaptateur puis en le maintenant enfoncé, brancher le câble USB au PC :Identifier le port USB :# ls -l /dev/tty*USB*crw-rw-rw- 1 root wheel 0x9000002 15 oct 17:20 /dev/ttyUSB0Recupérer le droit en écriture de votre USB :sudo chmod a+rw /dev/ttyUSB0Identifier la taille de la mémoire flash de l'ESP8266# esptool.py -p /dev/ttyUSB0 flash_idesptool.py v4.6.2Serial port /dev/ttyUSB0Connecting....Detecting chip type... Unsupported detection protocol, switching and trying again...Connecting...Detecting chip type... ESP8266Chip is ESP8266EXFeatures: WiFiCrystal is 26MHzMAC: a4:cf:12:f2:68:cbUploading stub...Running stub...Stub running...Manufacturer: a1Device: 4014Detected flash size: 1MBHard resetting via RTS pin...Télécharger le dernier firmware Winky_OneForAll_VXX_ESP8266.ino.generic.binFlasher le firmware :# esptool.py -p /dev/ttyUSB0 write_flash 0x00000 ~/Downloads/Winky_OneForAll_VXX_ESP8266.ino.generic.bin
Voilà maintenant vous pouvez reprendre à l'étape 3 du topic principal
Partie 2 : Téléversement du firmware (Variante Linux)
Citation de Jérôme Ferrari le 16 octobre 2023, 11 h 18 minPartie 2 : Téléversement du firmware: Variante MAC
Pour information, cette variante a été écrite par un participant à l'expérience avec l'OTE et je le remercie vraiment pour cette aide.
Ouvrir une fenêtre « Terminal »Installer python3# brew install python3# pip install --upgrade pipCréer un enivronnement python virtuel# mkdir ESP32# cd ESP32# python3 -m venv esp32-env# . esp32-env/bin/activateInstaller l’outil esptool# pip install --upgrade esptoolTester si esptool fonctionne# esptool.py -husage: esptool [-h] [--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2}][--port PORT] [--baud BAUD] [--before {default_reset,usb_reset,no_reset,no_reset_no_sync}][--after {hard_reset,soft_reset,no_reset,no_reset_stub}] [--no-stub] [--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]][--connect-attempts CONNECT_ATTEMPTS]{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version}...esptool.py v4.6.2 - Espressif chips ROM Bootloader Utilitypositional arguments:{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version}Run esptool.py {command} -h for additional helpload_ram Download an image to RAM and executedump_mem Dump arbitrary memory to diskread_mem Read arbitrary memory locationwrite_mem Read-modify-write to arbitrary memory locationwrite_flash Write a binary blob to flashrun Run application code in flashimage_info Dump headers from a binary file (bootloader or application)make_image Create an application image from binary fileself2image Create an application image from ELF fileread_mac Read MAC address from OTP ROMchip_id Read Chip ID from OTP ROMflash_id Read SPI flash manufacturer and device IDread_flash_status Read SPI flash status registerwrite_flash_status Write SPI flash status registerread_flash Read SPI flash contentverify_flash Verify a binary blob against flasherase_flash Perform Chip Erase on SPI flasherase_region Erase a region of the flashmerge_bin Merge multiple raw binary files into a single file for later flashingget_security_info Get some security-related dataversion Print esptool versionoptions:-h, --help show this help message and exit--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2}, -c {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2}Target chip type--port PORT, -p PORT Serial port device--baud BAUD, -b BAUD Serial port baud rate used when flashing/reading--before {default_reset,usb_reset,no_reset,no_reset_no_sync}What to do before connecting to the chip--after {hard_reset,soft_reset,no_reset,no_reset_stub}, -a {hard_reset,soft_reset,no_reset,no_reset_stub}What to do after esptool.py is finished--no-stub Disable launching the flasher stub, only talk to ROM bootloader. Some features will not be available.--trace, -t Enable trace-level output of esptool.py interactions.--override-vddsdio [{1.8V,1.9V,OFF}]Override ESP32 VDDSDIO internal voltage regulator (use with care)--connect-attempts CONNECT_ATTEMPTSNumber of attempts to connect, negative or 0 for infinite. Default: 7.Appuyer sur le bouton de l’adaptateur puis en le maintenant enfoncé, brancher le câble USB au MacBook :Identifier le port USB :# ls -l /dev/tty*usb*crw-rw-rw- 1 root wheel 0x9000002 15 oct 17:20 /dev/tty.usbserial-A50285BIIdentifier la taille de la mémoire flash de l'ESP8266# esptool.py -p /dev/tty.usbserial-A50285BI flash_idesptool.py v4.6.2Serial port /dev/tty.usbserial-A50285BIConnecting....Detecting chip type... Unsupported detection protocol, switching and trying again...Connecting...Detecting chip type... ESP8266Chip is ESP8266EXFeatures: WiFiCrystal is 26MHzMAC: a4:cf:12:f2:68:cbUploading stub...Running stub...Stub running...Manufacturer: a1Device: 4014Detected flash size: 1MBHard resetting via RTS pin...Télécharger le dernier firmware Winky_OneForAll_VXX_ESP8266.ino.generic.binFlasher le firmware :# esptool.py -p /dev/tty.usbserial-A50285BI --baud 1000000 write_flash --flash_size detect -fm dio 0 ~/Downloads/Winky_OneForAll_VXX_ESP8266.ino.generic.binVoilà maintenant vous pouvez reprendre à l'étape 3 du topic principal
Partie 2 : Téléversement du firmware: Variante MAC
Pour information, cette variante a été écrite par un participant à l'expérience avec l'OTE et je le remercie vraiment pour cette aide.