İçindekiler:

ESP32'de Hata Ayıklayıcı Nasıl Kullanılır: 11 Adım (Resimlerle)
ESP32'de Hata Ayıklayıcı Nasıl Kullanılır: 11 Adım (Resimlerle)

Video: ESP32'de Hata Ayıklayıcı Nasıl Kullanılır: 11 Adım (Resimlerle)

Video: ESP32'de Hata Ayıklayıcı Nasıl Kullanılır: 11 Adım (Resimlerle)
Video: Windows İçin Vysor Kurulumu | Kurulum Videoları | TechPro Education 2024, Kasım
Anonim
ESP32'de Hata Ayıklayıcı Nasıl Kullanılır
ESP32'de Hata Ayıklayıcı Nasıl Kullanılır

Neden böyle davrandığını görmek için kodunuzun içine bir göz atmak istediniz mi? Geleneksel olarak ESP32 projelerinde, neler olup bittiğini anlamaya çalışmak için sonsuz print deyimi eklemeniz gerekirdi, ancak daha iyi bir yol var!

Hata ayıklayıcı, kodunuzun belirli bölümlerinde neler olduğunu görmenin ve kodunuzu yeniden derlemeden farklı değişken değerleri denemenin bir yoludur, genellikle bu gömülü projelerde bizim için mevcut değildir, ancak bu kılavuzda size göstereceğim ESP32'de nasıl kullanılır.

Bu kılavuzda size donanımı kurmayı, yazılımı kurmayı ve hata ayıklayıcıyı kullanmanın basit bir örneğini göstereceğim.

Gereçler

  • ESP-Prog - Bu, hata ayıklama için gerekli olan karttır

    • Aynen ben aldım*
    • $5 Daha ucuzu ama test etmedim*
  • 12, 13, 14, 15 pinlerini ayıran bir ESP32

    • Adafruit Tüy Huzzah32
    • D1 Mini ESP32*
  • [İSTEĞE BAĞLI] Tindie'de sattığım Hata Ayıklama Kalkanı

    • Tüy Huzzah32
    • D1 Mini ESP32

* = Ortaklık Bağlantısı

Adım 1: Videoyu Kontrol Edin

Image
Image

İncelemek isterseniz bu konuyla ilgili bir videom var.

Kanalımda genellikle ESP8266 ve ESP32 tabanlı videolar çekiyorum, bu yüzden eğer ilgileniyorsanız, lütfen bir göz atın!

2. Adım: Donanım - Parçalar ve Kablolama

Donanım - Parçalar ve Kablolama
Donanım - Parçalar ve Kablolama
Donanım - Parçalar ve Kablolama
Donanım - Parçalar ve Kablolama
Donanım - Parçalar ve Kablolama
Donanım - Parçalar ve Kablolama

Hata ayıklayıcıyı kullanmak için yalnızca bir ESP-Prog'a ve hemen hemen tüm ESP32 kartlarına ihtiyacınız vardır (önceki adımda bunlara bağlantılar)

ESP-Prog:

ESP-Prog, ESP32 ve ESP8266 yongalarının yapımcıları olan espressif tarafından tasarlanmış bir karttır. Hata ayıklayıcıyı kullanmamıza izin vermek için ESP32'nin JTAG pinlerine bağlanır. ESP32 kartlarını programlamak için de kullanılabilir, ancak bunu burada ele almayacağım.

ESP32 Kartı:

12, 13, 14 ve 15 olan JTAG pinlerini kırdıktan sonra bunun için temelde herhangi bir ESP32 kartını kullanabilirsiniz. Hem Adafruit tüyü Huzzah32 hem de D1 Mini 32 kartını test ettim ve ikisi de iyi çalıştı.

Lütfen eskizinizdeki JTAG pinlerini hata ayıklayıcı ile kullanabileceğinizi unutmayın, örneğin Huzzah32 kartının dahili LED'i pin 13'te olduğundan hata ayıklama sırasında kullanamazsınız.

kablolama:

ESP-Prog'u ESP32'ye bağlamak için yukarıdaki resimde gösterildiği gibi kablolama kılavuzunu kullanmanız yeterlidir. Bazen farklı bir adlandırma şeması kullandıkları için uygun pinleri hemen göremiyorsanız, ESP32 kartınızın kablo şemasına bakın.

Hata Ayıklama Kalkanları:

Bunlar isteğe bağlıdır, ancak Tindie'de Huzzah32 ve D1 Mini 32 için ESP-Prog'u bağlamayı gerçekten basitleştiren bazı kalkanlar satıyorum, bu, doğrudan bağlantı için bir şerit kablo kullanabileceğiniz bir IDC konektörüne uygun pinleri dağıtıyor. kalkan ve ESP-Prog

3. Adım: Donanım - Sürücü Kurulumu

Donanım - Sürücü Kurulumu
Donanım - Sürücü Kurulumu
Donanım - Sürücü Kurulumu
Donanım - Sürücü Kurulumu
Donanım - Sürücü Kurulumu
Donanım - Sürücü Kurulumu

Hata ayıklama için ESP-prog'u kullanmak için buna uygun sürücüleri kurmamız gerekiyor. PlatformIO burada bunun için bazı adımlar sağlıyor, ancak bu kılavuzdaki Windows adımlarını inceleyeceğim.

  1. ESP-Prog için FTDI sürücülerini buradan indirin ve kurun, kolaylaştırmak için "kurulum yürütülebilir" sürümünü indirmek için sağa kaydırın.
  2. Zadig aracını buradan indirin ve kurun, bu, hata ayıklama için gerekli olan genel bir sürücüyü kurmamıza izin verir.
  3. ESP-Prog takılıyken, Zadig'i açın
  4. Zadig uygulamasında, "Seçenekler" altında, "Tüm Cihazları Listele" ye tıklayın.
  5. Zadig'deki açılır menü şimdi doldurulacak, "Çift RS232-HS (Arayüz 0)" seçeneğini seçin. Seçtiğiniz arayüz 0 olduğundan emin olun!
  6. Yeşil okun sağında "WinUSB" seçilmeli, ardından "Sürücüyü Değiştir"e tıklayın

Bu bittiğinde, sürücüleriniz kullanım için ayarlanmalıdır!

Not: ESP-Prog için kullandığınız USB bağlantı noktasını değiştirirseniz, 3-6 arasındaki adımları tekrarlamanız gerekebilir. Debug yaparken yukarıdaki resimdeki gibi bir hata alıyorsanız adımları tekrarlamanız gerekmektedir.

Adım 4: Yazılım: PlatformIO'yu Yükleme

Yazılım: PlatformIO'yu Yükleme
Yazılım: PlatformIO'yu Yükleme
Yazılım: PlatformIO'yu Yükleme
Yazılım: PlatformIO'yu Yükleme
Yazılım: PlatformIO'yu Yükleme
Yazılım: PlatformIO'yu Yükleme

PlatformIO, Arduino eko sistemi de dahil olmak üzere çeşitli farklı gömülü çerçevelerle geliştirmeye yönelik bir IDE'dir. Kullanımı Arduino IDE gibi bir şeye göre daha karmaşıktır, ancak çok güçlüdür ve otomatik tamamlama gibi Arduino IDE'nin çok özlediği bazı özelliklere sahiptir.

Hata ayıklayıcıyı kullanmak için PlatformIO gereklidir. PlatformIO'ya zaten aşina iseniz, birkaç adım atlamaktan çekinmeyin.

  • PlatformIO.org web sitesinde sağlanan bağlantıdan Visual Studio Code'u (VS Code) indirin ve yükleyin
  • VS Code'u açın ve uzantılar menüsünü açın, düğme yukarıdaki resimde vurgulanmıştır
  • Aramaya "platformio" yazın, seçin ve kur'a tıklayın.

Adım 5: Yazılım: PlatformIO'yu Kullanma

Yazılım: PlatformIO'yu Kullanma
Yazılım: PlatformIO'yu Kullanma
Yazılım: PlatformIO'yu Kullanma
Yazılım: PlatformIO'yu Kullanma
Yazılım: PlatformIO'yu Kullanma
Yazılım: PlatformIO'yu Kullanma

PlatformIO'yu kullanmak, Arudino IDE'yi kullanmaktan biraz farklıdır, bu yüzden bu adımda sadece bir tahta üzerinde çalışan bir örnek almanın temellerini ele alacağız.

Örnek Açma:

  1. PlatformIO araç çubuğundaki Ana Sayfa düğmesine tıklayın (Resimde gösterildiği gibi)
  2. "Proje Örnekleri" düğmesini tıklayın
  3. Espressif 32 bölümünün altındaki "Arduino-blink" örneğini seçin

Bu, örnek bir göz kırpma projesi açacaktır. Bir PlatformIO'nun düzeni, bir Arduino projesine kıyasla oldukça farklıdır, bu yüzden temelleri gözden geçirelim.

Kod nerede?

Projenizin kodu "src" klasöründe saklanacaktır, yanıp sönme örneği için bir "blink.cpp" dosyası göreceksiniz, bu dosya bir Arduino projesindeki çizim dosyanız (.ino) ile aynıdır.

Anakartımı nasıl yapılandırırım?

Projeniz için konfigürasyonlar, projenizde bir "platformio.ini" dosyası içinde tutulur. Bu aslında Arduino IDE'ye kıyasla PlatformIO ile ilgili en sevdiğim şeylerden biri, pano ayarlarının eskizlere bağlı olmaması bana hiçbir zaman mantıklı gelmedi.

Örnek.ini, birden çok farklı pano için tanımlar içerir, ancak işleri basitleştirmek için alttaki iki tanımı silelim.

COM bağlantı noktamı nereye ayarlayabilirim?

PlatformIO aslında otomatik olarak kullanılacak doğru COM bağlantı noktasını bulmaya çalışacaktır, böylece bunun için hiçbir şey ayarlamadan gerçekten kurtulabilirsiniz. Ancak, hata ayıklayıcıyı kullanırken yapacağınız birden fazla COM bağlantı noktasına sahipseniz, ihtiyacınız olanı ayarlamanın mantıklı olduğunu düşünüyorum. Sahip olduğunuz farklı cihazları ana sayfa sekmesindeki "Aygıtlar" bölümüne tıklayarak görebilir ve Bir "upload_port" yapılandırması ekleyerek "platformio.ini" içinde ESP32'nizin hangisi olduğunu ayarlayabilirsiniz.

Kodumu nasıl yüklerim?

Yükle düğmesine tıklayın (simge sağa dönük bir oktur) ve kodu derlemeli ve yüklemelidir. Şimdi kartınızda yanıp sönen bir LED olmalıdır.

Adım 6: Hata Ayıklama: Potansiyel Muz Kaplaması

Hata Ayıklama: Potansiyel Muz Kaplaması!
Hata Ayıklama: Potansiyel Muz Kaplaması!
Hata Ayıklama: Potansiyel Muz Kaplaması!
Hata Ayıklama: Potansiyel Muz Kaplaması!
Hata Ayıklama: Potansiyel Muz Kaplaması!
Hata Ayıklama: Potansiyel Muz Kaplaması!

Bunu hazırlarken dikkatimi çeken bir şey oldu ve umarım denediğinde düzelir ama buradan ayrılmanın önemli olduğunu düşündüm.

Bu kılavuzu hazırlarken, PlatformIO'nun en son sürümü 4.3.0'dır ve hata ayıklama ile ilgili bir hatası vardır. Neyse ki, sorunu çözen en son geliştirme sürümüne kolayca güncelleyebiliriz.

Ana sayfada PlatformIO çekirdeğinin sürümünü kontrol edin, eğer "4.3.0" ise aşağıdaki adımları uygulayın.

  1. PlatformIO araç çubuğunda terminal simgesine tıklayın
  2. Terminal türünde: pio upgrade --dev
  3. RestartVS kodu ve PlatfromIO güncellenmelidir

7. Adım: Hata Ayıklama: Yapılandırma

Hata ayıklama: Yapılandırma
Hata ayıklama: Yapılandırma

Hata ayıklamayı etkinleştirmek için "PlatofrmIO.ini" dosyasını düzenlememiz gerekiyor, ona sadece iki şey eklememiz gerekiyor.

debug_tool = esp-prog

Bu, kullandığımız hata ayıklama aracını ayarlar.

debug_init_break = kurulumu boz

Bu, Andress Spiess'in ESP32'de hata ayıklamayla ilgili videosundan öğrendiğimiz bir numara. Hata ayıklayıcıya uygulamamızın kurulumunda durmasını söyler.

8. Adım: Hata Ayıklama: Hata Ayıklamayı Başlatma

Hata Ayıklama: Hata Ayıklamayı Başlatma
Hata Ayıklama: Hata Ayıklamayı Başlatma
Hata Ayıklama: Hata Ayıklamayı Başlatma
Hata Ayıklama: Hata Ayıklamayı Başlatma
Hata Ayıklama: Hata Ayıklamayı Başlatma
Hata Ayıklama: Hata Ayıklamayı Başlatma
Hata Ayıklama: Hata Ayıklamayı Başlatma
Hata Ayıklama: Hata Ayıklamayı Başlatma

Başlamadan önce, hata ayıklama ile neler yapabileceğinizi göstermeyi kolaylaştıracak çizimde küçük bir değişiklik yapacağız.

  1. Yeni bir değişken oluşturun, "int delayTime = 1000;" herhangi bir yöntemin dışında, bu onu global bir değişken yapacaktır.
  2. Döngüdeki gecikme çağrılarının içindeki sayıyı bu yeni değişkenle değiştirin: delay(delayTime);

Kodu bir kez daha panoya yükleyin, ardından hata ayıklamaya başlamak için araç çubuğunda "Çalıştır"ı ve ardından "Hata Ayıklamayı Başlat"ı tıklayın.

Terminal penceresinde hareket eden şeyleri göreceksiniz, ancak bu başarılı olduğunu söylese bile, "Debug Console" a tıklarsanız hala çalıştığını göreceksiniz, bitirmesi birkaç saniye sürecektir.

Her şey beklendiği gibi gittiyse, kurulumun başlangıcında hata ayıklayıcının durduğunu göreceksiniz.

9. Adım: Hata Ayıklama: Temel Kullanım

Hata Ayıklama: Temel Kullanım
Hata Ayıklama: Temel Kullanım
Hata Ayıklama: Temel Kullanım
Hata Ayıklama: Temel Kullanım
Hata Ayıklama: Temel Kullanım
Hata Ayıklama: Temel Kullanım
Hata Ayıklama: Temel Kullanım
Hata Ayıklama: Temel Kullanım

Hata ayıklayıcıyla yapabileceklerinizin bazı temellerini ele alalım

Kesme Noktaları Oluşturma:

Kesme noktası, kodunuzda hata ayıklayıcının durmasını istediğiniz noktadır. Bir kesme noktası oluşturmak için satır numarasının soluna tıklayın. Demo olarak, döngü yöntemindeki ilk satıra kesme noktası ekleyin.

Kesme Noktası Gezinme:

Kesme noktası arasında geçiş yapmak veya bir sonraki kod satırına geçmek için ekranın üst kısmında görünecek araçları kullanabilirsiniz. Yeni oluşturduğumuz kesme noktasını döngü içinde taşımak için "devam" düğmesine basın (oynat düğmesine benziyor).

Değişken Saatler:

Değişken saatleri, hata ayıklayıcı bir kesme noktasında durdurulduğunda değişkenlerin değerini izlemenizi sağlar. Yeni bir değişken saat eklemek için + simgesine tıklayabilir, ardından değişkenin adını yazmanız yeterlidir. Demo olarak, önceki adımda eklediğimiz değişkeni "delayTime" yazın.

Değişken Görüntüleyici:

Geçerli kesme noktanızda kullanılabilen tüm değişkenleri ve değerlerini de görebilirsiniz. Bunu göstermek için, "Global" bölümüne bakarsanız "delayTime" değişkenini bulmanız gerekir.

Değişkenlerin Değerini Düzenleme:

Değişkenlerin değerlerini de düzenleyebilirsiniz ve bu, kodlarınızın davranışı üzerinde hemen etkili olacaktır. Bunu göstermek için, Değişken Görüntüleyici bölümündeki delayTime değişkenine tıklayın ve değeri "100" olarak değiştirin. Bu çalışmayı göstermek için, satır numarasının soluna tekrar tıklayarak döngü içindeki kesme noktasını devre dışı bırakın. Kesme noktası gezinme çubuğundaki devam düğmesine basın. ESP32'nizdeki LED şimdi eskisinden çok daha hızlı yanıp sönüyor olmalıdır.

Adım 10: Sorun Giderme

Sorun giderme
Sorun giderme

Testlerim sırasında, ESP-prog'a bağlıyken bazı zamanlarda ESP32'ye yükleyemediğimi ve bunun neden olduğuna dair bir model çözemediğimi öğrendim, çünkü çoğu zaman yükleme yapmadan yükleyebiliyordum. herhangi bir problem. ESP32 ve ESP-Prog'un bağlantısını kesebildiğimi, kodu ESP32'ye yükleyebildiğimi ve ardından yeniden bağlayabileceğimi öğrendim ve iyi sonuç verecekti.

Adım 11: Sonuç

Bence bu, projenizin içinde neler olup bittiğini anlamaya yardımcı olmak için araç kutusuna eklemek için gerçekten harika bir araç.

Bunu yararlı bulursanız duymak isterim!. Lütfen aşağıdaki yorumlarda bana bildirin veya bu konuyu veya sahip olduğunuz başka herhangi bir yapımcıyı tartışabileceğimiz Discord sunucumda bana ve diğer bir grup yapımcıya katılın, insanlar orada gerçekten yardımcı oluyor, bu yüzden takılmak için harika bir yer dışarı.

Ayrıca yaptıklarımı destekleyen Github Sponsorlarıma da çok teşekkür etmek istiyorum, gerçekten minnettarım. Bilmiyorsanız, Github ilk yıl için sponsorlukları eşleştiriyor, yani bir sponsorluk yaparsanız önümüzdeki birkaç ay boyunca %100 eşleştirecekler. Okuduğunuz için teşekkürler!

Önerilen: