İçindekiler:

ESP8266'da MicroPython'a Başlarken: 10 Adım (Resimlerle)
ESP8266'da MicroPython'a Başlarken: 10 Adım (Resimlerle)

Video: ESP8266'da MicroPython'a Başlarken: 10 Adım (Resimlerle)

Video: ESP8266'da MicroPython'a Başlarken: 10 Adım (Resimlerle)
Video: УРОК ПО MICROPYTHON | ЗАПУСКАЕМ ВЕБ СЕРВЕР НА ESP8266 #micropython #python #esp8266 2024, Kasım
Anonim
ESP8266'da MicroPython'a Başlarken
ESP8266'da MicroPython'a Başlarken

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

Gereksinimler
Gereksinimler
Gereksinimler
Gereksinimler
Gereksinimler
Gereksinimler
Gereksinimler
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?

Neden ESP8266 Tabanlı-kart?
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

Bilgisayarınızı Kurma
Bilgisayarınızı Kurma
Bilgisayarınızı Kurma
Bilgisayarınızı Kurma
Bilgisayarınızı Kurma
Bilgisayarınızı Kurma
Bilgisayarınızı Kurma
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

Esptool.py ile Yanıp Sönen MicroPython
Esptool.py ile Yanıp Sönen MicroPython
Esptool.py ile Yanıp Sönen MicroPython
Esptool.py ile Yanıp Sönen MicroPython

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

MicroPython REPL'yi Rshell ile Kullanma
MicroPython REPL'yi Rshell ile Kullanma
MicroPython REPL'yi Rshell ile Kullanma
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

MicroPython Kullanarak Pinleri Kontrol Etme
MicroPython Kullanarak Pinleri Kontrol Etme
MicroPython Kullanarak Pinleri Kontrol Etme
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

LED'in sönmesi
LED'in sönmesi
LED'in sönmesi
LED'in sönmesi

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: