Mündəricat:
- Təchizat
- Addım 1: Tel Bağlantıları
- Addım 2: Firmware versiyasını yoxlayın
- Addım 3: Quraşdırmanın Hazırlanması: Firmware Yanıp sönməzdən əvvəl
- Addım 4: Flashing Tool və Firmware yükləyin
- Addım 5: yanıb sönmə proseduru
- Addım 6: Baud dərəcəsini daimi olaraq dəyişdirin
- Addım 7: Problemlərin aradan qaldırılması
Video: Arduino UNO istifadə edərək ESP8266 (ESP-01) Modulunda Firmware bərpa edin və ya təkmilləşdirin: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
İ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
- ESP-01 modulu
- Arduino UNO (USB kabel ilə)
- Jumper DuPont telləri
- Çörək lövhəsi
Addım 1: 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
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
İ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
İ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
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
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ı
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ə:
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
I2C / IIC LCD Ekran - Arduino ilə SPI -IIC Modulundan istifadə edərək I2C LCD Ekranına SPI LCD istifadə edin: 5 addım
I2C / IIC LCD Ekran | Arduino ilə SPI -dən IIC Modulundan istifadə edərək I2C LCD Ekranına SPI LCD -dən istifadə edin: Salam uşaqlar normal SPI LCD 1602 -yə qoşulmaq üçün çoxlu tellər olduğundan arduino ilə əlaqə qurmaq çox çətindir, ancaq bazarda bunu edə biləcək bir modul var. SPI ekranını IIC ekrana çevirin, buna görə yalnız 4 tel bağlamalısınız
OLED ilə WeMos D1 ESP-12F ESP8277 Anakart Modulunda SPI vasitəsi ilə LoRa (SX1278/XL1278-SMT) əldə etmək: 7 addım
OLED ilə WeMos D1 ESP -12F ESP8277 Anakart Modulunda SPI vasitəsi ilə LoRa (SX1278/XL1278 -SMT) əldə etmək: İşləmək mənim üçün bir həftə çəkdi - məndən əvvəl heç kimin bunu başa düşmədiyini düşünürəm - buna görə ümid edirəm ki, bu sizi xilas edəcək bir müddət! "0.96 düymlük OLED Ekranı olan WeMos D1 ESP-12F ESP8266 Anakart Modulu" adlı qəribə adlandırıldı; 11 dollarlıq inkişaf lövhəsidir
ESP8266 WiFi Modulu və Blynk Tətbiqindən istifadə edərək Arduino Uno idarə edin: 6 addım
ESP8266 WiFi Modulu və Blynk Tətbiqindən istifadə edərək Arduino Uno-ya nəzarət edin: Bu layihə, ESP8266-01 WiFi modulu və Blynk Tətbiqindən istifadə edərək Arduino sancaqlarını idarə etməyə imkan verir. Blynk Tətbiqinin istifadəsi çox asandır və IoT haqqında öyrənməyə başlamaq üçün əla bir yoldur
Arduino istifadə edərək P10 LED Ekran Modulunda Ekran İstiliyi: 3 Addım (Şəkillərlə)
Arduino istifadə edərək P10 LED Ekran Modulunda Ekran İstiliyi: Əvvəlki dərslikdə Arduino və DMD Konnektorundan istifadə edərək Dot Matrix LED Ekran P10 Modulunda mətnin necə göstəriləcəyi haqqında məlumat verilmişdir. Bu təlimatda, P10 modulunu ekran vasitəsi olaraq istifadə edərək sadə bir layihə dərsliyi verəcəyik