İçindekiler:

Bir ESP8266 12X Modülünü Programlamanın 3 Basit Yolu: 5 Adım (Resimlerle)
Bir ESP8266 12X Modülünü Programlamanın 3 Basit Yolu: 5 Adım (Resimlerle)

Video: Bir ESP8266 12X Modülünü Programlamanın 3 Basit Yolu: 5 Adım (Resimlerle)

Video: Bir ESP8266 12X Modülünü Programlamanın 3 Basit Yolu: 5 Adım (Resimlerle)
Video: Endüstriyel sınıf bir PLC ile KENDİNYAP Işık Bariyer Alarm Sistemi (Controllino) 2024, Kasım
Anonim
Bir ESP8266 12X Modülünü Programlamanın 3 Basit Yolu
Bir ESP8266 12X Modülünü Programlamanın 3 Basit Yolu

ESP8266 mikro denetleyiciye aşina değilseniz, gerçekten çok şey kaçırdığınızı hissediyorum! Bunlar inanılmaz: ucuzlar, güçlüler ve hepsinden önemlisi yerleşik WiFi'ye sahipler!ESP8266, daha geleneksel Arduino kartları için yerleşik bir WiFi eklentisi olarak yola çıktı, ancak kısa bir süre sonra topluluk, bunların gücünü fark etti ve destek ekledi. Arduino IDE ile doğrudan programlama yapabilmek.

Bu günlerde projeniz için bir ESP8266 kullanmak istiyorsanız, Wemos D1 Mini* (2.50$ teslim edildi!!) veya Adafruit Feather Huzzah gibi bir geliştirme kartı kullanmanızı tavsiye ederim. Bu kartların tüm kullanılabilir pinleri kırılmış, mikro USB konektörleri ile kolayca programlanabiliyor ve dahili 3.3V regülatörü var. Peki ya özel PCB'li bir projede bir ESP8266 kullanmak isterseniz? En kolay yol bir ESP12 modülünü kullanmaktır ve bu Eğitilebilir Kitapta size bunları programlamanın birkaç basit yolunu göstereceğim.* = Affiliate Link

Adım 1: Videoyu Kontrol Edin

Kontrol etmek isterseniz, burada Eğitilebilir Kitapta yer alan tüm bilgileri içeren bir video var. Kanalımda ESP8266'larla çok çalışıyorum, bu nedenle kanalım genel olarak bu tür şeyler ilginizi çekiyorsa kontrol etmeye değer olabilir!

Adım 2: Ön Adım: ESP8266'yı Programlamak için Kurulum

Image
Image

ESP8266 veya Arduino'yu daha önce hiç kullanmadıysanız, biraz yazılım kurulumuna ihtiyacımız olacak. Bunun için özel bir videom var. Yalnızca 5 dakika uzunluğundadır ve kurulum için ihtiyacınız olan her şeyden geçer.

Videolar gerçekten sizin tarzınız değilse, Becky'nin harika IoT Sınıfı'nın 2. dersine göz atın, ihtiyacınız olan her şeyi de kapsar.

Bir sonraki bölüme geçmeden önce bir ESP8266'ya basit bir çizim yükleyebilmelisiniz (hem videoda hem de Becky'nin dersinde bahsedilen göz kırpma örneği gibi)

Adım 3: Yöntem 1: "Kurbağa" Pin Programcısı

Yöntem 1
Yöntem 1

Bu muhtemelen bir ESP12 modülünü programlamanın en kolay yoludur. Temel olarak modülü panoya yerleştirirsiniz ve daha sonra tam olarak daha önce bahsedilen geliştirme panolarından biri gibi davranır. Programlama yaparken açılan panolardan Wemos D1 Mini kartını seçtim. Bu yöntemin dezavantajları şunlardır:

  • Yalnızca birkaç pano yapıyorsanız programcı biraz pahalıdır.
  • Kartlar ancak PCB'nize lehimlenmeden önce bu şekilde programlanabilir.

Satın aldığım şey Aliexpress'den, ancak orijinal tasarımcının Tindie'de Fred adında bir kullanıcı olduğuna inanıyorum. O zaman satıldılar, bu yüzden Aliexpress'i seçtim, ancak her ikisine de bağlantı vereceğim.

  • Aliexpress Pop-in ESP Modülü Programcısı*
  • Fred'in Kurbağa Pimi ESP Modülü Programcısı

* = Ortaklık Bağlantısı

Adım 4: Yöntem 2: Temelde Herhangi Bir USB'den Seri Dönüştürücüye Kullanma

Yöntem 2: Temelde Herhangi Bir USB'den Seri Dönüştürücüye Kullanma
Yöntem 2: Temelde Herhangi Bir USB'den Seri Dönüştürücüye Kullanma
Yöntem 2: Temelde Herhangi Bir USB'den Seri Dönüştürücüye Kullanma
Yöntem 2: Temelde Herhangi Bir USB'den Seri Dönüştürücüye Kullanma
Yöntem 2: Temelde Herhangi Bir USB'den Seri Dönüştürücüye Kullanma
Yöntem 2: Temelde Herhangi Bir USB'den Seri Dönüştürücüye Kullanma

Bir sonraki yöntem için, ESP modülünü manuel olarak programlama moduna geçireceğiz ve ardından ESP8266'yı programlamak için temelde herhangi bir USB'den seriye dönüştürücü kullanacağız, hatta bu PL2303 olanı* 50c teslim edilen işler bile!

Normal operasyon:

Programlamaya başlamadan önce, ESP8266'nın hangi harici bileşenleri çalıştırması gerektiğine bir göz atmalıyız. Normal çalışma için bir ESP-12 modülünün aşağıdakilere ihtiyacı vardır:

  • EN, RST ve GPIO 0, 10K direnç kullanılarak yükseğe çekilmelidir
  • GPIO 15'in 10K direnç kullanılarak Toprağa çekilmesi gerekiyor
  • Yaklaşık 250mA akım kapasitesine sahip 3,3V güç kaynağı (VCC ve GND arasında bir kapak önerilir)

Yukarıdaki konfigürasyonla, açıldığında ESP8266 Normal çalışma modunda olacaktır, bu nedenle programladığınız eskizleri çalıştıracaktır. Farklı kurulumları test etmek için gerçekten yararlı olan ESP-12 modülleri* için devre kartları satın alabilirsiniz. Modüller, EN ve GPIO 15 pini için direnç kurulumuna sahiptir, bu nedenle RST ve GPIO 0 için hala çekme direnci eklemeniz gerekecektir.

Programlama modunu etkinleştirme:

Programlama moduna almak için, ESP başlatılırken GPIO 0'ın aşağı çekilmesi gerekir. Bunu yapmanın en kolay yolu, GPIO 0'a ve basıldığında toprağa bağlanan RST pinine düğmeler eklemektir. Ardından flaş modunu etkinleştirmek için

  • GPIO 0 düğmesini basılı tutun
  • RST düğmesine basın
  • Sonra her iki düğmeyi de bırakın

Yükleme işlemi veya herhangi bir şey sırasında bu diziyi belirli bir zamanda gerçekleştirmeniz gerekmez, ESP programlama modundayken bir sonraki sıfırlamaya kadar orada kalır, bu nedenle yüklemeden önce istediğiniz zaman adımları gerçekleştirmeniz yeterlidir.

USB'den seriye adaptörle programlama:

Program modunu etkinleştirmek savaşın sadece yarısıdır, şimdi modülü gerçekten programlamamız gerekiyor. Çoğu USB'den seriye bağdaştırıcılar ESP8266'ya yeterli akım sağlayamaz, bu nedenle ESP8266'ya harici bir 3.3V kaynak kullanarak güç vermeniz önerilir.

Programlayıcıyı bağlamak için aşağıdaki pinleri bağlamanız gerekir (yukarıdaki resimde de gösterilmiştir):

  • Programlayıcının TX'ini ESP8266'nın RX'ine bağlayın (Yazım hatası değil, bağlantılar tersine çevrilir)
  • Programlayıcının RX'ini ESP8266'nın TX'ine bağlayın
  • Programlayıcının Topraklamasını ESP8266'nın Topraklamasına bağlayın

Çiziminizi yüklemek için aşağıdaki adımları uygulayın:

  • Seri adaptörünüzün port numarasını seçin (Araçlar->Port)
  • ESP8266'nızda programlama modunu yukarıda açıklandığı gibi etkinleştirin
  • Yükle düğmesini tıklayın. (Başarısız olursa, kablolamanızı iki kez kontrol edin ve kartınızı tekrar programlama moduna almayı deneyin)
  • Yükleme bittiğinde sıfırla düğmesini tıklayın

Bu yöntemi kullanarak yükleme yaparken kullandığım pano ayarları şunlardır:

  • Anakart: Genel ESP8266 Modülü
  • Flaş Modu: DIO
  • Flaş Boyutu: 4M (3M Spiffs)
  • Sıfırlama Yöntemi: ck
  • Flaş Frekansı: 40MHz
  • Yükleme Hızı: 115200

Unutulmaması gereken son şey, genel bir ESP8266 modülünün LED_BUILIN tanımının pim 1'e işaret etmesidir, ancak bir ESP12 modülünün yerleşik LED'i pim 2'ye bağlıdır (Tıpkı bir FYI kadar düşük aktiftir). Bu nedenle, yanıp sönen bir çizimi test ediyorsanız, LED_BUILTIN yerine 2 sayısını kullanmanız gerekecektir.

* = Ortaklık Bağlantısı

Adım 5: Yöntem 3: Programlayıcıyı NodeMCU Kullanarak Otomatik Sıfırlama

Yöntem 3: Programlayıcıyı NodeMCU Kullanarak Otomatik Sıfırlama
Yöntem 3: Programlayıcıyı NodeMCU Kullanarak Otomatik Sıfırlama
Yöntem 3: Programlayıcıyı NodeMCU Kullanarak Otomatik Sıfırlama
Yöntem 3: Programlayıcıyı NodeMCU Kullanarak Otomatik Sıfırlama

Herhangi bir ESP geliştirme kartı kullandıysanız, temelde hepsinin düğmeleri kullanarak programlama modunu manuel olarak etkinleştirmenizi gerektirmediğini fark etmişsinizdir, peki bunu nasıl yapıyorlar?

Çoğu USB'den seriye yongalar, yükleme işleminin farklı aşamalarında sinyaller veren ek pinlere sahiptir ve bazı harici devrelerin kullanılmasıyla, GPIO 0'ın düşük değerini ve gereken sıfırlamaları tetiklemek mümkündür. RuiMoteiro, bir FTDI kartı ve ESP8266 kullanarak bu konuda bir talimata sahiptir.

Ama bence buna daha basit bir yaklaşım var ve daha da iyisi, bunu yapmak için ihtiyacınız olan her şeye sahip olmanız için iyi bir şans var! Programcı* olarak NodeMCU gibi bir ESP8266 geliştirme kartı kullanabilirsiniz.

NodeMCU kullanmanın avantajı nedir?

NodeMCU'yu programcı olarak kullanmanın başlıca avantajları şunlardır:

  • ESP8266'yı doğrudan NodeMCU'nun 3V pinlerinden çalıştırabilirsiniz.
  • Programlama modunun otomatik olarak sıfırlanması/etkinleştirilmesi ile ilgilenir
  • Teslim edilen yaklaşık 2,50 ABD doları (ve diğerlerini programlamazken normal geliştirme panosu olarak kullanılabilir!)

Aynı yaklaşımı, ESP8266'nın çip etkinleştirme pinini ortaya çıkaran herhangi bir geliştirme kartıyla kullanabilirsiniz.

O nasıl çalışır?

Bu fikri Mika Kurkela adlı bir YouTuber'dan aldım, videosunda ESP-01 modülünü programlamak için NodeMCU kullanıyordu ama aynı fikri ESP12 modülü için de kullanabiliriz.

Temel olarak EN pinini düşük zorlayarak NodeMCU'daki ESP8266'yı devre dışı bırakacağız, bu NodeMCU'daki ESP8266 modülünün önyüklenmesini önleyecektir. Daha sonra NodeMCU kartının tüm ilgili pinlerini harici ESP8266'mıza bağlayacağız.

Kablolama

Kabloyu bağlamak için önceki adımda gösterildiği gibi standart ESP8266 kablo bağlantısına ve ardından aşağıdaki bağlantıları eklemeniz gerekir (yukarıdaki resimde de gösterilmiştir):

  • NodeMCU'nun 3V'sini ESP8266'nın VCC'sine bağlayın
  • GND'yi GND'ye bağlayın
  • NodeMCU'nun TX'ini ESP8266'nın TX'ine bağlayın (Bu, önceki adımdan farklıdır)
  • NodeMCU'nun RX'ini ESP8266'nın RX'ine bağlayın
  • NodeMCU'nun D3'ünü ESP8266'nın GPIO 0'ına bağlayın (D3, ESP8266'nın GPIO 0'ıdır)
  • NodeMCU'nun RST'sini ESP8266'nın RST'sine bağlayın
  • NodeMCU'nun EN'sini GND'ye bağlayın

Eskiz yükleme

ESP8266'yı bağladıktan sonra aşağıdakileri yapmanız gerekir:

  • NodeMCU'nun port numarasını seçin (Araçlar->Port)
  • "NodeMCU 1.0 (ESP12-E Modülü)" Pano tipini seçin
  • Yükle'yi tıklayın

Ve bu kadar! Programlama modunu otomatik olarak etkinleştirecek ve yükleme bittiğinde otomatik olarak sıfırlanacak ve böylece çizimi yürütmeye başlayacaktır.

Bunu pano tasarımlarınızda kullanmak

Bu yöntemi pano tasarımlarınızda kullanmak için aşağıdaki pinleri kırmanız yeterlidir:

  • Zemin
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

Ve panolarınızı programlamak istediğinizde, yukarıdaki gibi bağlayın.

Umarım bu Eğitilebilirliği faydalı bulursunuz, herhangi bir sorunuz varsa lütfen sormaktan çekinmeyin!

* = Ortaklık Bağlantısı

Önerilen: