Talaan ng mga Nilalaman:

Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO: 7 Mga Hakbang
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO: 7 Mga Hakbang

Video: Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO: 7 Mga Hakbang

Video: Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO: 7 Mga Hakbang
Video: Introduction to NodeMCU ESP8266 WiFi Development board with HTTP Client example- Robojax 2024, Hulyo
Anonim
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO
Ibalik o I-upgrade ang Firmware sa ESP8266 (ESP-01) Modyul Gamit ang Arduino UNO

Ang module na ESP-01 na ginamit ko ng orihinal ay dumating kasama ang mas matandang AI Thinker firmware, na nililimitahan ang mga kakayahan nito dahil maraming mga kapaki-pakinabang na utos ng AT ang hindi suportado.

Karaniwan isang magandang ideya na i-upgrade ang iyong firmware para sa mga pag-aayos ng bug at depende din sa mga pagpapaandar na kinakailangan mula sa module ng ESP, maaaring kailanganin ng isang mas kumpletong hanay ng mga sinusuportahang AT utos. Ipinapaliwanag din ng tutorial na ito kung paano ibalik o i-flash ang orihinal na Espressif firmware kung nagkagulo ka sa iyong firmware ng ESP, halimbawa, sa pamamagitan ng ilang maling utos sa AT. Ito ang nangyari noong sinubukan kong baguhin ang default na rate ng baud mula 115200 hanggang 9600. Ginamit ko ang sumusunod na utos (batay sa isang mabilis na paghahanap sa Google):

SA + IPR = 9600

Ito ang brick na module ng ESP-01. Wala nang nag-utos na AT, na nag-udyok sa akin na gumawa ng mas maraming pagsasaliksik at pagkalipas ng maraming oras, nakakita ako ng isang paraan upang maibalik ang aking ESP-01 at mai-install ang pinakabagong katugmang firmware. Kaya, napagpasyahan kong sulit na ibahagi ang buong proseso.

Pag-iingat: Batay sa aking karanasan, lubos kong payuhan na huwag gamitin ang utos na AT + IPR upang baguhin ang rate ng iyong baud dahil malamang na kailanganin mong muling i-flash ang iyong firmware. Gayunpaman, maraming iba't ibang mga variant ng module na ESP-01 na may iba't ibang laki ng flash at bersyon ng firmware ng pabrika, kaya't maaaring mag-iba ang iyong karanasan.

Ang module na ESP-01 ay hindi 5 V-sang-ayon at nangangailangan ng 3.3 V upang mapatakbo ito ngunit gumana rin nang maayos sa antas ng lohika. Upang makipag-usap sa computer, ang module na karagdagan ay nangangailangan ng isang USB sa serial converter. Kaya, sa halip na gumamit ng isang converter ng boltahe at isang USB sa serial adapter, nagpasya akong pumili para sa isang mas simpleng solusyon. Dahil mayroon na akong Arduino UNO, ginamit ko ang huli upang mapagana ang module na ESP-01 at maitaguyod ang komunikasyon sa pagitan ng ESP-01 at ng computer, na mabisang pagpapatakbo bilang isang serial bridge.

Mga gamit

  1. Module ng ESP-01
  2. Arduino UNO (na may USB cable)
  3. Jumper DuPont wires
  4. Breadboard

Hakbang 1: Mga Koneksyon sa Wire

Mga Koneksyon sa Wire
Mga Koneksyon sa Wire
Mga Koneksyon sa Wire
Mga Koneksyon sa Wire
Mga Koneksyon sa Wire
Mga Koneksyon sa Wire

Ang mga koneksyon sa wire gamit ang Arduino UNO at ESP-01 module ay maaaring gawing madali gamit ang mga jumper cables at isang breadboard. Ang mga koneksyon sa pagitan ng Arduino development board at ng module ng ESP ay inilarawan sa talahanayan. Ang mga koneksyon sa RX at TX ay hindi nababaligtad sa kasong ito, dahil ang komunikasyon ay hindi nangyayari sa pagitan ng module ng Arduino at ESP ngunit sa pagitan ng ESP at ng computer. Kaya, sa kasong ito, ang Arduino UNO board ay ginagamit bilang isang serial bridge sa pamamagitan ng on-board USB nito sa serial converter.

Ang koneksyon sa RX pin sa pagitan ng Arduino board at ng module ng ESP ay dapat gawin sa pamamagitan ng isang divider ng boltahe, dahil ang ESP-01 ay nagpapatakbo sa antas ng 3.3 V na lohika at ang pagtanggap ng 5 V na antas ng lohika mula sa Arduino UNO ay maaaring makapinsala sa module ng ESP. Maaari kang bumuo ng isang simpleng 3.3 V voltage divider gamit lamang ang 2 resistors tulad ng ipinakita sa figure. Bilang pagpipilian, maaari kang gumamit ng converter ng antas ng lohika.

Pag-iingat: Para sa aking pag-set up, i-wire ko lang ang mga RX pin nang direkta (hindi maipapayo!) At lahat ay gumana, ngunit kung magpapasya kang talikuran ang conversion sa antas ng lohika, magpatuloy sa iyong sariling peligro!

Upang maitaguyod ang isang karaniwang koneksyon sa Ground, ang Arduino UNO Ground pin ay konektado sa ESP module na Ground pin.

Ang Arduino UNO ay ginagamit upang magbigay ng lakas na 3.3 V nang direkta sa VCC pin ng module ng ESP. Ikonekta ang 3.3 V pin sa breadboard gamit ang isang jumper wire, dahil ang 3.3 V ay gagamitin hindi lamang para sa VCC pin ng ESP ngunit pati na rin ang CH_PD pin ng ESP upang paganahin ang chip ng ESP.

Ang RESET pin sa Arduino UNO ay konektado sa Ground upang i-bypass ang anumang code na na-upload sa pamamagitan ng Arduino upang ang code ay sa halip ay ipadala mula sa computer sa ESP-01.

Ipinapakita ng figure ng talahanayan ang buong hanay ng mga koneksyon para sa flashing ng firmware ngunit sa yugtong ito, huwag ikonekta ang Mga Reset ng ESP at GPIO_0 na mga pin dahil babasahin lamang namin ang impormasyon ng firmware sa susunod na hakbang.

Hakbang 2: Suriin ang Bersyon ng Firmware

Suriin ang Bersyon ng Firmware
Suriin ang Bersyon ng Firmware

Upang hanapin ang iyong bersyon ng firmware ng ESP-01, sa Arduino IDE Serial Monitor, i-type:

SA + GMR

Tandaan: Ang lahat ng mga utos ng AT ay kailangang mai-type sa uppercase na walang mga puwang.

Narito ang serial output para sa aking ESP-01 (ang iyong module ng ESP ay maaaring hindi ipakita nang eksakto ang parehong impormasyon dahil nakasalalay ito sa tukoy na modelo at petsa ng paglabas):

SA + GMR

AT bersyon: 0.25.0.0 (Hun 5 2015 16:27:16) Bersyon ng SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. Hunyo 23 2015 23:23:50 OK

Ngayon, upang mag-upgrade sa pinakabagong opisyal na Espressif ESP8266EX firmware, pumunta sa seksyon ng mga mapagkukunan ng website nito:

Tandaan: Ang listahan ng mga magagamit na firmware ay maaaring hindi lahat tugma sa iyong modelo ng ESP-01. Suriin ang seksyon ng Pag-troubleshoot sa dulo ng tutorial na ito para sa karagdagang impormasyon.

Hakbang 3: Paghahanda ng Pag-setup: Bago ang Flashing ng Firmware

Paghahanda ng Pag-setup: Bago ang Flashing ng Firmware
Paghahanda ng Pag-setup: Bago ang Flashing ng Firmware

Ngayon, ihahanda namin ang Arduino UNO para sa ESP-01 firmware flashing procedure.

Tiyaking ang Arduino RESET wire ay naka-disconnect mula sa Ground. Gayundin, ang mga wires ng TX at RX mula sa Arduino UNO ay kailangang ma-disconnect mula sa module na ESP-01.

Buksan ang Arduino IDE at mula sa tuktok na menu, pumunta sa File> Mga Halimbawa> 01. Mga Pangunahing Kaalaman> BareMinimum. I-upload ang sketch sa Arduino UNO. Ang blangko na sketch na ito ang magtitiyak na walang pagkagambala sa komunikasyon na nangyayari sa module ng ESP.

Ikonekta muli ang mga RX at TX cable sa pagitan ng UNO at ESP-01. Gayundin, ikonekta ang I-reset ang pin ng UNO sa Ground.

Ang CH_PD o CH_EN pin ay nangangahulugang 'Chip Power-Down' o 'Chip Enable' at kailangan itong hilahin MATAAS o konektado sa 3.3 V upang paganahin ang chip ng ESP.

Dalawang karagdagang mga jumper cables ang kinakailangan para sa mga sumusunod na ESP pin: GPIO_0 at RESET.

Hindi ginagamit ang GPIO_2 at iniwan na naka-disconnect.

Ang ESP-01 ay kailangang itakda sa mode ng pagprograma upang ma-upload dito ang code. Ngunit ang ESP-01 ay walang kinakailangang on-board na karagdagang hardware upang makamit ito nang direkta, kaya't ang lahat ng ito ay kailangang maiugnay nang magkahiwalay. Para sa sarili kong paggamit, hindi ako nag-abala sa paggamit ng mga switch, ngunit sa halip ay gumamit lamang ng dalawang male-female jumper cables na konektado sa GPIO_0 at RESET pin ng module na ESP-01 at isinaksak ang mga ito sa karaniwang mga pin ng Ground ng breadboard mula sa Arduino UNO's Ground.

Bago simulan ang flashing procedure, ang GPIO_0 ay konektado sa Ground para sa buong flashing procedure upang paganahin ang mode ng programming.

Ang RESET pin ay konektado sa Ground para sa isang segundo at pagkatapos ay tinanggal. Pinapayagan nitong mai-upload ang bagong firmware.

Hakbang 4: I-download ang Flashing Tool at Firmware

Mag-download ng Flashing Tool at Firmware
Mag-download ng Flashing Tool at Firmware

Ang ginamit na firmware ay mula sa Espressif na siyang orihinal na tagagawa ng chip na ESP8266.

Pumunta sa: https://www.espressif.com/en/products/hardware/esp8266ex/resource upang ma-access ang mga opisyal na tool at AT firmware file.

Sa ilalim ng tab na 'Mga Tool', i-download ang Mga Tool sa Pag-download ng Flash (ESP8266 & ESP32), sa kasalukuyan ang pinakabagong isa ay V3.6.8.

Sa ilalim ng tab na 'AT', i-download ang pinakabagong katugmang AT firmware, na kung saan ay ESP8266 AT Bin V1.6.2 para sa aking modelo ng ESP-01. Nakasalalay ito sa modelo ng ESP-01 dahil maaari itong magkaroon ng iba't ibang laki ng flash memory. Makakakita ka ng karagdagang impormasyon tungkol dito sa seksyong DETECT INFO ng programa ng Flash Download Tools pagkatapos mag-click sa SIMULA upang simulan ang flashing na pamamaraan. Kaya, kung hindi ka sigurado tungkol sa laki ng flash o kung aling mga firmware file ang pipiliin, patakbuhin lamang ang programa upang makuha ang tamang impormasyon tungkol sa iyong module ng ESP.

Pagkatapos mag-flashing, maaari mong gamitin ang mga utos ng AT upang subukan at magtrabaho kasama ang ESP-01. I-download ang opisyal na hanay ng pagtuturo ng ESP8266 AT:

Hakbang 5: Flashing Procedure

Pamamaraan ng Flashing
Pamamaraan ng Flashing
Pamamaraan ng Flashing
Pamamaraan ng Flashing
Pamamaraan ng Flashing
Pamamaraan ng Flashing
Pamamaraan ng Flashing
Pamamaraan ng Flashing

I-extract ang file ng Flash Download Tools zip at buksan ang exe file. Tiyaking patakbuhin ito bilang administrator kung gumagamit ka ng Windows. Ang isang window ng DOS ay unang bubuksan, susundan ng isang pop-up window. Piliin ang Tool sa Pag-download ng ESP8266. Bubuksan nito ang isang window na may maraming mai-configure na mga pagpipilian.

Sa yugtong ito, sumangguni sa screenshot upang makita nang eksakto kung anong mga pagpipilian ang pipiliin at kung ano ang mai-type sa mga hex code box sa tabi ng bawat napiling mga file ng firmware.

Tandaan: Piliin ang mga file ng firmware sa parehong pagkakasunud-sunod dahil ang pamamaraan ng flash ay tapos na sunud-sunod. Ang file na blank.bin ay kailangang mapili ng tatlong beses tulad ng ipinakita sa screenshot ng itinakdang pagtuturo ng AT.

Upang mahanap ang tamang mga hex code o address, suriin ang opisyal na dokumento ng itinakdang tagubilin AT. Nag-attach ako ng isang screenshot ng talahanayan na ginamit ko para sa pag-flashing ng aking module ng ESP.

Pagkatapos, pindutin lamang ang Start button at panoorin ang magic na nangyari. Ipapakita ng teksto ng pindutan ang SYNC at ipapakita ng seksyong Detektadong INFO ang mga pagtutukoy ng iyong module na ESP. Pagkatapos, ipapakita ang teksto sa Pag-download at ang bar ng pag-unlad ay magpapagana bilang mga file ng firmware na nai-upload sa memorya ng flash ng ESP. Matapos ang firmware flashing procedure ay tapos na, makikita mo ang: FINISH.

Isara ang programa ng Mga Tool sa Pag-download ng Flash. Ito ay kinakailangan upang mapalaya ang serial port upang payagan ang Arduino IDE Serial Monitor na sakupin.

Idiskonekta ang pin na ESP GPIO_0 mula sa koneksyon ng Ground. Idi-disable nito ang mode ng programa.

Ikonekta ang RESET sa Ground para sa 1 segundo at pagkatapos ay idiskonekta. Ire-reset nito ang module.

Buksan ang Arduino IDE. Mula sa tuktok na menu, piliin ang Mga tool> Port> piliin ang tamang COM port. Buksan ang Serial Monitor at piliin ang "Parehong NL & CR" at piliin ang rate ng baud na 115200 na isang default.

Uri:

AT

Kung ang pamamaraan ng flashing ay nagpunta nang tama, ang tugon ay:

OK lang

Upang ma-verify ang iyong bagong firmware, i-type ang:

SA + GMR

Narito ang output ng Serial Monitor para sa aking ESP-01:

SA + GMR

Bersyon ng AT: 1.6.2.0 (Abr 13 2018 11:10:59) Bersyon ng SDK: 2.2.1 (6ab97e9) oras ng pagsulat: Hun 7 2018 19:34:26 Bersyon ng Bin (Wroom 02): 1.6.2 OK

Hakbang 6: Palitan nang Permanente ang Baud Rate

Permanenteng baguhin ang Baud Rate
Permanenteng baguhin ang Baud Rate

Opsyonal ang bahaging ito. Ang default na rate ng baud ay 115200 ngunit kung nais mong baguhin ito sa isa pang bilis ng baud, maaari mo lamang mai-type ang sumusunod na utos sa Arduino Serial Monitor.

Halimbawa, kung nais mong baguhin sa 9600 baud rate / 8 data bits / 1 stop bits / walang parity bit / walang flow control.

I-type sa:

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

Ang tugon ay dapat na:

OK lang

Ang utos sa itaas ay binago nang permanente ang rate ng baud sa 9600 ngunit maaari kang pumili ng alinman sa mga karaniwang bilis ng baud.

Hakbang 7: Pag-troubleshoot

Pag-troubleshoot
Pag-troubleshoot
Pag-troubleshoot
Pag-troubleshoot

Kung mayroong anumang mga anomalya pagkatapos ng matagumpay na pag-flashing ng firmware, halimbawa, sa Serial Monitor, pagkatapos mong piliin ang default na rate ng baud na 115200 at i-type: AT ngunit hindi mo makita ang anumang tugon o kung nai-type mo ang AT + GMR at nakatanggap ng iba pang uri ng impormasyon bukod sa impormasyon ng bersyon ng firmware, pagkatapos ay maaaring na-flash mo ang maling firmware. Sa kasong iyon, sa programa ng Flash Download Tools, pagkatapos mong pindutin ang Start button upang simulan ang firmware flashing procedure, ang status green button ay babasahin ang SYNC at iyon ang yugto kung saan ang impormasyon ng module ng ESP ay nakuha at ginawang magagamit sa ilalim ng DETected INFO. Mahalaga ang impormasyong ito upang matukoy ang tamang firmware at iwasto ang mga file sa flash.

Ang sumusunod ay para sa aking module na ESP-01:

vendor ng flash:

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

Ang iyong Detektibong INFO ay nakasalalay sa modelo ng ESP-01. Ngunit papayagan kang bawasan ang tamang laki ng flash. Sa aking ESP, ito ay 8Mbit na katumbas ng 1 MB. Kaya, nangangahulugan ito na dapat akong pumili ng 512 KB + 512 KB mula sa mga file ng firmware. At nangangahulugan din ito na ang firmware 1.7.0 o 1.7.1 ay hindi gagana nang maayos para sa aking module ng ESP, na nakumpirma ko rin sa pamamagitan ng pag-flash ng mga firmware at pagsubok na ito. Gayundin, sa paglalarawan ng 1.7.0 at 1.7.1 firmware sa opisyal na website ng mapagkukunan ng Espressif, nakalista ang sumusunod na impormasyon: "Limitado ng laki ng file ng AT bin,` 1024 + 1024 flash map` lamang ang suportado ng default. " Ang 1024 + 1024 ay nangangahulugang para ito sa isang module ng ESP na may kabuuang sukat ng flash na 2048 KB o 2 MB.

Tandaan: Kung sakaling nagtataka ka, maaari mong i-downgrade o mag-upgrade sa pagitan ng iba't ibang mga bersyon ng firmware nang walang anumang mga paghihigpit. Kung may mali man, maaari mo lamang muling mai-flash gamit ang iba't ibang mga parameter o subukan ang ibang firmware.

Inirerekumendang: