MicroPython Firmware’i esptool.py ile Flashlama

Bu yazımızda, esptool.py kullanarak ESP32/ESP8266 kartlarında MicroPython yazılımını nasıl flaş edileceğini gösteriyoruz. esptool.py, Windows, Mac OS X ve Linux işletim sistemlerinde sorunsuz bir şekilde çalışır. Resmi belgeler ve daha detaylı bilgi için esptool.py GitHub sayfasını ziyaret edebilirsiniz.

İpucu: ESP32/ESP8266’yı MicroPython ile flaş etmenin daha kolay bir yöntemi için, MicroPython’u uPyCraft IDE ile flaş etmeyi anlattığımız bu kılavuzu okumanızı öneririz. Ancak, yakın zamanda okuyucularımızdan uPyCraft IDE’yi kurma/kullanma konusunda sorun yaşadıklarına dair yorumlar aldık. Bu nedenle, esptool.py yazılımını kullanarak alternatif bir yöntem yayınlıyoruz.

esptool.py’yi Yükleme

esptool.py ile çalışmak için sisteminizde Python 2.7, Python 3.4 veya daha yeni bir Python kurulumuna ihtiyacınız olacak. Python 3.7.X kullanmanızı öneririz.

Python 3 kuruluyken, bir Terminal penceresi açın ve pip ile en son kararlı esptool.py sürümünü yükleyin:

pip install esptool

Not: Bazı Python kurulumlarında bu komut çalışmayabilir ve bir hata alırsınız. Bu durumda, esptool.py’yi aşağıdakilerle yüklemeyi deneyin:

pip3 install esptool
python -m pip install esptool
pip2 install esptool

Setuptools, varsayılan olarak tüm sistemlerde bulunmayan bir gereksinimdir. Aşağıdaki komutla yükleyebilirsiniz:

pip install setuptools

Kurduktan sonra, esptool.py’yi varsayılan Python yürütülebilir dizinine kurmuş olacaksınız ve onu esptool.py komutuyla çalıştırabilmelisiniz. Terminal pencerenizde aşağıdaki komutu çalıştırın:

python -m esptool

Düzgün kurulmuşsa, benzer bir mesaj göstermelidir (işletim sisteminizden bağımsız olarak):

MicroPython Firmware'i esptool.py ile Flashlama esptool

esptool.py bilgisayarınızda yüklü ise, MicroPython yazılımını ESP32 veya ESP8266 kartlarınızı kolayca flash edebilirsiniz. Bu gönderi iki bölüme ayrılmıştır, kartınıza bağlı olarak Bölüm 1 veya Bölüm 2’yi okuyun:

  • Bölüm 1 – ESP32
  • Bölüm 2 – ESP8266

Not: MicroPython yazılımını ESP32 veya ESP8266’nıza yükledikten sonra geri dönüp Arduino IDE’yi tekrar kullanabilirsiniz. Arduino IDE kullanarak kod yüklemeniz yeterlidir. Ardından, MicroPython’u tekrar kullanmak istiyorsanız, MicroPython yazılımını tekrar flaş etmeniz gerekir.

Bölüm 1 – ESP32 MicroPython Yazılımını İndirme ve Flashlama

ESP32 için MicroPython yazılımının en son sürümünü indirmek için MicroPython İndirmeleri sayfasına gidin ve ESP32 bölümüne kadar aşağı kaydırın.

.bin dosyalarını indirmek için bağlantılar içeren benzer bir web sayfası (aşağıdaki şekle bakın) görmelisiniz. En son sürümü indirin. Bu makaleyi yazarken, en son sürüm v1.17 (2021-02-02).bin’dir. Nightlty yapılarını indirmeyin; bu sürümler kararlı değildir ve yalnızca ileri düzey programcılar için önerilir.

MicroPython Firmware'i esptool.py ile Flashlama esptool

Not: Farklı bir kart kullanıyorsanız (PyBoard, WiPy veya diğer), MicroPython İndirmeleri sayfasına gidin ve kartınız için doğru bellenimi indirin.

Seri Bağlantı Noktası Adını Bulma

Her işletim sisteminde Seri bağlantı noktası adını bulmak biraz farklıdır, bu nedenle basitlik nedenleriyle ESP seri bağlantı noktası adınızı Arduino IDE aracılığıyla bulmanızı öneririz. Bu adımları takip edin:

  1. Kartınızı bilgisayarınıza bağlayın
  2. Arduino IDE’yi açın
  3. Araçlar > Bağlantı Noktası’na gidin
  4. ESP32 seri bağlantı noktası adınızı kaydedin (bizim durumumuzda COM7’dir)
  5. Arduino IDE yazılımınızı kapatın
MicroPython Firmware'i esptool.py ile Flashlama esptool

Önemli: ESP32 kartınızı bilgisayarınıza taktığınızda Arduino IDE’nizde bulunan ESP32 Portunu bulamıyorsanız, bu şu iki sorundan biri olabilir: 1. USB sürücüleri eksik veya 2. Veri kabloları olmayan bir USB kablosu kullanıyorsunuz.

  1. ESP’nizin COM portunu göremiyorsanız, bu genellikle USB sürücülerinin kurulu olmadığı anlamına gelir. Karttaki voltaj regülatörünün yanındaki çipe daha yakından bakın ve adını kontrol edin.
MicroPython Firmware'i esptool.py ile Flashlama esptool

Sürücüleri bulmak ve işletim sisteminize yüklemek için Google’a gidin ve özel çipinizi arayın.

MicroPython Firmware'i esptool.py ile Flashlama esptool

CP2102 sürücülerini Silicon Labs web sitesinden indirebilirsiniz.

MicroPython Firmware'i esptool.py ile Flashlama esptool

Kurulduktan sonra Arduino IDE’yi yeniden başlatın ve Araçlar > Port menüsünde seri portu görmelisiniz.

  1. Sürücüleri yüklediyseniz ancak aygıtınızı göremiyorsanız, veri kablolu bir USB kablosu kullanıp kullanmadığınızı iki kez kontrol edin.

Güç bankalarından gelen USB kablolarında genellikle veri kabloları bulunmaz. Bu yüzden bilgisayarınız ESP32’niz ile asla seri iletişim kurmayacaktır. Uygun bir USB kablosu kullanmak sorununuzu çözmelidir.

MicroPython .bin Dosyanızı Bulma

ESP32 .bin dosyasını indirdikten sonra İndirilenler klasörünüzde olması gerekir. Bu nedenle, Terminal pencerenizle cd komutunu kullanarak İndirilenler klasörüne gitmeniz gerekir:

cd Downloads
MicroPython Firmware'i esptool.py ile Flashlama esptool

.bin dosyasının bulunduğu yerde olduğundan emin olmak için İndirilenler klasörünüzdeki tüm dosyaları listeleyin. Windows’ta şu kodu kullanırsınız:

dir

Mac OS X veya Linux’ta sonraki komutu çalıştırın:

ls
MicroPython Firmware'i esptool.py ile Flashlama esptool

Önceki ekran görüntüsünde görebileceğiniz gibi, ESP32 .bin dosyası İndirilenler klasöründe bulunur: esp32-20190113-v1.9.4-779-g5064df207.bin.

ESP32 Flash Belleğin Silinmesi

MicroPython bellenimini yüklemeden sönmeden önce, ESP32 flash belleği silmeniz gerekir. Bu nedenle, ESP32’niz bilgisayarınıza bağlıyken, ESP32 kartınızdaki “BOOT/FLASH” düğmesini basılı tutun:

MicroPython Firmware'i esptool.py ile Flashlama esptool

“BOOT/FLASH” düğmesini basılı tutarken, ESP32 flash belleği silmek için aşağıdaki komutu çalıştırın:

python -m esptool –-chip esp32 erase_flash

“Silme” işlemi başladığında, “BOOT/FLASH” düğmesini bırakabilirsiniz. Birkaç saniye sonra ESP32 flash belleği silinecektir.

MicroPython Firmware'i esptool.py ile Flashlama esptool

Not: “Connecting…” mesajından sonra yeni noktaların belirdiğini görüyorsanız, bu ESP32’nizin flash modunda olmadığı anlamına gelir. ESP32’nizin flash moduna geçmesini ve silme işlemini başarıyla tamamlamasını sağlamak için daha önce açıklanan tüm adımları tekrarlamanız ve “BOOT/FLASH” düğmesini tekrar basılı tutmanız gerekir.

MicroPython Firmware'i esptool.py ile Flashlama esptool

esptool.py ile ESP32 MicroPython Firmware Flashlama

ESP32 flash belleğiniz silindiğinde, sonunda MicroPython bellenimini flash edebilirsiniz. Seri bağlantı noktası adınıza (bizim durumumuzda COM7) ve ESP32 .bin dosya konumuna ihtiyacınız var. Sonraki komutu ayrıntılarınızla değiştirin:

python -m esptool --chip esp32 --port SERİ PORTUNUZ write_flash -z 0x1000 ESP32 BİN ADINIZ.bin

Bizim durumumuzda, komut şöyle görünür:

python -m esptool --chip esp32 --port COM7 write_flash -z 0x1000 esp32-20190113-v1.9.4-779-g5064df207.bin

Flaş komutunu çalıştırmadan önce “BOOT/FLASH” düğmesini basılı tutun. Birkaç saniye sonra görmeniz gereken şudur:

MicroPython Firmware'i esptool.py ile Flashlama esptool

ESP32’niz MicroPython bellenimi ile başarıyla güncellendi!

Not: Bellenimi flaş etmeye çalışırken bir hata alırsanız, komutu tekrar çalıştırın ve ESP32 “BOOT/FLASH” düğmesini basılı tuttuğunuzdan emin olun.

MicroPython Firmware'i esptool.py ile Flashlama esptool

Bölüm 2 – ESP 8266 MicroPython Yazılımını İndirme ve Flashlama

ESP8266 için MicroPython yazılımının en son sürümünü indirmek için MicroPython İndirmeleri sayfasına gidin ve ESP8266 bölümüne kadar aşağı kaydırın.

.bin dosyalarını indirmek için bağlantılar içeren benzer bir web sayfası (aşağıdaki şekle bakın) görmelisiniz. En son sürümü indirin. Bu makaleyi yazarken, en son sürüm v1.17 (2021-02-02).bin’dir. Nightlty yapılarını indirmeyin; bu sürümler kararlı değildir ve yalnızca ileri düzey programcılar için önerilir.

MicroPython Firmware'i esptool.py ile Flashlama esptool

Seri Bağlantı Noktası Adını Bulma

Her işletim sisteminde Seri bağlantı noktası adını bulmak biraz farklıdır, bu nedenle basitlik nedenleriyle ESP seri bağlantı noktası adınızı Arduino IDE aracılığıyla bulmanızı öneririz. Bu adımları takip edin:

  1. Kartınızı bilgisayarınıza bağlayın
  2. Arduino IDE’yi açın
  3. Araçlar > Bağlantı Noktası’na gidin
  4. ESP8266 seri bağlantı noktası adınızı kaydedin (bizim durumumuzda COM4’dir)
  5. Arduino IDE yazılımınızı kapatın
MicroPython Firmware'i esptool.py ile Flashlama esptool

Önemli: ESP8266 kartınızı bilgisayarınıza taktığınızda Arduino IDE’nizde bulunan ESP8266 Portunu bulamıyorsanız, bu şu iki sorundan biri olabilir: 1. USB sürücüleri eksik veya 2. Veri kabloları olmayan bir USB kablosu kullanıyorsunuz.

  1. ESP’nizin COM portunu göremiyorsanız, bu genellikle USB sürücülerinin kurulu olmadığı anlamına gelir. Gemideki voltaj regülatörünün yanındaki çipe daha yakından bakın ve adını kontrol edin.
MicroPython Firmware'i esptool.py ile Flashlama esptool

Sürücüleri bulmak ve işletim sisteminize yüklemek için Google’a gidin ve özel çipinizi arayın.

MicroPython Firmware'i esptool.py ile Flashlama esptool

CP2102 sürücülerini Silicon Labs web sitesinden indirebilirsiniz.

MicroPython Firmware'i esptool.py ile Flashlama esptool

Kurulduktan sonra Arduino IDE’yi yeniden başlatın ve Araçlar > Port menüsünde seri portu görmelisiniz.

  1. Sürücüleri yüklediyseniz ancak aygıtınızı göremiyorsanız, veri kablolu bir USB kablosu kullanıp kullanmadığınızı iki kez kontrol edin.

Güç bankalarından gelen USB kablolarında genellikle veri kabloları bulunmaz. Bu yüzden bilgisayarınız ESP8266’nız ile asla seri iletişim kurmayacaktır. Uygun bir USB kablosu kullanmak sorununuzu çözmelidir.

MicroPython .bin Dosyanızı Bulma

ESP8266 .bin dosyasını indirdikten sonra İndirilenler klasörünüzde olması gerekir. Bu nedenle, Terminal pencerenizle cd komutunu kullanarak İndirilenler klasörüne gitmeniz gerekir:

cd Downloads
MicroPython Firmware'i esptool.py ile Flashlama esptool

.bin dosyasının bulunduğu yerde olduğundan emin olmak için İndirilenler klasörünüzdeki tüm dosyaları listeleyin. Windows’ta şu kodu kullanırsınız:

dir

Mac OS X veya Linux’ta sonraki komutu çalıştırın:

ls
MicroPython Firmware'i esptool.py ile Flashlama esptool

Önceki ekran görüntüsünde görebileceğiniz gibi, ESP8266 .bin dosyası İndirilenler klasöründe bulunur: esp8266-20180511-v1.9.4.bin.

ESP8266 Flash Belleğin Silinmesi

MicroPython bellenimini yüklemeden sönmeden önce, ESP8266 flash belleği silmeniz gerekir. Bu nedenle, ESP8266’nız bilgisayarınıza bağlıyken, ESP8266 kartınızdaki “BOOT/FLASH” düğmesini basılı tutun:

MicroPython Firmware'i esptool.py ile Flashlama esptool

“BOOT/FLASH” düğmesini basılı tutarken, ESP32 flash belleği silmek için aşağıdaki komutu çalıştırın:

python -m esptool –-chip esp8266 erase_flash

“Silme” işlemi başladığında, “BOOT/FLASH” düğmesini bırakabilirsiniz. Birkaç saniye sonra ESP32 flash belleği silinecektir.

MicroPython Firmware'i esptool.py ile Flashlama esptool

Not: “Connecting…” mesajından sonra yeni noktaların belirdiğini görüyorsanız, bu ESP8266’nızın flash modunda olmadığı anlamına gelir. ESP8266’nızın flash moduna geçmesini ve silme işlemini başarıyla tamamlamasını sağlamak için daha önce açıklanan tüm adımları tekrarlamanız ve “BOOT/FLASH” düğmesini tekrar basılı tutmanız gerekir.

esptool.py ile ESP32 MicroPython Firmware Flashlama

ESP8266 flash belleğiniz silindiğinde, sonunda MicroPython bellenimini flash edebilirsiniz. Seri bağlantı noktası adınıza (bizim durumumuzda COM4) ve ESP8266 .bin dosya konumuna ihtiyacınız var. Sonraki komutu ayrıntılarınızla değiştirin:

python -m esptool --chip esp8266 --port SERİ PORTUNUZ write_flash --flash_mode dio --flash_size detect 0x0 ESP8266 BİN DOSYANIZ.biz

Bizim durumumuzda, komut şöyle görünür:

python -m esptool --chip esp8266 --port COM4 write_flash --flash_mode dio --flash_size detect 0x0 esp8266-20180511-v1.9.4.bin

Flaş komutunu çalıştırmadan önce “BOOT/FLASH” düğmesini basılı tutun. Birkaç saniye sonra görmeniz gereken şudur:

MicroPython Firmware'i esptool.py ile Flashlama esptool

ESP8266’nız MicroPython bellenimi ile başarıyla güncellendi!

Not: Bellenimi flaş etmeye çalışırken bir hata alırsanız, komutu tekrar çalıştırın ve ESP8266 “BOOT/FLASH” düğmesini basılı tuttuğunuzdan emin olun.