Arduino

Updaten van de ESP8266 (ESP-01) met Officiële AT Firmware

Laatst bijgewerkt: 15/03/2021

In dit project laat ik u zien hoe u de officiële Espressif-firmware in ESP8266 met behulp van Arduino flasht. Dit project kan ook worden gebruikt als u wilt updaten naar de nieuwste ESP8266 Firmware.

Hoewel de ESP8266 (ESP-01) WiFi module wordt vervaardigd door Espressif Systems, wordt de SoC door veel externe fabrikanten gebruikt om hun eigen aangepaste modules te implementeren. In mijn geval heb ik de ESP8266 ESP-01 module van AI Thinker.

Dit leidt tot veel vragen, zoals of de firmware origineel is of niet, is de firmware up to date of niet en vele andere.

Dus, in dit project, zullen we de officiële Espressif Systems firmware voor de ESP8266 (ESP-01) Module flashen met behulp van de officiële ESP8266 Flasher Tool geleverd door Espressif Systems, dat is de ESP8266 Flash download tool en een Arduino UNO als de USB naar Seriële Interface.

Hardware Setup for ESP8266 (ESP-01) Firmware Update

De ESP8266 (ESP-01) Firmware kan om twee redenen worden geïnstalleerd: Als u de ESP8266 (ESP-01) Firmware naar de nieuwste versie wilt bijwerken of de nieuwe firmware volledig wilt installeren (voor het geval dat deze door een willekeurig programma werd overschreven). Laten we dus maar beginnen.

Voordat u doorgaat met het bijwerken van de firmware van de ESP8266 SoC, is het belangrijk om de ESP8266 (ESP-01) WiFi module te configureren in de downloadmodus of de programmeermodus.

De verbindingen zijn als volgt.

Schakelschema voor het Flashen van de firmware naar ESP8266 (ESP-01)

De volgende afbeelding toont het schakelschema voor het inschakelen van de flashmodus van de ESP8266(ESP-01) . Om de ESP8266 SoC in de knipperende modus te zetten, moet de GPIO0 pin zijn aangesloten op GND en een tijdelijke GND puls op RST Pin.

Componenten vereist

Belangrijke aantekeningen

De huidige firmwareversie controleren

Voordat de Firmware wordt geïnstalleerd, controleren we eerst de bestaande firmware in de ESP8266 (ESP-01) module met behulp van seriële communicatie. Hiervoor moeten we de GPIO0 pin loskoppelen van GND. *BELANGRIJK*.

Na het maken van de aansluitingen volgens het bovenstaande schema (en het loskoppelen van de GPIO0 van GND), sluit u de USB kabel van Arduino aan op de computer en opent u alle seriële monitorsoftware. Ik gebruik de Arduino ’ s seriële monitor. U kunt alle software gebruiken zoals Putty, Terminal, etc.

Selecteer in Arduino IDE de juiste COM poort en open de seriële monitor. Stel de baudrate in op 115200 en selecteer de optie NL en CR op de seriële monitor. Druk hierna een seconde op de RST knop van de ESP8266 (ESP-01) en laat de knop los. De ESP8266 (ESP-01) module wordt gereset en toont “ready” na wat onduidelijke gegevens op de seriële monitor.

Om te controleren op de firmwareversie, moet u de volgende AT opdracht typen en op Verzenden drukken. Met deze opdracht wordt de firmwareversie van de ESP8266 (ESP-01) module geretourneerd. Alle AT opdrachten moeten in hoofdletters staan.

AT+GMR

Als je het opmerkt, is mijn firmware van Ai Thinker Technology, de fabrikant van mijn ESP8266 (ESP-01) module en die is behoorlijk oud. De AT versie is 0.21.0.0 en de SDK versie is 0.9.5.

Ik zal nu deze firmware vervangen door de Espressif Firmware (de fabrikant van ESP8266 SoC).

Opmerking

Zorg ervoor dat GPIO0 Pin verbonden is met GND voordat u verdergaat.

Download de laatste ESP8266 AT Firmware versie

Er zijn twee soorten SDK of Software Development Kits voor ESP8266: niet besturingssysteem SDK en RTOS SDK. De niet besturingssysteem SDK, zoals de naam al doet vermoeden, is niet gebaseerd op een besturingssysteem. Met deze SDK kunt u IOT_Demo en AT opdrachten compileren. De RTOS SDK is daarentegen gebaseerd op FreeRTOS.

Ik zal de niet besturingssysteem SDK gebruiken (nou ja, technisch gezien, de Firmware bestanden op basis van de SDK buiten het besturingssysteem). De ESP8266 Firmware bestanden hebben de vorm van binaire bestanden, dat wil zeggen .bin bestanden.

Omdat ik nu alleen de AT commandoset van de ESP8266 zal gebruiken, zal ik alleen de bin bestanden downloaden die bij de AT opdrachten horen. Om de AT Commands Firmware voor ESP8266 te downloaden, bezoekt u de officiële link hier of download direct vanaf hier link.

Er zijn andere firmwareversies voor de ESP8266 module. Probeer eerst de procedure die in dit project wordt genoemd en als dit lukt, kunt u proberen andere ESP8266 firmware te installeren. Andere firmware kan worden gedownload van de SDK sectie in de bovengenoemde link.

Downloaden van de ESP8266 Flash downloadtool

De volgende stap is om de tool te downloaden om de Firmware van ESP8266 bij te werken. Espressif Systems heeft hiervoor een kleine software tool ontwikkeld. Het wordt de ESP Flash Download Tool genoemd.

Als u de ESP8266 Firmware Flash Download Tool wilt downloaden, gaat u naar de deze link en in de Sectie Tools, download de ESP Flash Download Tools of je kunt direct downloaden van deze link.

Nu we de Firmware en de Flasher Tool voor ESP8266 hebben gedownload, gaan we verder met het installeren van de Firmware in de ESP8266 (ESP-01).

De firmware installeren in ESP8266 (ESP-01)

Om de firmware in ESP8266 (ESP-01) te flashen, opent u eerst de Flash Download Tool of de Flasher software van ESP8266. Op het moment van werken aan dit project beschik ik over de versie 3.6.2.2. Open daarom het toepassingsbestand ESPFlashDownloadTool_v3.6.2.2.

U krijgt dan verschillende opties zoals ESP8266 downloadtool, ESP8285 downloadtool, ESP32 downloadtool en ESP32D2WD downloadtool. Selecteer de ESP8266 downloadtool.

Na het openen van de ESP8266 Flash Download Tool, moet u de firmwarebestanden selecteren die we moeten installeren. U moet vier bestanden uploaden op vier verschillende adressen. In de volgende tabel vindt u de lijst met bestanden en de bijbehorende adressen.

OPMERKING: Deze lijst is voor Flash Memory Mapping voor ESP8266 modules met 1 MB Flash. Voor andere Flash groottes raadpleegt u de ESP8266 Handleiding.

File Address in Flash Memory
boot_v1.7.bin 0x00000
user1.1024.new.2.bin 0x10000
esp_init_data_default.bin 0xFC000
blank.bin 0xFE000

In de ESP8266 Downloadtool op het tabblad SPIDownload, selecteer de benodigde bestanden in de “ Download Path config” optie door op de knop (…) te klikken. Voeg ook de bijbehorende adressen toe in de daarvoor bestemde ruimte.

Nadat u de vier bestanden hebt geselecteerd en de Adressen hebt ingevuld, stelt u de kristalfrequentie in op 26 MHz (dit is meestal 26 MHz, maar als uw ESP8266 (ESP-01) kaart een ander kristal heeft, voert u die waarde in). Selecteer vervolgens de flitsgrootte. Aangezien ik een 1MB flash aan boord heb, heb ik de 8Mbit (die gelijk is aan 1MB) flash formaatoptie geselecteerd.

Selecteer ten slotte de juiste COM poort en stel de baudrate in op 115200. Zorg ervoor dat alle seriële terminals gesloten zijn.

Controleer voordat u begint met het flashen of GPIO0 is aangesloten op GND en geef een puls LOW (druk op de Reset knop) op de RST pin.

Klik nu op de START knop. Het flashen van de firmware in ESP8266 (ESP-01) zou moeten beginnen. Als u in de ESP8266 Firmware Flash Tool opmerkt, vanaf het moment dat u op START klikt, krijgt u twee MAC adressen als AP en STA en ook informatie over de module in de sectie DETECTED INFO.

Als alles goed gaat, moet de ESP8266 (ESP-01) module worden bijgewerkt met nieuwe firmware. Als er een fout is, koppelt u de USB kabel los, sluit u deze opnieuw aan en drukt u na het klikken op START op de Reset knop van de ESP8266 (ESP-01) .

U krijgt een FINISH bericht op de tool en u kunt de tool daarna sluiten. Koppel de GPIO0 los van GND en reset het apparaat. Open nogmaals de seriële monitor van Arduino en controleer op nieuwe firmware.

Opmerking

Klik op de Reset knop na het openen van de seriële monitor.

Typ AT + GMR en druk op verzenden om de firmwareversie te controleren. U krijgt een antwoord met het AT versienummer en het SDK versienummer. In mijn geval is de nieuwe AT Command Set versie 1.5.0.0 en de SDK-versie is 2.1.0.

In dit project hebt u gezien hoe de firmware in de ESP8266 (ESP-01) module moet worden bijgewerkt met behulp van de officiële Espressif ESP8266 firmware.