İçindekiler:
- Adım 1: MicroPython Nedir?
- 2. Adım: Gereksinimler
- Adım 3: Neden ESP8266 Tabanlı Kart?
- 4. Adım: Bilgisayarınızı Kurma
- Adım 5: Esptool.py ile MicroPython'u Flashlama
- Adım 6: MicroPython REPL'yi Rshell ile Kullanma
- Adım 7: MicroPython Kullanarak Pinleri Kontrol Etme
- Adım 8: LED'i Söndürme
- Adım 9: Buradan Nereye?
- Adım 10: Sonuç
Video: ESP8266'da MicroPython'a Başlarken: 10 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Arduino IDE'yi C/C++ programlama dili ile birlikte kullanan yaygın yöntem yerine ESP8266 tabanlı kartları programlamak için farklı bir yol mu istiyorsunuz?
Bu eğitimde, MicroPython kullanarak bir ESP8266 kartını kimin yapılandıracağını ve kontrol edeceğini öğreneceğiz.
YAPIM SÜRESİ: 60 DAKİKA ZORLUK: DEĞERLENDİRME: Kolay
Adım 1: MicroPython Nedir?
MicorPython, ESP8266 modülünü programlamak için kullanabileceğimiz birçok programlama dilinden biridir. Python 3 programlama dilinin yalın ve hızlı bir sürümüdür ve C ve C++ gibi geleneksel programlama dillerine göre çeşitli avantajlara sahiptir.
MicroPython, mümkün olduğunca normal Python ile uyumlu olacak şekilde tasarlanmıştır. Eksiksiz bir Python derleyicisine ve çalışma zamanına sahiptir ve REPL (Okuma-Değerlendirme-Baskı Döngüsü) olarak bilinen etkileşimli bir bilgi istemi sağlar.
MicorPython, birkaç farklı mikrodenetleyici türünü desteklemek için tasarlanmıştır. Ancak bu eğitim için tek bir modelle çalışacağım: ESP8266 tabanlı kart (NodeMCU). Aynı çiple satın alabileceğiniz birkaç farklı kart olduğunu unutmayın.
Okuma ve Kaynaklar:
MikroPython
DüğümMCU
2. Adım: Gereksinimler
Bu öğreticiyi takip edebilmek için Python ile temel kodlama deneyimine sahip olmanız yeterlidir. Önceden mikrodenetleyiciler, elektronikler ve hatta MicroPython bilgisine sahip olmanız gerekmez.
Programlamak için bilgisayarınıza bir mikro denetleyici bağlayacağınız için ayrıca boş bir USB bağlantı noktasına sahip bir Windows, Mac veya Linux bilgisayara ihtiyacınız olacak.
Gerekli Parçalar:
1 x NodeMCU (veya diğer ESP8266 tabanlı kart)
1 x Kırmızı 5mm LED
1 x 220Ω 1/4W Direnç
1 x 10KΩ Döner Potansiyometre
1 x Ekmek Tahtası
1 x USB'den MicroUSB'ye kablo
Jumper Telleri.
Adım 3: Neden ESP8266 Tabanlı Kart?
ESP8266'nızdan en iyi şekilde yararlanmanın bir yolu MicroPython kullanmaktır. Ayrıca ESP8266 modülü, MicroPython'un nasıl kullanılacağını öğrenmek için en iyi platformlardan biridir. Bunun nedeni, ESP8266'nın, MicroPython programlama dilinin tüm yönlerini test etmenize olanak tanıyan kablosuz işlevselliğin yanı sıra basit GPIO pin kontrol işlevleri sağlamasıdır.
ESP8266 yongası, açık kaynak geliştirme endüstrisinde popülerdir. ESP8266 yongasını kullanan farklı üreticilerin birçok geliştirme kartı vardır. MicroPython, mümkün olduğunca az sınırlama ile bu kartların çoğunda çalışabilen genel bir bağlantı noktası sağlamak üzere tasarlanmıştır. Bağlantı noktası Adafruit Feather HUZZAH kartına dayanmaktadır Diğer ESP8266 kartlarını kullanırken, Adafruit Feather HUZZAH kartı ile aralarındaki farkları belirleyebilmek için şemalarını ve veri sayfalarını kontrol ettiğinizden emin olun. Bu şekilde, kodunuzdaki farklılıkları barındırabilirsiniz.
Okuma ve Kaynaklar:
ESP8266
Adafruit Tüy HUZZAH
4. Adım: Bilgisayarınızı Kurma
ESP8266 kartınızı programlamak için MicroPython'u kullanmadan önce ayarlamanız gereken birkaç şey var. Bu adımda kurulum sürecinden geçeceğiz. Bu şekilde, MicroPython ile kullanılmak üzere ESP8266 kartını nasıl yapılandıracağınızı öğreneceksiniz.
Hazır olmak
Bu adımdan 6. adıma kadar ihtiyacınız olan tek şey ESP8266'nız ve bir USB kablosudur. ESP8266 kartınızı bilgisayarınıza bağlayın.
Nasıl yapılır…
ADIM1: Aygıt sürücülerini yükleyin
Bir Linux bilgisayarınız varsa, mikrodenetleyicinin tanınması için sürücülerin herhangi bir aygıt sürücüsü yüklemeniz gerekmez. Ancak bir Mac veya Windows makineniz varsa, bilgisayarın mikro denetleyiciyi tanıması için bir sürücüye ihtiyaç vardır. seri cihaz olarak
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
ADIM2: Python'u yükleyin
ESP8266 ile iletişim kurmak için kullanacağınız araçlar Python ile yazılmıştır, bu yüzden Python'u bilgisayarınıza kurmanız gerekir.
İşletim sisteminiz önceden paketlenmiş bir Python sağlamıyorsa, desteklenen işletim sistemlerinden herhangi biri için resmi bir yapı indirmek için https://python.org adresine gidebilirsiniz.
ADIM3: esptool ve rshell'i kurun
Pip kullanarak panonuzu yönetmenize yardımcı olacak iki paket kurun. Bunu yapmak için terminalinizi açın ve çalıştırın.
pip kurulum esptool rshell
ADIM4: MicroPython'u İndirin
En son MicroPython üretici yazılımı.bin'i aşağıdaki bağlantıdan indirin:
Bunu yazdığım sırada mevcut sürüm 1.11 ve bellenim dosyasının adı esp8266-20190529-v1.11.bin
Bunu yaptığınızda, daha yeni bir sürüm bulabilirsiniz.
Adım 5: Esptool.py ile MicroPython'u Flashlama
Yeni bir bellenimi karta yüklemeden önce, önceki verileri silmek iyi bir fikirdir. Bu, yeni bellenimin temiz bir durumdan çalışması için her zaman yapmanız gereken bir şeydir.
.bin dosyasını yerleştirdiğiniz yere gidin. Flaşı silmek için esptool.py kullanın.
Linux için:
esptool.py --port /dev/ttyUSB0 delete_flash
Pencereler için:
esptool.py --port COM3 delete_flash
Komutunuzdaki seri portu, ESP8266 anakartınızın bağlı olduğu seri port ile değiştirmeniz gerekebilir. ESP8266'nızın seri port numarasını bilmiyorsanız Arduino IDE'den kontrol edebilirsiniz. Sadece IDE'yi açın ve ardından Araçlar | Limanlar. Burada listelenen ESP8266 anakartınızın seri portunu görmelisiniz. (/dev/ttyUSB0) komutundaki seri bağlantı noktasını anakartınızın seri bağlantı noktasıyla değiştirin.
Artık pano tamamen silindiğine göre, az önce indirdiğiniz MicroPython derlemesini flash edebilirsiniz. Bu aynı zamanda esptool.py komutuyla da yapılır:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Bu komut, MicroPython.bin dosyasının içeriğini 0 adresindeki panoya yazacaktır.
Komuttaki üretici yazılımı.bin dosyasının adını (esp82688-2019-080529-v1.11.bin) indirdiğiniz üretici yazılımının adıyla değiştirdiğinizden emin olun.
Ürün yazılımı ESP8266 kartınıza başarıyla yüklendikten sonra, kablolu bağlantı (UART seri bağlantı noktası) veya düşünce WiFi aracılığıyla kartınızdaki REPL'ye erişebilirsiniz.
Adım 6: MicroPython REPL'yi Rshell ile Kullanma
Artık ESP8266 kartınızda MicroPython'u başlatmaya hazırsınız.
Size tahtanızda çalışan Python istemine nasıl bağlanacağınızı göstereceğim. Buna REPL denir, bu da "Read-Değerlendirme-Baskı-Döngüsü" anlamına gelir. Bu, muhtemelen normal Python yorumlayıcısı ile çalışırken görmeye alışık olduğunuz standart Python istemidir, ancak bu sefer panonuzda çalışacak ve onunla etkileşim kurmak için bilgisayarınıza seri bağlantıyı kullanacaksınız.. Hazır?
Panonuza bağlanmak ve bir REPL oturumu açmak için aşağıdaki komutu girin:
rshell --port
Bu komut sizi rshell istemine getirecektir. Yukarıdaki fotoğrafa bakın.
Bu öğreticiyi Windows'ta izliyorsanız, rshell'in Windows'ta çalışırken sorun geçmişi olduğunu unutmayın.
Yani bu türü düzeltmek için:
rshell -a --port COM3
Bu komut isteminden, mikrodenetleyici kartınızla ilgili yönetim görevlerini gerçekleştirebilir ve ayrıca kartla gerçek zamanlı olarak etkileşim kurmak için kullanabileceğiniz bir Python REPL'yi başlatabilirsiniz. Bu nedenle, aşağıdaki komutu girmeniz yeterlidir:
repl
Her şeyin çalıştığından emin olmak için basit bir Python cümlesi yazın:
print("Merhaba Dünya")
Adım 7: MicroPython Kullanarak Pinleri Kontrol Etme
Bu adımda MicroPython ile ESP8266 pinlerinin nasıl kontrol edileceğini öğreneceğiz. Bunu yapmak için, bir ESP8266 kartı GPIO pinine bağlı bir LED'in durumunu değiştireceğimiz bir kurulum yapacağız. Bu, MicoPython kullanarak dijital çıkışları nasıl kontrol edeceğinizi anlamanıza yardımcı olacaktır.
Hazır olmak
Bu ADIMI gerçekleştirmek için aşağıdaki şeylere ihtiyacınız olacak:
1 x DüğümMCU
1 x Kırmızı 5mm LED
1 x 220 Ω Direnç
1 x Ekmek Tahtası
Jumper Telleri
yapı
LED'i devre tahtasına monte ederek başlayın. 220 Ω direncin bir ucunu LED'in pozitif ayağına bağlayın (bir LED'in pozitif ayağı genellikle iki ayaktan daha uzun olanıdır). Direncin diğer ucunu ESP8266 kartının D1 pinine bağlayın. Ardından LED'in negatif ayağını ESP8266 kartının GND pinine bağlayın. Bağlantı yukarıdaki şemada gösterildiği gibidir.
Kurulum tamamlandıktan sonra ESP8266 kartını bir USB kablosuyla bilgisayarınıza bağlayın.
Nasıl yapılır…
REPL'inize aşağıdaki kodu yazın:
# her 1 saniyede bir LED yanıp söner
def yanıp sönme(pin=5, zaman=1) # varsayılan olarak yanıp sönme işlevi pin=5, zaman=1s makineyi içe aktar # makine modülü, pim yapılandırmalarını ve modları zamandan itibaren tutar içe aktar uyku # bir miktar gecikme için uykuyu içe aktar LED = makine. Pin (led_pin, machine. PIN. OUT) # True iken LED'i OUTPUT olarak yapılandırın: # sonsuza kadar çalıştır LED.value(1) # LED'i HIGH uykuya ayarla(zaman) # varsayılan olarak 1 saniye bekle LED.value(0) # LED'i ayarla DÜŞÜK uykuya(zaman) # varsayılan olarak 1 saniye bekleyin
Bu kodu test etmek için RPEL oturumunuza flash() yazın. Bu, GPIO5'e bağlı LED'i her 1 saniyede bir yanıp sönecektir.
PIN'i ve/veya saati şu numarayı arayarak değiştirebilirsiniz:
yanıp sönme(pin=, zaman=)
Çalışan koddan çıkmak için ctrl+c tuşlarına basın.
ESP8266'ya bağlı bir girişi okumak için MicroPython'u kullanabilirsiniz. Bunu nasıl yapacağınızı öğrenmek için bir sonraki adıma geçin.
Takılırsanız videoyu kontrol edin.
Adım 8: LED'i Söndürme
Bu adımda, döner potansiyometre kullanarak LED'in parlaklığını nasıl ayarlayacağınızı öğreneceğiz. Darbe Genişlik Modülasyonu (PWM) adı verilen bir teknik kullanacağız, bu, LED'i 256 ayara kadar kısmamıza izin veriyor.
Uyarı: GPIO16 (D0) hariç tüm ESP8266 pinleri PWM pini olarak kullanılabilir.
Hazır olmak:
Bu ADIMI gerçekleştirmek için aşağıdaki şeylere ihtiyacınız olacak:
1 x DüğümMCU
1 x Kırmızı 5mm LED
1 x 50 KΩ Döner Potansiyometre.
1 x Ekmek Tahtası
Jumper Telleri
yapı
Bağlantı yukarıdaki şemada gösterildiği gibidir: Kurulum tamamlandıktan sonra ESP8266 kartını bir USB kablosu ile bilgisayarınıza bağlayın.
Nasıl yapılır…
REPL'inize aşağıdaki kodu yazın:
# Potansiyometreden veri okuyarak her 0,5'te bir sönen LED
makineyi zamandan içe aktar uyku led_pin = 5 # led pin POT = makine. ADC(0) # ADC0 pin LED = makine. Pin(led_pin) # LED nesnesi oluştur LED_pwm = makine. PWM(LED, freq=500) # LED_pwm oluştur nesne ve frekansı 500Hz olarak ayarlayın True iken: LED_pwm.duty(POT.read()) # Pot'tan değeri alın ve onu görev döngüsüne ayarlayın uyku(0.5) # bekle 0,5
Bu, potansiyometrenin değerini değiştirerek GPIO 5'e bağlı LED'in parlaklığını değiştirecektir.
Çalışan koddan çıkmak için ctrl+c tuşlarına basın.
Takılırsanız videoyu kontrol edin.
Adım 9: Buradan Nereye?
Şimdiye kadar MicroPython'un ESP8266 tabanlı kartlarda nasıl yapılandırılacağını ve çalıştırılacağını gördük. Bir LED'i yanıp sönmek için pinlerin nasıl kontrol edileceğini öğrendik, ardından darbe genişlik modülasyonu tekniğini kullanarak LED'in parlaklığını kontrol etmek için bir potansiyometre ekledik.
Artık sensörden veri okuyabilir ve buluta gönderebiliriz, verilerimizi basit bir web sayfasında yazdırabileceğiniz bir HTTP sunucusu da oluşturabiliriz, vb…
Bu bize nesnelerin interneti (IoT) hakkında birçok fikir verir.
Adım 10: Sonuç
İşte aldın! İlerleyin ve MicroPython dünyasını fethedin.
tabiki sorunuz olursa yorum bırakabilirsiniz.
Çalışmalarım hakkında daha fazlasını görmek için lütfen YouTube kanalımı ziyaret edin:
benimYouTube'um
myGitHub
benimLinkedin
Bu talimatı okuduğunuz için teşekkürler ^^ ve iyi günler.
Görüşürüz.
Ahmet Nuri.
Önerilen:
Ham Radyoya Başlarken: 5 Adım (Resimlerle)
Ham Radyoya Başlarken: Yakın zamanda basılmış bir jambon lisansı sahibi olarak, amatör radyoya girmek için yaptığım süreci aktarmak istiyorum. İnsanlara diğer yöntemler bozulduğunda iletişim kurmaları için bir yol sunan hobinin kendine güven yönü beni cezbetti. Ama aynı zamanda ödüllendirici
M5StickV AI + IOT Kameraya Başlarken: 6 Adım (Resimlerle)
M5StickV AI + IOT Kameraya Başlarken: Kısa genel bakış M5StickV, neredeyse 2 jeton çapında küçük bir AI + IOT kameradır, fiyatı yaklaşık 27,00 $'dır ve bazıları için bu kadar küçük bir kamera için pahalı görünebilir, ancak bazılarını paketler iyi özellikler. Kamera, inanılmaz bir güçle
La COOL Board'a Başlarken: 4 Adım (Resimlerle)
La COOL Board'a Başlarken: Giriş"La COOL Board fikrini bulduğumuz zaman, WiFi'li bir Arduino ile modüler bir agronomik hava istasyonu arasında bir karışım hayal ettim. Otonom çalışması için çok az enerji tüketmesi gerekiyordu ve kontrol edebilmek istedim
NeoPixel / WS2812 RGB LED'e Başlarken: 8 Adım (Resimlerle)
NeoPixel / WS2812 RGB LED'e Başlarken: [Video Oynat]Bu Eğitilebilir Kitapta, adreslenebilir RGB LED'i (WS2812) veya popüler olarak Adafruit NeoPixel olarak bilinenleri keşfedeceğiz. NeoPixel, halkalar, şeritler, panolar ve panolardan oluşan bir ailedir; titreşimli çubuklar, renkli minyatür LED'ler. Bunlar zincirlenebilir
Arduino'ya Başlarken: Bilmeniz Gerekenler: 4 Adım (Resimlerle)
Arduino'ya Başlarken: Bilmeniz Gerekenler: Uzun yıllardır Arduino ve elektronik ile çalışıyorum ve hala öğreniyorum. Bu sürekli genişleyen mikro denetleyiciler dünyasında, kaybolmak ve bilgi bulmaya çalışırken etrafınızda daireler çizmek kolaydır. Bu Eğitilebilir Kitapta,