İçindekiler:

Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme: 7 Adım
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme: 7 Adım

Video: Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme: 7 Adım

Video: Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme: 7 Adım
Video: Kendin Yap Akıllı Ev Serisi Başlıyor! (Home Asistant Kurulumu) 2024, Kasım
Anonim
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme
Arduino UNO Kullanarak ESP8266 (ESP-01) Modülündeki Firmware'i Geri Yükleme veya Yükseltme

Orijinal olarak kullandığım ESP-01 modülü, birçok kullanışlı AT komutu desteklenmediğinden yeteneklerini sınırlayan eski AI Thinker bellenimi ile birlikte geldi.

Yazılımınızı hata düzeltmeleri için yükseltmek genellikle iyi bir fikirdir ve ayrıca ESP modülünden gereken işlevlere bağlı olarak, daha eksiksiz bir desteklenen AT komutları seti gerekebilir. Bu öğretici ayrıca, örneğin bazı yanlış AT komutları yoluyla ESP ürün yazılımınızı bozarsanız, orijinal Espressif ürün yazılımının nasıl geri yükleneceğini veya flaş edileceğini de açıklar. Varsayılan baud hızını 115200'den 9600'e değiştirmeye çalıştığımda olan buydu. Aşağıdaki komutu kullandım (hızlı bir Google aramasına göre):

AT+IPR=9600

Bu, ESP-01 modülünü tuğlaladı. Artık hiçbir AT komutu işe yaramadı, bu da beni daha fazla araştırma yapmaya sevk etti ve saatler sonra nihayet ESP-01'imi geri yüklemenin ve en son uyumlu ürün yazılımını yüklemenin bir yolunu buldum. Böylece, tüm süreci paylaşmaya değer olduğuna karar verdim.

Dikkat: Deneyimlerime dayanarak, baud hızınızı değiştirmek için AT+IPR komutunu kullanmamanızı şiddetle tavsiye ederim, çünkü büyük olasılıkla bellenimi yeniden flaşlamanızı gerektirecektir. Ancak, ESP-01 modülünün farklı flaş boyutuna ve fabrika donanım yazılımı sürümüne sahip birçok farklı çeşidi vardır, bu nedenle deneyiminiz değişebilir.

ESP-01 modülü 5 V uyumlu değildir ve güç sağlamak için 3,3 V'ye ihtiyaç duyar, aynı zamanda mantık düzeyinde düzgün şekilde çalışır. Bilgisayarla iletişim kurmak için modülün ayrıca bir USB'den seriye dönüştürücüye ihtiyacı vardır. Bu yüzden voltaj dönüştürücü ve USB'den seriye adaptör kullanmak yerine daha basit bir çözüm seçmeye karar verdim. Zaten bir Arduino UNO'ya sahip olduğum için, ikincisini ESP-01 modülüne güç sağlamak ve ESP-01 ile bilgisayar arasında seri köprü olarak etkin bir şekilde iletişim kurmak için kullandım.

Gereçler

  1. ESP-01 modülü
  2. Arduino UNO (USB kablosu ile)
  3. Jumper DuPont kabloları
  4. ekmek tahtası

Adım 1: Kablo 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 ve ESP-01 modülü ile kablo bağlantıları jumper kablolar ve bir breadboard kullanılarak kolaylıkla yapılabilir. Arduino geliştirme kartı ile ESP modülü arasındaki bağlantılar tabloda açıklanmıştır. İletişim Arduino ve ESP modülü arasında değil, ESP ve bilgisayar arasında gerçekleştiğinden, bu durumda RX ve TX bağlantıları ters çevrilmez. Bu durumda, Arduino UNO kartı, yerleşik USB'den seri dönüştürücüye bir seri köprü olarak kullanılır.

ESP-01 3.3 V mantık seviyesinde çalıştığından ve Arduino UNO'dan 5 V mantık seviyesi alması ESP modülüne zarar verebileceğinden, Arduino kartı ile ESP modülü arasındaki RX pin bağlantısı voltaj bölücü üzerinden yapılmalıdır. Şekilde gösterildiği gibi sadece 2 direnç kullanarak basit bir 3,3 V voltaj bölücü oluşturabilirsiniz. İsteğe bağlı olarak, bir mantık düzeyi dönüştürücü kullanabilirsiniz.

Dikkat: Kurulumum için, RX pinlerini doğrudan bağladım (tavsiye edilmez!) ve her şey işe yaradı, ancak mantık seviyesi dönüşümünden vazgeçmeye karar verirseniz, riski size ait olmak üzere devam edin!

Ortak bir Toprak bağlantısı kurmak için, Arduino UNO Toprak pini, ESP modülünün Toprak pinine bağlanır.

Arduino UNO, ESP modülünün VCC pinine doğrudan 3,3 V güç sağlamak için kullanılır. 3,3 V sadece ESP'nin VCC pini için değil, aynı zamanda ESP çipini etkinleştirmek için ESP'nin CH_PD pini için kullanılacağından, 3,3 V pinini bir atlama kablosu kullanarak devre tahtasına bağlayın.

Arduino UNO'daki RESET pimi, Arduino aracılığıyla yüklenen herhangi bir kodu atlamak için Toprak'a bağlanır, böylece kod bunun yerine bilgisayardan ESP-01'e gönderilir.

Tablo şekli, bellenim yanıp sönmesi için tüm bağlantı setini gösterir, ancak bu aşamada, yalnızca bir sonraki adımda bellenim bilgilerini okuyacağımız için ESP'nin Sıfırlama ve GPIO_0 pinlerini bağlamayın.

2. Adım: Donanım Yazılımı Sürümünü Kontrol Edin

Donanım Yazılımı Sürümünü Kontrol Edin
Donanım Yazılımı Sürümünü Kontrol Edin

ESP-01 donanım yazılımı sürümünüzü bulmak için Arduino IDE Seri Monitöründe şunu yazın:

AT+GMR

Not: Tüm AT komutları, boşluk olmadan büyük harfle yazılmalıdır.

İşte ESP-01'imin seri çıktısı (ESP modülünüz, belirli modele ve yayın tarihine bağlı olarak tam olarak aynı bilgileri göstermeyebilir):

AT+GMR

AT sürüm:0.25.0.0(5 Haziran 2015 16:27:16) SDK sürüm:1.1.1 Ai-Thinker Technology Co. Ltd. 23 Haziran 2015 23:23:50 TAMAM

Şimdi, en son resmi Espressif ESP8266EX üretici yazılımına yükseltmek için web sitesinin kaynaklar bölümüne gidin:

Not: Mevcut ürün yazılımı listesinin tümü ESP-01 modelinizle uyumlu olmayabilir. Daha fazla bilgi için bu öğreticinin sonundaki Sorun Giderme bölümüne bakın.

Adım 3: Kurulumu Hazırlama: Bellenim Yanıp Sönmeden Önce

Kurulumu Hazırlama: Bellenim Yanıp Sönmeden Önce
Kurulumu Hazırlama: Bellenim Yanıp Sönmeden Önce

Şimdi Arduino UNO'yu ESP-01 firmware flashing prosedürü için hazırlayacağız.

Arduino RESET kablosunun Toprakla bağlantısının kesildiğinden emin olun. Ayrıca Arduino UNO'dan gelen TX ve RX kablolarının ESP-01 modülünden ayrılması gerekir.

Arduino IDE'yi açın ve üst menüden Dosya > Örnekler > 01. Basics > BareMinimum'a gidin. Krokiyi Arduino UNO'ya yükleyin. Bu boş çizim, ESP modülü ile hiçbir iletişim girişiminin oluşmamasını sağlayacaktır.

UNO ve ESP-01 arasındaki RX ve TX kablolarını yeniden bağlayın. Ayrıca UNO'nun RESET pinini Ground'a bağlayın.

CH_PD veya CH_EN pini 'Chip Power-Down' veya 'Chip Enable' anlamına gelir ve ESP çipini etkinleştirmek için YÜKSEK çekilmesi veya 3,3 V'a bağlanması gerekir.

Aşağıdaki ESP pinleri için iki ek jumper kablosu gereklidir: GPIO_0 ve RESET.

GPIO_2 kullanılmaz ve bağlantısı kesilir.

Kodun yüklenebilmesi için ESP-01'in programlama modunda ayarlanması gerekir. Ancak ESP-01, bunu doğrudan gerçekleştirmek için gerekli yerleşik ek donanıma sahip değildir, bu nedenle hepsinin ayrı olarak bağlanması gerekir. Kendi kullanımım için, anahtarları kullanmakla uğraşmadım, bunun yerine ESP-01 modülünün GPIO_0 ve RESET pinlerine bağlı iki erkek-dişi jumper kablosu kullandım ve bunları Arduino UNO'nun Ground'undan breadboard'un ortak Ground pinlerine taktım.

Yanıp sönme prosedürüne başlamadan önce, programlama modunu etkinleştirmek için tüm yanıp sönme prosedürü için GPIO_0 Toprak'a bağlanır.

RESET pimi bir saniye için Toprak'a bağlanır ve ardından çıkarılır. Bu, yeni bellenimin yüklenmesine izin verir.

Adım 4: Yanıp Sönen Aracı ve Bellenimi İndirin

Yanıp Sönen Aracı ve Bellenimi İndirin
Yanıp Sönen Aracı ve Bellenimi İndirin

Kullanılan bellenim, ESP8266 yongasının orijinal üreticisi olan Espressif'ten alınmıştır.

Resmi araçlara ve AT üretici yazılımı dosyalarına erişmek için https://www.espressif.com/en/products/hardware/esp8266ex/resources adresine gidin.

'Araçlar' sekmesi altında, Flash İndirme Araçlarını (ESP8266 ve ESP32) indirin, şu anda en sonuncusu V3.6.8'dir.

'AT' sekmesi altında, ESP-01 modelim için ESP8266 AT Bin V1.6.2 olan en son uyumlu AT üretici yazılımını indirin. Farklı flash bellek boyutlarına sahip olabileceğinden ESP-01 modeline bağlıdır. Yanıp sönme prosedürüne başlamak için BAŞLAT'a tıkladıktan sonra Flash İndirme Araçları programının ALGILANAN BİLGİLER bölümünde bununla ilgili daha fazla bilgi bulacaksınız. Bu nedenle, flaş boyutundan veya hangi bellenim dosyalarının seçileceğinden emin değilseniz, ESP modülünüz hakkında doğru bilgileri almak için programı çalıştırmanız yeterlidir.

Yanıp söndükten sonra, ESP-01'i test etmek ve çalışmak için AT komutlarını kullanabilirsiniz. Resmi ESP8266 AT talimat setini indirin:

Adım 5: Yanıp Sönme Prosedürü

Yanıp Sönme Prosedürü
Yanıp Sönme Prosedürü
Yanıp Sönme Prosedürü
Yanıp Sönme Prosedürü
Yanıp Sönme Prosedürü
Yanıp Sönme Prosedürü
Yanıp Sönme Prosedürü
Yanıp Sönme Prosedürü

Flash Download Tools zip dosyasını çıkarın ve exe dosyasını açın. Windows kullanıyorsanız yönetici olarak çalıştırdığınızdan emin olun. Önce bir DOS penceresi, ardından bir açılır pencere açılacaktır. ESP8266 İndirme Aracı'nı seçin. Bu, çeşitli yapılandırılabilir seçenekler içeren bir pencere açacaktır.

Bu aşamada, tam olarak hangi seçeneklerin seçileceğini ve seçilen ürün yazılımı dosyalarının her birinin yanındaki onaltılı kod kutularına ne yazılacağını görmek için ekran görüntüsüne bakın.

Not: Flash prosedürü sırayla yapıldığından, bellenim dosyalarını aynı sırada seçin. Blank.bin dosyasının AT komut seti ekran görüntüsünde gösterildiği gibi üç kez seçilmesi gerekir.

Doğru onaltılık kodları veya adresleri bulmak için resmi AT talimat seti belgesine bakın. ESP modülümü yanıp sönmek için kullandığım tablonun ekran görüntüsünü ekledim.

Ardından, BAŞLAT düğmesine basın ve sihrin gerçekleşmesini izleyin. Düğme metni SENK'i gösterecek ve ALGILANAN BİLGİ bölümü ESP modülünüzün özelliklerini görüntüleyecektir. Ardından, metin İNDİR gösterecek ve ürün yazılımı dosyaları ESP flash belleğine yüklendikçe ilerleme çubuğu etkinleşecektir. Firmware yanıp sönme prosedürü tamamlandıktan sonra şunu göreceksiniz: BİTİR.

Flash İndirme Araçları programını kapatın. Arduino IDE Seri Monitörün devralmasına izin vermek için seri bağlantı noktasını boşaltmak için bu gereklidir.

ESP GPIO_0 pinini Toprak bağlantısından ayırın. Bu, programlama modunu devre dışı bırakacaktır.

RESET'i 1 saniye için Toprağa bağlayın ve ardından bağlantıyı kesin. Bu, modülü sıfırlayacaktır.

Arduino IDE'yi açın. Üst menüden Araçlar > Bağlantı Noktası'nı seçin > doğru COM bağlantı noktasını seçin. Seri Monitörü açın ve "Both NL & CR"yi seçin ve varsayılan olan 115200 baud hızını seçin.

Tip:

NS

Yanıp sönme prosedürü doğru gittiyse, yanıt şöyle olacaktır:

Tamam

Yeni üretici yazılımınızı doğrulamak için şunu yazın:

AT+GMR

İşte ESP-01'im için Seri Monitör çıktısı:

AT+GMR

AT sürümü:1.6.2.0(13 Nisan 2018 11:10:59) SDK sürümü:2.2.1(6ab97e9) derleme zamanı:7 Haziran 2018 19:34:26 Kutu sürümü(Wroom 02):1.6.2 TAMAM

Adım 6: Baud Hızını Kalıcı Olarak Değiştirin

Baud Hızını Kalıcı Olarak Değiştirin
Baud Hızını Kalıcı Olarak Değiştirin

Bu kısım isteğe bağlıdır. Varsayılan baud hızı 115200'dür ancak bunu başka bir baud hızına değiştirmek isterseniz, Arduino Seri Monitörüne aşağıdaki komutu yazmanız yeterlidir.

Örneğin, 9600 baud hızı / 8 veri biti / 1 durdurma biti / eşlik biti yok / akış kontrolü yok olarak değiştirmek istiyorsanız.

Yazın:

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

Yanıt şöyle olmalıdır:

Tamam

Yukarıdaki komut, baud hızını kalıcı olarak 9600 olarak değiştirir, ancak standart baud hızlarından herhangi birini seçebilirsiniz.

7. Adım: Sorun Giderme

Sorun giderme
Sorun giderme
Sorun giderme
Sorun giderme

Bellenimin başarılı bir şekilde yanıp sönmesinden sonra herhangi bir anormallik varsa, örneğin Seri Monitörde, varsayılan baud hızını 115200 seçtikten ve AT yazın, ancak herhangi bir yanıt görmüyorsanız veya AT+GMR yazıp başka bir mesaj alıyorsanız bellenim sürümü bilgisi dışında bir tür bilgi, o zaman yanlış bellenimi yüklemiş olabilirsiniz. Bu durumda, Flash İndirme Araçları programında, bellenim yanıp sönme prosedürünü başlatmak için BAŞLAT düğmesine bastıktan sonra, durum yeşil düğmesi SENK'i okur ve bu, ESP modül bilgilerinin ayıklandığı ve ALGILANAN BİLGİ altında kullanıma sunulduğu aşamadır. Bu bilgi, doğru bellenimi belirlemek ve dosyaların flash için düzeltilmesi için çok önemlidir.

ESP-01 modülüm için aşağıdakiler:

flaş satıcısı:

E0h: Yok flaş aygıtı:4014h QUAD;8Mbit kristal:26 Mhz

ALGILANAN BİLGİLERİNİZ ESP-01 modeline bağlı olacaktır. Ancak bu, doğru flaş boyutunu belirlemenize olanak tanır. ESP'mde, 1 MB'ye eşdeğer olan 8Mbit'tir. Yani bu, firmware dosyalarından 512 KB + 512 KB seçmem gerektiği anlamına geliyor. Bu ayrıca, bu bellenimi yanıp sönerek ve test ederek de onayladığım ESP modülüm için bellenim 1.7.0 veya 1.7.1'in düzgün çalışmayacağı anlamına gelir. Ayrıca, resmi Espressif kaynak web sitesinde 1.7.0 ve 1.7.1 üretici yazılımının açıklamasında aşağıdaki bilgiler listelenmiştir: "AT bin dosyasının boyutuyla sınırlıdır, yalnızca '1024+1024 flash haritası' tarafından desteklenir. varsayılan." 1024+1024, toplam flash boyutu 2048 KB veya 2 MB olan bir ESP modülü için olduğu anlamına gelir.

Not: Merak ediyorsanız, herhangi bir kısıtlama olmaksızın farklı bellenim sürümleri arasında sürüm düşürebilir veya yükseltebilirsiniz. Bir şeyler ters giderse, farklı parametrelerle tekrar yanıp sönebilir veya farklı bir ürün yazılımı deneyebilirsiniz.

Önerilen: