INHOUDSOPGAWE:

Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO: 7 stappe
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO: 7 stappe

Video: Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO: 7 stappe

Video: Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO: 7 stappe
Video: ESP8266 ESP01 WIFI Mobile Phone Control | LDmicro-Roboremo Programming 2024, Julie
Anonim
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO
Herstel of opgradeer firmware op ESP8266 (ESP-01) -module met behulp van Arduino UNO

Die ESP-01-module wat ek gebruik het, kom oorspronklik met 'n ouer AI Thinker-firmware, wat die vermoëns beperk, aangesien baie nuttige AT-opdragte nie ondersteun word nie.

Dit is oor die algemeen 'n goeie idee om u firmware op te gradeer vir foutoplossings, en afhangende van die funksies wat die ESP -module benodig, is 'n meer volledige stel ondersteunde AT -opdragte nodig. Hierdie handleiding verduidelik ook hoe u die oorspronklike Espressif -firmware kan herstel of flits as u byvoorbeeld u ESP -firmware deurmekaar maak deur byvoorbeeld verkeerde AT -opdragte. Dit is wat gebeur het toe ek probeer om die standaard baud rate van 115200 na 9600 te verander. Ek gebruik die volgende opdrag (gebaseer op 'n vinnige Google -soektog):

AT+IPR = 9600

Dit het die ESP-01-module geknak. Geen AT-opdragte het meer gewerk nie, wat my aangespoor het om meer navorsing te doen en na baie ure het ek uiteindelik 'n manier gevind om my ESP-01 te herstel en die nuutste versoenbare firmware te installeer. Ek het dus besluit dat dit die moeite werd is om die hele proses te deel.

Let op: op grond van my ervaring, sou ek sterk aanraai om nie die opdrag AT+IPR te gebruik om u baud-tempo te verander nie, aangesien dit waarskynlik vereis dat u u firmware weer moet flits. Daar is egter baie verskillende variante van die ESP-01-module met verskillende flitsgrootte en fabrieks firmware-weergawe, sodat u ervaring kan verskil.

Die ESP-01-module voldoen nie aan 5 V nie en benodig 3,3 V om dit aan te dryf, maar ook om behoorlik op logiese vlak te werk. Die module benodig ook 'n USB -na -reeksomskakelaar om met die rekenaar te kommunikeer. Dus, in plaas van om 'n spanningsomskakelaar en 'n USB -na -seriële adapter te gebruik, het ek besluit om 'n eenvoudiger oplossing te kies. Aangesien ek reeds 'n Arduino UNO het, het ek laasgenoemde gebruik om die ESP-01-module aan te dryf en kommunikasie tussen die ESP-01 en die rekenaar tot stand te bring, wat effektief as 'n seriële brug werk.

Voorrade

  1. ESP-01 module
  2. Arduino UNO (met USB -kabel)
  3. Trui van DuPont
  4. Broodbord

Stap 1: Draadverbindings

Draadverbindings
Draadverbindings
Draadverbindings
Draadverbindings
Draadverbindings
Draadverbindings

Die draadverbindings met die Arduino UNO en ESP-01-module kan maklik gemaak word met behulp van springkabels en 'n broodbord. Die verbindings tussen die Arduino -ontwikkelingsbord en die ESP -module word in die tabel beskryf. Die RX- en TX -verbindings word in hierdie geval nie omgekeer nie, aangesien die kommunikasie nie tussen die Arduino- en ESP -module plaasvind nie, maar tussen die ESP en die rekenaar. Dus, in hierdie geval, word die Arduino UNO-bord as 'n seriële brug gebruik via die ingeboude USB na reeksomskakelaar.

Die RX-penverbinding tussen die Arduino-bord en die ESP-module moet deur 'n spanningsverdeler geskied, aangesien die ESP-01 op 'n 3.3 V logiese vlak werk en die ontvangs van 5 V logika van die Arduino UNO die ESP-module kan beskadig. U kan 'n eenvoudige 3.3 V spanningsverdeler bou deur slegs 2 weerstande te gebruik, soos in die figuur getoon. U kan ook 'n logiese vlakomskakelaar gebruik.

Let op: vir my opstelling het ek net die RX -penne direk bedraad (nie raadsaam nie!)

Om 'n gemeenskaplike aardverbinding tot stand te bring, is die Arduino UNO -grondpen gekoppel aan die ESP -module Grondpen.

Die Arduino UNO word gebruik om 3.3 V krag direk aan die ESP -module se VCC -pen te verskaf. Koppel die 3.3 V -pen aan die broodbord met 'n jumperdraad, aangesien die 3.3 V nie net vir die ESP se VCC -pen nie, maar ook die ESP se CH_PD -pen gebruik sal word om die ESP -chip moontlik te maak.

Die RESET-pen op die Arduino UNO is met Ground verbind om enige kode wat via die Arduino opgelaai is, te omseil, sodat die kode in plaas daarvan vanaf die rekenaar na die ESP-01 gestuur word.

Die tabel toon die volledige stel verbindings vir die flits van firmware, maar verbind in hierdie stadium nie die ESP se Reset- en GPIO_0 -penne nie, aangesien ons eers die firmware -inligting in die volgende stap sal lees.

Stap 2: Gaan die firmware -weergawe na

Gaan die firmware -weergawe na
Gaan die firmware -weergawe na

Tik in die Arduino IDE Serial Monitor om u firmware-weergawe van die ESP-01 te vind:

AT+GMR

Let wel: Alle AT -opdragte moet in hoofletters getik wees, sonder spasies.

Hier is die seriële uitset vir my ESP-01 (u ESP-module wys moontlik nie presies dieselfde inligting as wat dit afhang van die spesifieke model en vrystellingsdatum nie):

AT+GMR

AT-weergawe: 0.25.0.0 (5 Junie 2015 16:27:16) SDK-weergawe: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 Junie 2015 23:23:50 OK

Om na die nuutste amptelike Espressif ESP8266EX -firmware op te gradeer, gaan na die hulpbronne -afdeling van sy webwerf:

Opmerking: die lys beskikbare firmware is moontlik nie almal versoenbaar met u ESP-01-model nie. Raadpleeg die afdeling Probleemoplossing aan die einde van hierdie tutoriaal vir meer inligting.

Stap 3: Voorbereiding van die opstelling: voordat die firmware flikker

Die voorbereiding van die opstelling: voordat die firmware flikker
Die voorbereiding van die opstelling: voordat die firmware flikker

Nou sal ons die Arduino UNO voorberei vir die ESP-01 firmware-flitsprosedure.

Maak seker dat die Arduino RESET -draad van die grond ontkoppel is. Die TX- en RX-drade van die Arduino UNO moet ook van die ESP-01-module ontkoppel word.

Maak Arduino IDE oop en in die boonste spyskaart, gaan na File> Voorbeelde> 01. Basies> BareMinimum. Laai die skets op na die Arduino UNO. Hierdie leë skets sal verseker dat daar geen kommunikasie -interferensie met die ESP -module voorkom nie.

Koppel die RX- en TX-kabels tussen die UNO en ESP-01 weer aan. Koppel ook die UNO se RESET -pen aan die grond.

Die CH_PD- of CH_EN-pen staan vir 'Chip Power-Down' of 'Chip Enable' en dit moet HOOG getrek word of aan 3,3 V gekoppel word om die ESP-chip moontlik te maak.

Twee ekstra springkabels is nodig vir die volgende ESP -penne: GPIO_0 en RESET.

GPIO_2 word nie gebruik nie en word ontkoppel.

Die ESP-01 moet in die programmeermodus gestel word sodat kode daarheen opgelaai kan word. Maar die ESP-01 beskik nie oor die nodige bykomende hardeware aan boord om dit direk te bereik nie, dus moet alles afsonderlik gekoppel word. Vir my eie gebruik het ek nie die moeite gedoen om skakelaars te gebruik nie, maar eerder twee manlike-vroulike springkabels wat aan die GPIO_0 en RESET-penne van die ESP-01-module gekoppel is, en dit in die broodbord se gewone grondpenne van die Arduino UNO se grond aangesluit.

Voordat die flitsprosedure begin word, is GPIO_0 gekoppel aan Ground vir die hele flitsprosedure om die programmeermodus moontlik te maak.

Die RESET -pen word vir 'n sekonde aan Ground gekoppel en dan verwyder. Hierdeur kan die nuwe firmware opgelaai word.

Stap 4: Laai Flashing Tool en Firmware af

Aflaai Flashing Tool en Firmware
Aflaai Flashing Tool en Firmware

Die gebruikte firmware is van Espressif, die oorspronklike vervaardiger van die ESP8266 -chip.

Gaan na: https://www.espressif.com/en/products/hardware/esp8266ex/resources om toegang te verkry tot die amptelike gereedskap en AT -firmwarelêers.

Laai die Flash -aflaaigereedskap (ESP8266 en ESP32) onder die 'Gereedskap' -oortjie af, die nuutste is V3.6.8.

Laai onder die 'AT'-oortjie die nuutste versoenbare AT-firmware af, dit is ESP8266 AT Bin V1.6.2 vir my ESP-01-model. Dit hang af van die ESP-01-model, aangesien dit verskillende flitsgeheue kan hê. U sal meer inligting hieroor vind in die GEDETEKTEERDE INFO -afdeling van die Flash Download Tools -program nadat u op START geklik het om met die flitsprosedure te begin. As u dus nie seker is oor die flitsgrootte of watter firmware -lêers u moet kies nie, voer die program dan uit om die korrekte inligting oor u ESP -module te kry.

Nadat u geflits het, kan u AT-opdragte gebruik om te toets en met die ESP-01 te werk. Laai die amptelike ESP8266 AT-instruksiestel af:

Stap 5: Flitsprosedure

Flitsende prosedure
Flitsende prosedure
Flitsende prosedure
Flitsende prosedure
Flitsende prosedure
Flitsende prosedure
Flitsende prosedure
Flitsende prosedure

Pak die zip -lêer van Flash Download Tools uit en maak die exe -lêer oop. Maak seker dat u dit as administrateur uitvoer as u Windows gebruik. 'N DOS-venster word eers oopgemaak, gevolg deur 'n opspringvenster. Kies ESP8266 Download Tool. Dit sal 'n venster oopmaak met verskeie instelbare opsies.

Verwys in hierdie stadium na die skermkiekie om presies te sien watter opsies u moet kies en wat u in die hex -kodeblokkies langs elk van die geselekteerde firmware -lêers moet tik.

Let wel: Kies die firmware -lêers in dieselfde volgorde, aangesien die flitsprosedure opeenvolgend uitgevoer word. Die blank.bin -lêer moet drie keer gekies word, soos aangedui op die skermkiekie van die AT -instruksiestel.

Om die korrekte heks -kodes of adresse te vind, kyk na die amptelike dokument vir AT -instruksies. Ek het 'n skermkiekie van die tafel aangeheg wat ek gebruik het om my ESP -module te flits.

Druk dan net op die START -knoppie en kyk hoe die magie gebeur. Die knoppie -teks wys SYNC en die GEDETEKTEERDE INFO -afdeling sal die spesifikasies van u ESP -module vertoon. Die teks sal dan DOWNLOAD wys en die vorderingsbalk word geaktiveer namate die firmware -lêers na die ESP -flitsgeheue opgelaai word. Nadat die firmware -flitsprosedure uitgevoer is, sien u: AFWERKING.

Sluit die program Flash Download Tools af. Dit is nodig om die seriële poort vry te laat sodat die Arduino IDE Serial Monitor kan oorneem.

Ontkoppel die ESP GPIO_0 -pen van die grondverbinding. Dit sal die programmeermodus deaktiveer.

Koppel RESET vir 1 sekonde aan die grond en ontkoppel dan. Dit sal die module herstel.

Maak Arduino IDE oop. Kies Tools> Port> Kies die korrekte COM -poort in die boonste spyskaart. Maak Serial Monitor oop en kies 'Beide NL en CR' en kies die baud -tempo van 115200, wat die standaard is.

Tipe:

BY

As die flitsprosedure korrek verloop het, is die antwoord:

OK

Om u nuwe firmware te verifieer, tik:

AT+GMR

Hier is die uitvoer van die seriële monitor vir my ESP-01:

AT+GMR

AT weergawe: 1.6.2.0 (13 April 2018 11:10:59) SDK weergawe: 2.2.1 (6ab97e9) opstel tyd: 7 Junie 2018 19:34:26 Bin weergawe (Wroom 02): 1.6.2 OK

Stap 6: Verander die baudsnelheid permanent

Verander die baud -tempo permanent
Verander die baud -tempo permanent

Hierdie deel is opsioneel. Die standaard baud -tempo is 115200, maar as u dit na 'n ander baud -snelheid wil verander, tik u eenvoudig die volgende opdrag in die Arduino Serial Monitor.

As u byvoorbeeld wil verander na 9600 baud rate / 8 databits / 1 stopbits / geen pariteitsbit / geen vloei -beheer.

Tik in:

AT+UART_DEF = 9600, 8, 1, 0, 0

Reaksie moet wees:

OK

Die opdrag hierbo verander die baud -tempo permanent na 9600, maar u kan enige van die standaard baud -snelhede kies.

Stap 7: Probleemoplossing

Probleemoplossing
Probleemoplossing
Probleemoplossing
Probleemoplossing

As daar afwykings is na die suksesvolle flits van die firmware, byvoorbeeld in die Serial Monitor, nadat u die standaard baud rate van 115200 gekies het en tik: AT, maar geen reaksie sien nie, of as u AT+GMR tik en 'n ander ontvang anders as die inligting oor die firmware -weergawe, dan het u moontlik die verkeerde firmware geflits. In die geval in die Flash Download Tools -program, nadat u op die START -knoppie gedruk het om met die firmware -flitsprosedure te begin, lees die groen knoppie SYNC, en dit is die stadium waar die ESP -module -inligting onttrek en beskikbaar word onder GEDETEKTEERDE INFO. Hierdie inligting is van kardinale belang om die regte firmware en korrekte lêers om te flits te bepaal.

Die volgende is vir my ESP-01 module:

flitsverkoper:

E0h: N/A flash devID: 4014h QUAD; 8Mbit kristal: 26 Mhz

Jou gedetecteerde inligting sal afhang van die ESP-01-model. Maar hiermee kan u die korrekte flitsgrootte aflei. In my ESP is dit 8Mbit wat gelykstaande is aan 1 MB. Dit beteken dus dat ek 512 KB + 512 KB uit die firmwarelêers moet kies. En dit beteken ook dat firmware 1.7.0 of 1.7.1 nie behoorlik sal werk vir my ESP -module nie, wat ek ook bevestig het deur hierdie firmware te flits en te toets. In die beskrywing van die 1.7.0 en 1.7.1 firmware op die amptelike Espressif -hulpbronwebwerf word die volgende inligting gelys: "Beperk deur die grootte van die AT bin -lêer, word slegs` 1024+1024 flitskaart` ondersteun deur verstek. " 1024+1024 beteken dat dit vir 'n ESP -module met 'n totale flitsgrootte van 2048 KB of 2 MB is.

Opmerking: as u wonder, kan u sonder enige beperkings tussen verskillende firmware -weergawes afgradeer of opgradeer. As iets verkeerd loop, kan u net weer met verskillende parameters flits of 'n ander firmware probeer.

Aanbeveel: