ESP Easy is firmware voor ESP8266 en ESP32 boards.
ESP Easy heeft een webserver, die verbinding maakt met o.a. de Domoticz server.
Domoticz en ESPEasy: Introduction
Domoticz.com: ESP Easy
is firmware that allows creating sensor nodes with wireless connection to a LAN via WiFi, without writing any code.
Domonicz supports connection to ESPEasy devices directly.
ESP Easy can run on inexpensive boards based upon the ESP8266 processor. Many versions of this processor exist, with various amounts of memory and I/O pins, and many different boards using these chips are available. Different manufacturer's products often have different pin arrangements.
Generally speaking a typical ESP8266 processor is quite powerful and can support multiple protocols and multiple sensors, relays, switches, and even displays and other types of devices. Because they have live WiFi connections their power consumption is not low and they are not easily used for battery-powered nodes.
Ook info: en.wikipedia.org: ESP_Easy is a free and open source MCU (microcontroller unit) firmware for the Internet of things (IoT)
Voor uitgebreide documentatie zie:
Details voor plugins die ik nodig heb:
Voor het flashen van de ESP Easy software op een Wemos chip wordt in Linux de Esptool software gebruikt.
Dit is software die in Python is geprogrammeerd.
Most boards which already have an USB to serial on board, also have some circuit present to help booting into flash mode via the USB port.
Met Arduino is gecheckt of de Asus C434TA Chromebook software via de USB de Wemos chip detecteert.
Dit blijkt geen probleem, zie hoofdstuk Asus: Arduino
Het is tijd voor een volgende stap, Python checken!
Python is nodig om in Linux ESPEasy te installeren op een Wemos chip.
De Esptool is een ESP8266 ROM Bootloader Utility, om ESPEasy software te uploaden naar de Wemos.
Om de Esptool te installeren is Python ... en pip nodig.
De Esptool is een "pip" pakket.
Asus C434TA Chromebook instellingen: [juni 2021]
fritsvleeuwen@penguin:~$ python --version Python 2.7.16
fritsvleeuwen@penguin:~$ python3 -V Python 3.7.3
fritsvleeuwen@penguin:~$ apt list --installed | grep python WARNING: apt does not have a stable CLI interface. Use with caution in scripts. libpython-stdlib/stable,now 2.7.16-1 amd64 [installed,automatic] libpython2-stdlib/stable,now 2.7.16-1 amd64 [installed,automatic] libpython2.7-minimal/stable,now 2.7.16-2+deb10u1 amd64 [installed,automatic] libpython2.7-stdlib/stable,now 2.7.16-2+deb10u1 amd64 [installed,automatic] libpython2.7/stable,now 2.7.16-2+deb10u1 amd64 [installed,automatic] libpython3-stdlib/stable,now 3.7.3-1 amd64 [installed,automatic] libpython3.7-minimal/now 3.7.3-2+deb10u2 amd64 [installed,upgradable to: 3.7.3-2+deb10u3] libpython3.7-stdlib/now 3.7.3-2+deb10u2 amd64 [installed,upgradable to: 3.7.3-2+deb10u3] python-minimal/stable,now 2.7.16-1 amd64 [installed,automatic] python-talloc/stable,now 2.1.14-2 amd64 [installed,automatic] python2-minimal/stable,now 2.7.16-1 amd64 [installed,automatic] python2.7-minimal/stable,now 2.7.16-2+deb10u1 amd64 [installed,automatic] python2.7/stable,now 2.7.16-2+deb10u1 amd64 [installed,automatic] python2/stable,now 2.7.16-1 amd64 [installed,automatic] python3-minimal/stable,now 3.7.3-1 amd64 [installed,automatic] python3.7-minimal/now 3.7.3-2+deb10u2 amd64 [installed,upgradable to: 3.7.3-2+deb10u3] python3.7/now 3.7.3-2+deb10u2 amd64 [installed,upgradable to: 3.7.3-2+deb10u3] python3/stable,now 3.7.3-1 amd64 [installed] python/stable,now 2.7.16-1 amd64 [installed,automatic]
Voor de setup van de Esptool is gebruik gemaakt van een virtuele Python omgeving.
De flash tool wordt maar af en toe gebruikt om een nieuwe Wemos chip te programmeren.
De procedure staat uitstekend beschreven op de pagina:
linuxize.com: How to Create Python Virtual Environments [Mar 20, 2019]
fritsvleeuwen@penguin:~$ sudo apt install python3-venv Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libjsoncpp1 libstartup-notification0 Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: libpython3.7-minimal libpython3.7-stdlib python-pip-whl python3-distutils python3-lib2to3 python3.7 python3.7-minimal python3.7-venv Suggested packages: python3.7-doc binutils binfmt-support The following NEW packages will be installed: python-pip-whl python3-distutils python3-lib2to3 python3-venv python3.7-venv The following packages will be upgraded: libpython3.7-minimal libpython3.7-stdlib python3.7 python3.7-minimal 4 upgraded, 5 newly installed, 0 to remove and 57 not upgraded. Need to get 6,206 kB of archives. After this operation, 3,144 kB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 https://deb.debian.org/debian buster/main amd64 python3.7 amd64 3.7.3-2+deb10u3 [330 kB] Get:2 https://deb.debian.org/debian buster/main amd64 libpython3.7-stdlib amd64 3.7.3-2+deb10u3 [1,734 kB] Get:3 https://deb.debian.org/debian buster/main amd64 python3.7-minimal amd64 3.7.3-2+deb10u3 [1,737 kB] Get:4 https://deb.debian.org/debian buster/main amd64 libpython3.7-minimal amd64 3.7.3-2+deb10u3 [589 kB] Get:5 https://deb.debian.org/debian buster/main amd64 python-pip-whl all 18.1-5 [1,591 kB] ... Setting up python3.7 (3.7.3-2+deb10u3) ... Setting up python3.7-venv (3.7.3-2+deb10u3) ... Setting up python3-venv (3.7.3-1) ... Processing triggers for mime-support (3.62) ... Processing triggers for man-db (2.8.5-2) ... Processing triggers for desktop-file-utils (0.23-4) ...
Let's start by installing the python3-venv package that provides the venv module.
Switch to the directory where you would like to store your Python 3 virtual environments.
Within the directory run the following command to create your new virtual environment:
fritsvleeuwen@penguin:~$ python3 -m venv espeasy fritsvleeuwen@penguin:~$ cd espeasy fritsvleeuwen@penguin:~/espeasy$ ll total 8 drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 174 Jun 30 18:10 bin drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 66 Jun 30 19:23 espeasy drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 0 Jun 30 18:10 include drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 18 Jun 30 18:10 lib lrwxrwxrwx 1 fritsvleeuwen fritsvleeuwen 3 Jun 30 18:10 lib64 -> lib -rw-r--r-- 1 fritsvleeuwen fritsvleeuwen 69 Jun 30 18:10 pyvenv.cfg drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 26 Jun 30 18:10 share
The command above creates a directory called "espeasy"
To start using this virtual environment, you need to activate it by running the  activate script:
fritsvleeuwen@penguin:~/espeasy$ source espeasy/bin/activate (espeasy) fritsvleeuwen@penguin:~/espeasy$
Opmerking: Within the virtual environment, you can use the command pip instead of pip3 and python instead of python3
check "pip" versie.
(espeasy) fritsvleeuwen@penguin:~/espeasy$ pip --version pip 18.1 from /home/fritsvleeuwen/espeasy/espeasy/lib/python3.7/site-packages/pip (python 3.7) (espeasy) fritsvleeuwen@penguin:~/espeasy$
Vervolgens kan met "pip" de esptool geïnstalleerd worden ... dacht ik.
(espeasy) fritsvleeuwen@penguin:~/espeasy$ pip install esptool ... *** problemen ! *** ... (espeasy) fritsvleeuwen@penguin:~/espeasy$
Running setup.py bdist_wheel for bitstring ... error error: invalid command 'bdist_wheel' Running setup.py bdist_wheel for cryptography ... error error: can't find Rust compiler This package requires Rust >=1.41.0. Failed cleaning build dir for cryptography Failed building wheel for reedsoloEr was ook nog nuttig commentaar:
=============================DEBUG ASSISTANCE============================= If you are seeing a compilation error please try the following steps to successfully install cryptography: 1) Upgrade to the latest pip and try again. This will fix errors for most users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip 2) Read ... 3) Check ...
Met
Google en de juiste keywords vond ik:
github.com docker/compose/issues/8105
De volgende tekst leek me wel wat: pip3 install "pip>=20"
fritsvleeuwen@penguin:~/espeasy$ pip3 install "pip>=20" Collecting pip>=20 Downloading https://files.pythonhosted.org/packages/47/ca/f0d790b6e18b3a6f3bd5e80c2ee4edbb5807286c21cdd0862ca933f751dd/pip-21.1.3-py3-none-any.whl (1.5MB) 100% |********************************| 1.6MB 829kB/s Installing collected packages: pip Found existing installation: pip 18.1 Uninstalling pip-18.1: Successfully uninstalled pip-18.1 Successfully installed pip-21.1.3 (espeasy) fritsvleeuwen@penguin:~/espeasy$
De tweede poging om esptool te installeren lukte!
fritsvleeuwen@penguin:~/espeasy$ pip install esptool Collecting esptool Using cached esptool-3.1.tar.gz (175 kB) Requirement already satisfied: bitstring>=3.1.6 in ./espeasy/lib/python3.7/site-packages (from esptool) (3.1.7) Collecting cryptography>=2.1.4 Downloading cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl (3.2 MB) |********************************| 3.2 MB 5.7 MB/s Collecting ecdsa>=0.16.0 Using cached ecdsa-0.17.0-py2.py3-none-any.whl (119 kB) Collecting pyserial>=3.0 Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB) Collecting reedsolo<=1.5.4,>=1.5.3 Using cached reedsolo-1.5.4.tar.gz (271 kB) Requirement already satisfied: cffi>=1.12 in ./espeasy/lib/python3.7/site-packages (from cryptography>=2.1.4->esptool) (1.14.5) Requirement already satisfied: pycparser in ./espeasy/lib/python3.7/site-packages (from cffi>=1.12->cryptography>=2.1.4->esptool) (2.20) Collecting six>=1.9.0 Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Using legacy 'setup.py install' for esptool, since package 'wheel' is not installed. Using legacy 'setup.py install' for reedsolo, since package 'wheel' is not installed. Installing collected packages: six, reedsolo, pyserial, ecdsa, cryptography, esptool Running setup.py install for reedsolo ... done Running setup.py install for esptool ... done Successfully installed cryptography-3.4.7 ecdsa-0.17.0 esptool-3.1 pyserial-3.5 reedsolo-1.5.4 six-1.16.0 (espeasy) fritsvleeuwen@penguin:~/espeasy$
Opmerking: door de eerste "install" staat in bovenstaande log al drie keer: "Requirement already satisfied".
Opmerking: in de log staat: 'wheel' is not installed ... zie de volgende opmerking... is niet strict noodzakelijk!
Opmerking: "wheel" info Python, zie:
RealPython.com wheels: What Are Python Wheels and Why Should You Care? [Aug 05, 2020]
Wheels are a component of the Python ecosystem that helps to make package installs just work. They allow for faster installations and more stability in the package distribution process.
Om de virtuele python omgeving te stoppen wordt het "deactivate" commando gebruikt.
Dit kan uitgevoerd worden als op de Wemos chip de ESPEasy software is geïnstalleerd!
(espeasy) fritsvleeuwen@penguin:~/espeasy$ deactivate fritsvleeuwen@penguin:~/espeasy$ cd fritsvleeuwen@penguin:~$
Nuttige informatie over virtual Environments is te zien op:
RealPython.com: Python Virtual Environments: A Primer
In this tutorial, you'll learn how to work with Python's venv module to create and manage separate virtual environments for your Python projects.
Why Do You Need Virtual Environments?
Nearly everyone in the Python community suggests that you use virtual environments for all your projects. But why?
If you want to find out why you need to set up a Python virtual environment in the first place, then this is the right section for you.
Een week na de upgrade van de Chromebook "Crostini" container wilde ik een nieuwe Wemos ESP-8266 chip programmeren met de ESP Easy software.
Helaas was er een probleem met de Python versie, en lukte het branden niet meer! ... in de virtuele Python...
Gelukkig werkt "plan b": géén virtuele Python wel!
Uitgevoerd:
fritsvleeuwen@penguin:~/espeasy$ pip --version pip 20.3.4 from /usr/lib/python3/dist-packages/pip (python 3.9) fritsvleeuwen@penguin:~/espeasy$ pip install esptool Collecting esptool Downloading esptool-4.1.tar.gz (222 kB) |********************************| 222 kB 4.5 MB/s Collecting bitstring>=3.1.6 Downloading bitstring-3.1.9-py3-none-any.whl (38 kB) Collecting cryptography>=2.1.4 Downloading cryptography-37.0.2-cp36-abi3-manylinux_2_24_x86_64.whl (4.0 MB) |********************************| 4.0 MB 18.6 MB/s ... Successfully built esptool reedsolo Installing collected packages: pycparser, six, cffi, reedsolo, ecdsa, cryptography, bitstring, esptool Successfully installed bitstring-3.1.9 cffi-1.15.0 cryptography-37.0.2 ecdsa-0.17.0 esptool-4.1 pycparser-2.21 reedsolo-1.5.4 six-1.16.0 fritsvleeuwen@penguin:~$ sudo pip uninstall serial Found existing installation: serial 0.0.97 Uninstalling serial-0.0.97: Would remove: /usr/local/lib/python3.9/dist-packages/serial-0.0.97.dist-info/* /usr/local/lib/python3.9/dist-packages/serial/* Proceed (y/n)? y Successfully uninstalled serial-0.0.97 fritsvleeuwen@penguin:~$ esptool.py -h -bash: esptool.py: command not found
Met Google vond ik: github.com: espressif/esptool/issues/343 "esptool.py: command not found" #343
Details: I think this might be a "PATH" issue with your install.
If you run "pip" as a normal user on Linux (ie pip install esptool rather than sudo pip install esptool then the esptool.py executable is installed to the directory ~/local/.bin directory (ie the hidden .local/bin directory inside your home directory).
In a default Ubuntu install, this directory is normally part of your user's PATH (there's a line in .profile which adds it).
Maybe the .profile file or the PATH has been modified on your install.
Check "PATH":
fritsvleeuwen@penguin:~$ grep PATH .profile # set PATH so it includes user's private bin if it exists PATH="$HOME/bin:$PATH" # set PATH so it includes user's private bin if it exists PATH="$HOME/.local/bin:$PATH"
Daarna lukte het om de nieuwe Wemos Mini te programmeren met de ESP Easy software! (download van mei 2021)
fritsvleeuwen@penguin:~$ ll espeasy ... -rw-rw-r-- 1 fritsvleeuwen fritsvleeuwen 961152 May 3 2021 ESP_Easy_mega_20210503_normal_ESP8266_4M1M.bin ... fritsvleeuwen@penguin:~$ esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash -fm dio -fs 4MB 0x00000 espeasy/ESP_Easy_mega_20210503_normal_ESP8266_4M1M.bin esptool.py v4.1 Serial port /dev/ttyUSB0 Connecting.... Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX ... Flash will be erased from 0x00000000 to 0x000eafff... Flash params set to 0x0240 Compressed 961152 bytes to 629887... Wrote 961152 bytes (629887 compressed) at 0x00000000 in 55.9 seconds (effective 137.5 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
Het is tijd om de espeasy software te downloaden!
Bron: github.com: ESPEasy/releases ESPEasy_ESP82xx_mega-20210503.zip
Resultaat download:
(espeasy) fritsvleeuwen@penguin:~/espeasy$ ll total 948 drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 174 Jun 30 18:10 bin drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 66 Jun 30 19:23 espeasy -rw-r--r-- 1 fritsvleeuwen fritsvleeuwen 961152 May 3 11:59 ESP_Easy_mega_20210503_normal_ESP8266_4M1M.bin drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 0 Jun 30 18:10 include drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 18 Jun 30 18:10 lib lrwxrwxrwx 1 fritsvleeuwen fritsvleeuwen 3 Jun 30 18:10 lib64 -> lib -rw-r--r-- 1 fritsvleeuwen fritsvleeuwen 69 Jun 30 18:10 pyvenv.cfg drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 26 Jun 30 18:10 share
pypi.org: project-esptool Project description:
A command line utility to communicate with the ROM bootloader in Espressif ESP8266 & ESP32 microcontrollers.
Allows flashing firmware, reading back firmware, querying chip parameters, etc.
Voor het flashen van de ESP Easy software op een Wemos chip wordt de Esptool software gebruikt.
Opmerking: op de site domoticx.com: esptool-bootloader zag ik: Entering the Bootloader:Goed nieuws! hier uit blijkt: de Wemos werkt "automatisch" zonder extra ingrepen.
Check esptool (belangrijkste) opties:
(espeasy) fritsvleeuwen@penguin:~/espeasy$ esptool.py -h usage: esptool [-h] [--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3beta3,esp32c3,esp32c6beta}] [--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,version,get_security_info} ... esptool.py v3.1 - ESP8266 ROM Bootloader Utility (espeasy) fritsvleeuwen@penguin:~/espeasy$
Er zijn nogal wat opties nodig op de command line voor het flashen met de espeasy software!
Een paar sites met de benodigde info zijn:details Flash the ESP Easy firmware on a Wemos D1 Mini
The esptool.py command to flash the flash memory of an ESP8266 is of the following form
esptool.py --port [serial-port-of-ESP8266] write_flash -fm [mode] -fs [size] 0x00000 [nodemcu-firmware].bin
The following parameters must therefore be set:
port: /dev/ttyUSB0
baud: 115200
mode (-fm or –flash_mode): dio by default
size (-fs or –flash_size): 32m for 4MB
nodemcu-firmware: the path to the binary to flash. Here ESPEasy_Rxxx_xxxx.bin
What gives for example for a Wemos D1 Mini (4MB)
Wemos flashen met de volgende opties:
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash -fm dio -fs 32m 0x00000 ESP_Easy_mega_20210503_normal_ESP8266_4M1M.bin
Flashen:
(espeasy) fritsvleeuwen@penguin:~/espeasy$ esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash -fm dio -fs 32m 0x00000 ESP_Easy_mega_20210503_normal_ESP8266_4M1M.bin WARNING: Flash size arguments in megabits like '32m' are deprecated. Please use the equivalent size '4MB'. Megabit arguments may be removed in a future release. esptool.py v3.1 Serial port /dev/ttyUSB0 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: d8:f1:5b:14:70:7f Uploading stub... Running stub... Stub running... Configuring flash size... Flash will be erased from 0x00000000 to 0x000eafff... Flash params set to 0x0240 Compressed 961152 bytes to 629887... Wrote 961152 bytes (629887 compressed) at 0x00000000 in 56.5 seconds (effective 136.2 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... (espeasy) fritsvleeuwen@penguin:~/espeasy$
Opmerking: zie logfile: geen '32m' --> "deprecated"... maar Please use the equivalent size '4MB'
Flashen met "verbeterde" 4MB optie:
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash -fm dio -fs 4MB 0x00000 ESP_Easy_mega_20210503_normal_ESP8266_4M1M.bin
klaar, virtuele python afsluiten.
(espeasy) fritsvleeuwen@penguin:~/espeasy$ deactivate fritsvleeuwen@penguin:~/espeasy$ cd fritsvleeuwen@penguin:~$
De chip waarop de ESPEasy software wordt geïnstalleerd is de LOLIN-D1-mini, zie website: Wemos.cc LOLIN D1 mini
Opmerking: de volgende foto is een "Lolin Wemos D1 mini V3" (Versie 3)
Features
Een pluspunt Lolin / Wemos van de documentatie is, dat een PDF kan worden gedownload van het schema.
Hier uit blijkt, dat er een ME6211 spannings regelaar wordt gebruikt voor de aanpassing van de 5 Volt USB naar de 3,3 Volt voor de ESP-8266 chip.
Even met Google zoeken naar de specificaties van de ME6211 chip geeft:
datasheet.lcsc.com: High Speed LDO Regulators, High PSRR, Low noise, ME6211 Series [PDF]
The ME6211 series are highly accurate, low noise, CMOS LDO Voltage Regulators. Offering low output noise, high ripple rejection ratio, low dropout and very fast turn-on times
Uit de specificaties blijkt, dat ook (oudere) mobiele telefoon laders (zonder USB connector) met een spanning tussen 4,3 en 6,0 Volt gebruikt kunnen worden!
Uitzondering: als bijvoorbeeld ook een LCD display 5 Volt nodig heeft, is een standaard USB adapter aan te bevelen!
Nadat de Wemos is geprogrammeerd met ESPEasy, volgt de configuratie via een webbrowser.
De Wemos wordt losgekoppeld van de Asus Chromebook en aangesloten op een USB-voeding.
De Wemos maakt tijdelijk een access-point: "AP" met een SSID "ESP-Easy" en een wachtwoord "configesp".
Opmerking: het standaard setup ip-adres is http://192.168.4.1/setup
Met de laptop moet even een nieuwe WiFi verbinding gemaakt worden met dit ESP-Easy netwerk.
Voorbeeld:
Hierna kan het standaard "huis" netwerk en de bijbehorende WPA key ingesteld worden.
Opmerkingen:
De rest van de configuratie wordt ook met de browser uitgevoerd, met adres: http://ip-van-de-ESP/config
Opmerking: espeasy.readthedocs: Config NB: when asked for a login prompt, the user name is admin
Een leermomentje, wat kan er fout gaan!
Helaas stond in de Fairphone "hotspot" file nog de oude "WPA-key" voor de FRITZ!Box 7581 in plaats van de nieuwe FRITZ!Box 7590.
De verkeerde WPA-key is gesignaleerd in de FRITZ!Box, met het hardware-id "MAC-address" van de Wemos wifi interface.
Het gevolg van de verkeerde key is, dat de Wemos niet verbindt met het FRITZ!Box netwerk, maar wel bereikbaar blijft met het eigen SSID "ESP-Easy" AP.
Doordat de Wemos bereikbaar was via de standaard Acces-Point, kon wel het setup menu bekeken worden.
Er was wel een foutmelding boven in het menu: "Warning, Connected via AP"
Het lukte niet om Wemos met de FRITZ!Box te verbinden, ook niet na een nieuwe flash sessie.
De volgende stap is het wissen van de ESP-Easy software, en opnieuw flashen.
Op de site GitHub.com: esptool.py staan de volgende instructies:
Erasing flash before write
To successfully write data into flash, all 4096-byte memory sectors (the smallest erasable unit) affected by the operation have to be erased first.
Use the -e/--erase-all option to erase all flash sectors (not just write areas) before programming.
Alternatief: Erase Flash: erase_flash & erase region
To erase the entire flash chip (all data replaced with 0xFF bytes): esptool.py erase_flash
Wissen chip:
(espeasy) fritsvleeuwen@penguin:~/espeasy$ esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash esptool.py v3.1 Serial port /dev/ttyUSB0 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: d8:f1:5b:14:70:7f Uploading stub... Running stub... Stub running... Erasing flash (this may take a while)... Chip erase completed successfully in 7.1s Hard resetting via RTS pin...
Opnieuw flashen met "verbeterde" 4MB optie:
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash -fm dio -fs 4MB 0x00000 ESP_Easy_mega_20210503_normal_ESP8266_4M1M.bin