Mündəricat:

Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin: 7 addım
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin: 7 addım

Video: Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin: 7 addım

Video: Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin: 7 addım
Video: ESP8266 ESP01 WIFI-UART | LDmicro-Roboremo Proqramlaşdırma 2024, Iyul
Anonim
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin
Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin

İstifadə etdiyim ESP-01 modulu, köhnə AI Thinker firmware ilə gəldi, bu da bir çox faydalı AT əmrləri dəstəklənmədiyindən imkanlarını məhdudlaşdırır.

Hata düzəltmək üçün firmware proqramınızı təkmilləşdirmək ümumiyyətlə yaxşı bir fikirdir və ESP modulundan lazım olan funksiyalardan asılı olaraq daha tam dəstəklənən AT əmrləri dəsti tələb oluna bilər. Bu təlimat, məsələn, bəzi səhv AT əmrləri ilə ESP firmware -ni pozarsanız, orijinal Espressif firmware -in necə bərpa olunacağını və ya necə yandırılacağını izah edir. Varsayılan baud dərəcəsini 115200 -dən 9600 -ə dəyişmək istədiyim zaman belə oldu. Aşağıdakı əmri istifadə etdim (sürətli bir Google axtarışına əsasən):

AT+IPR = 9600

Bu, ESP-01 modulunu kərpicləndirdi. Artıq heç bir AT əmri işləmədi, bu da məni daha çox araşdırma aparmağa sövq etdi və bir çox saatdan sonra nəhayət ESP-01-i bərpa etmək və ən son uyğun firmware qurmaq üçün bir yol tapdım. Beləliklə, bütün prosesi paylaşmağa dəyər olduğuna qərar verdim.

Diqqət: Təcrübəmə əsaslanaraq, ötürmə sürətinizi dəyişdirmək üçün AT+IPR əmrindən istifadə etməməyi çox tövsiyə edərdim, çünki çox güman ki, proqram təminatınızı yenidən flaş etməyinizi tələb edəcək. Bununla birlikdə, ESP-01 modulunun fərqli flaş ölçüsü və fabrik firmware versiyası ilə bir çox fərqli variantları var, buna görə təcrübəniz dəyişə bilər.

ESP-01 modulu 5 V uyğun deyil və onu işə salmaq üçün 3.3 V tələb edir, eyni zamanda məntiq səviyyəsində düzgün işləməlidir. Kompüterlə ünsiyyət qurmaq üçün modul əlavə olaraq USB -dən serial çeviriciyə ehtiyac duyur. Beləliklə, bir gərginlik çeviricisi və USB -dən seriya adapteri istifadə etmək əvəzinə daha sadə bir həll seçməyə qərar verdim. Artıq bir Arduino UNO-ya sahib olduğum üçün, sonuncunu ESP-01 modulunu gücləndirmək və ESP-01 ilə kompüter arasında ünsiyyət qurmaq üçün istifadə etdim.

Təchizat

  1. ESP-01 modulu
  2. Arduino UNO (USB kabel ilə)
  3. Jumper DuPont telləri
  4. Çörək lövhəsi

Addım 1: Tel Bağlantıları

Tel Bağlantıları
Tel Bağlantıları
Tel Bağlantıları
Tel Bağlantıları
Tel Bağlantıları
Tel Bağlantıları

Arduino UNO və ESP-01 modulu ilə tel əlaqələri tullanan kabellər və çörək taxtası ilə asanlıqla edilə bilər. Arduino inkişaf lövhəsi ilə ESP modulu arasındakı əlaqələr cədvəldə təsvir edilmişdir. Bu vəziyyətdə RX və TX əlaqələri geri çevrilmir, çünki əlaqə Arduino və ESP modulu arasında deyil, ESP ilə kompüter arasında baş verir. Beləliklə, bu vəziyyətdə, Arduino UNO lövhəsi, bort USB-dən seriya çeviricisinə keçməklə serial körpü kimi istifadə olunur.

Arduino lövhəsi ilə ESP modulu arasındakı RX sancaqlar bağlantısı bir gərginlik bölücü vasitəsi ilə edilməlidir, çünki ESP-01 3.3 V məntiq səviyyəsində işləyir və Arduino UNO-dan 5 V məntiq səviyyəsi almaq ESP moduluna zərər verə bilər. Şəkildə göstərildiyi kimi yalnız 2 müqavimət istifadə edərək sadə bir 3.3 V gərginlik bölücü qura bilərsiniz. İsteğe bağlı olaraq məntiq səviyyəsi çeviricisindən istifadə edə bilərsiniz.

Diqqət: Quraşdırma üçün yalnız RX pinlərini birbaşa bağladım (məsləhət görülmür!) Və hər şey işləmişdir, amma məntiq səviyyəsi dönüşümündən imtina etmək qərarına gəlsəniz, öz riski ilə davam edin!

Ümumi bir Yer bağlantısı qurmaq üçün Arduino UNO Ground pin, ESP modulu Ground pininə bağlıdır.

Arduino UNO, ESP modulunun VCC pininə birbaşa 3.3 V güc vermək üçün istifadə olunur. 3.3 V pinini tullanan bir tel istifadə edərək çörək taxtasına bağlayın, çünki 3.3 V yalnız ESP VCC pinində deyil, ESP çipini işə salmaq üçün ESP -in CH_PD pinində də istifadə olunacaq.

Arduino UNO üzərindəki RESET pin, Arduino vasitəsi ilə yüklənmiş hər hansı bir kodu keçmək üçün Ground-a bağlıdır, beləliklə kod kompüterdən ESP-01-ə göndərilir.

Cədvəl şəkli, proqram təminatının yanıb sönməsi üçün bütün bağlantıları göstərir, lakin bu mərhələdə ESP -nin Sıfırlama və GPIO_0 sancaqlarını bağlamayın, çünki biz yalnız növbəti addımda firmware məlumatlarını oxuyacağıq.

Addım 2: Firmware versiyasını yoxlayın

Firmware versiyasını yoxlayın
Firmware versiyasını yoxlayın

ESP-01 firmware versiyasını tapmaq üçün Arduino IDE Serial Monitor-a yazın:

AT+GMR

Qeyd: Bütün AT əmrləri boşluq olmadan böyük hərflə yazılmalıdır.

ESP-01 üçün seriya çıxışı budur (ESP modulunuz, xüsusi model və buraxılış tarixindən asılı olaraq eyni məlumatları göstərə bilməz):

AT+GMR

AT versiyası: 0.25.0.0 (5 İyun 2015 16:27:16) SDK versiyası: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 iyun 2015 23:23:50 OK

İndi ən son rəsmi Espressif ESP8266EX firmware -ə yüksəltmək üçün veb saytının qaynaqlar bölməsinə keçin:

Qeyd: Mövcud proqram təminatının siyahısı ESP-01 modelinizlə uyğun gələ bilməz. Daha çox məlumat üçün bu təlimatın sonundakı Sorun Giderme bölməsinə baxın.

Addım 3: Quraşdırmanın Hazırlanması: Firmware Yanıp sönməzdən əvvəl

Quraşdırmanın Hazırlanması: Firmware Yanıp sönməzdən əvvəl
Quraşdırmanın Hazırlanması: Firmware Yanıp sönməzdən əvvəl

İndi Arduino UNO-nu ESP-01 firmware flashing proseduru üçün hazırlayacağıq.

Arduino RESET telinin Ground -dan ayrıldığından əmin olun. Ayrıca, Arduino UNO-dan gələn TX və RX tellərinin ESP-01 modulundan ayrılması lazımdır.

Arduino IDE -ni açın və yuxarı menyudan gedin Fayl> Nümunələr> 01. Basics> BareMinimum. Eskizi Arduino UNO -ya yükləyin. Bu boş eskiz, ESP modulu ilə heç bir ünsiyyət müdaxiləsinin baş verməməsini təmin edəcək.

UNO və ESP-01 arasındakı RX və TX kabellərini yenidən bağlayın. Ayrıca, UNO -nun RESET pinini Ground -a qoşun.

CH_PD və ya CH_EN pimi 'Chip Power-Down' və ya 'Chip Enable' deməkdir və ESP çipini işə salmaq üçün YÜKSƏ çəkilməli və ya 3.3 V-a qoşulmalıdır.

Aşağıdakı ESP pinləri üçün iki əlavə keçid kabeli lazımdır: GPIO_0 və RESET.

GPIO_2 istifadə edilmir və ayrılır.

Kodun yüklənə bilməsi üçün ESP-01 proqramlaşdırma rejimində qurulmalıdır. Ancaq ESP-01-də buna nail olmaq üçün lazım olan əlavə qurğular yoxdur, buna görə hamısının ayrıca bağlanması lazımdır. Şəxsi istifadə üçün açarları istifadə etməkdən narahat olmadım, əksinə ESP-01 modulunun GPIO_0 və RESET pinlərinə qoşulan iki kişi-qadın tullanan kabelini istifadə etdim və Arduino UNO-nun Ground-dan çörək taxtasının ümumi Ground pinlərinə bağladım.

Yanıp sönmə proseduruna başlamazdan əvvəl, proqramlaşdırma rejimini aktivləşdirmək üçün GPIO_0 bütün yanıp sönmə proseduru üçün Ground -a qoşulur.

RESET pimi bir saniyə Ground -a bağlanır və sonra çıxarılır. Bu, yeni proqram təminatının yüklənməsinə imkan verir.

Addım 4: Flashing Tool və Firmware yükləyin

Flashing Tool və Firmware yükləyin
Flashing Tool və Firmware yükləyin

İstifadə olunan firmware, ESP8266 çipinin orijinal istehsalçısı olan Espressif -dəndir.

Rəsmi alətlərə və AT firmware fayllarına daxil olmaq üçün https://www.espressif.com/en/products/hardware/esp8266ex/resources səhifəsinə keçin.

'Alətlər' sekmesinin altında, Flash Yükləmə Alətlərini (ESP8266 və ESP32) yükləyin, hal hazırda sonuncusu V3.6.8 -dir.

'AT' sekmesinde, ESP-01 modelim üçün ESP8266 AT Bin V1.6.2 olan ən son uyğun AT firmware yükləyin. Flaş yaddaş ölçüsü fərqli ola biləcəyi üçün ESP-01 modelindən asılıdır. Yandırma proseduruna başlamaq üçün BAŞLAT düyməsini tıkladıqdan sonra Flash Yükləmə Alətləri proqramının DETECTED INFO bölməsində bu barədə daha çox məlumat tapa bilərsiniz. Beləliklə, flash ölçüsündən və hansı firmware fayllarını seçəcəyinizdən əmin deyilsinizsə, ESP modulunuz haqqında düzgün məlumat əldə etmək üçün proqramı işə salın.

Yanıp söndükdən sonra, ESP-01-ni sınamaq və işləmək üçün AT əmrlərindən istifadə edə bilərsiniz. Rəsmi ESP8266 AT təlimat dəstini yükləyin:

Addım 5: yanıb sönmə proseduru

Yanıp sönmə proseduru
Yanıp sönmə proseduru
Yanıp sönmə proseduru
Yanıp sönmə proseduru
Yanıp sönmə proseduru
Yanıp sönmə proseduru
Yanıp sönmə proseduru
Yanıp sönmə proseduru

Flash Yükləmə Alətləri zip faylını çıxarın və exe faylını açın. Windows istifadə edirsinizsə, administrator olaraq işlədiyinizə əmin olun. Əvvəlcə bir DOS pəncərəsi açılacaq, sonra bir pop-up pəncərə açılacaqdır. ESP8266 Yükləmə Alətini seçin. Bu, bir neçə konfiqurasiya variantı olan bir pəncərə açacaq.

Bu mərhələdə, seçilmiş firmware fayllarının hər birinin yanındakı hex kod qutularına hansı seçimlərin seçiləcəyini və nəyin yazılacağını görmək üçün ekran görüntüsünə baxın.

Qeyd: Flaş proseduru ardıcıl olaraq edildiyindən firmware fayllarını eyni qaydada seçin. Boş.bin faylının AT təlimat dəstinin ekran görüntüsündə göstərildiyi kimi üç dəfə seçilməsi lazımdır.

Düzgün onaltılık kodları və ya ünvanları tapmaq üçün rəsmi AT təlimat dəsti sənədini yoxlayın. ESP modulumu yandırmaq üçün istifadə etdiyim masanın ekran görüntüsünü əlavə etdim.

Sonra, yalnız BAŞLAT düyməsini basın və sehrin necə baş verdiyini izləyin. Düymə mətnində SYNC göstəriləcək və DETECTED INFO bölməsi ESP modulunuzun xüsusiyyətlərini göstərəcək. Sonra, mətn YÜKLƏYİŞ göstərəcək və firmware faylları ESP flash yaddaşına yükləndikcə tərəqqi çubuğu aktivləşəcək. Firmware yanıb sönmə proseduru tamamlandıqdan sonra görəcəksiniz: FINISH.

Flash Yükləmə Alətləri proqramını bağlayın. Bu, Arduino IDE Serial Monitor -un işə keçməsinə icazə vermək üçün seriyalı portu boşaltmaq üçün lazımdır.

ESP GPIO_0 pinini Toprak bağlantısından ayırın. Bu proqramlaşdırma rejimini deaktiv edəcək.

RESET -i 1 saniyə Ground -a qoşun və sonra ayırın. Bu modulu sıfırlayacaq.

Arduino IDE -ni açın. Üst menyudan Alətlər> Liman> doğru COM portunu seçin. Serial Monitoru açın və "Həm NL, həm də CR" seçin və standart olaraq 115200 olan baud sürətini seçin.

Növ:

AT

Yanıp sönmə proseduru düzgün keçərsə, cavab belə olacaq:

tamam

Yeni firmware proqramınızı yoxlamaq üçün yazın:

AT+GMR

ESP-01 üçün Serial Monitor çıxışı budur:

AT+GMR

AT versiyası: 1.6.2.0 (13 Aprel 2018 11:10:59) SDK versiyası: 2.2.1 (6ab97e9) tərtib vaxtı: 7 İyun 2018 19:34:26 Bin versiyası (Wroom 02): 1.6.2 OK

Addım 6: Baud dərəcəsini daimi olaraq dəyişdirin

Baud dərəcəsini daimi olaraq dəyişdirin
Baud dərəcəsini daimi olaraq dəyişdirin

Bu hissə isteğe bağlıdır. Varsayılan baud dərəcəsi 115200 -dir, ancaq başqa bir ötürmə sürətinə dəyişdirmək istəyirsinizsə, Arduino Serial Monitor -a aşağıdakı əmri yaza bilərsiniz.

Məsələn, 9600 baud sürətinə / 8 məlumat bitinə / 1 dayanma bitinə / parite bitinə / axın nəzarətinə keçmək istəmirsinizsə.

Daxil edin:

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

Cavab belə olmalıdır:

tamam

Yuxarıdakı əmr, baud sürətini 9600 olaraq dəyişir, ancaq standart baud sürətlərindən birini seçə bilərsiniz.

Addım 7: Problemlərin aradan qaldırılması

Giderme
Giderme
Giderme
Giderme

Firmware müvəffəqiyyətlə yanıb -söndükdən sonra, məsələn, Serial Monitorda hər hansı bir anomaliya varsa, 115200 standart ötürmə sürətini seçdikdən sonra: AT, lakin heç bir cavab görmürsən və ya AT+GMR yazıb başqa bir şey alırsan firmware versiyası məlumatlarından başqa bir növ məlumat, səhv proqram təminatını yandırmış ola bilərsiniz. Bu halda, Flash Yükləmə Alətləri proqramında, firmware proqramının yanıb sönmə proseduruna başlamaq üçün BAŞLAT düyməsini basdıqdan sonra, vəziyyətin yaşıl düyməsi SYNC -i oxuyur və ESP modulu məlumatlarının AÇILDIQ MƏLUMAT altında çıxarılması və istifadəyə verilməsi mərhələsidir. Bu məlumat, doğru firmware və flash fayllarını düzgün təyin etmək üçün çox vacibdir.

Aşağıdakılar ESP-01 modulum üçündür:

flaş satıcısı:

E0h: Yox A Flash DevID: 4014h QUAD; 8Mbit kristal: 26 Mhz

DETECTED INFO məlumatınız ESP-01 modelindən asılı olacaq. Ancaq bu, düzgün flaş ölçüsünü çıxarmağa imkan verəcəkdir. ESP -də 1 MB -a bərabər olan 8Mbit -dir. Beləliklə, bu, firmware fayllarından 512 KB + 512 KB seçməliyəm deməkdir. Və bu, eyni zamanda firmware 1.7.0 və ya 1.7.1 -in ESP modulum üçün düzgün işləməyəcəyi mənasını verir ki, bunu da bu firmware -in yanıb -sönməsi və sınaqları ilə təsdiq etdim. Həmçinin, rəsmi Espressif resurs saytında 1.7.0 və 1.7.1 firmware proqramının təsvirində aşağıdakı məlumatlar verilmişdir: "AT bin faylının ölçüsü ilə məhdudlaşdırılaraq yalnız" 1024+1024 flash xəritəsi "dəstəklənir. defolt. " 1024+1024, ümumi flaş ölçüsü 2048 KB və ya 2 MB olan bir ESP modulu üçündür.

Qeyd: Maraqlandığınız təqdirdə, heç bir məhdudiyyət olmadan fərqli firmware versiyaları arasında endirim edə və ya təkmilləşdirə bilərsiniz. Bir şey səhv olarsa, sadəcə fərqli parametrlərlə yenidən yanıb -sönə və ya fərqli bir firmware sınaya bilərsiniz.

Tövsiyə: