Mündəricat:

ESP8266: 10 Adımda MicroPython ilə Başlayın (Şəkillərlə)
ESP8266: 10 Adımda MicroPython ilə Başlayın (Şəkillərlə)

Video: ESP8266: 10 Adımda MicroPython ilə Başlayın (Şəkillərlə)

Video: ESP8266: 10 Adımda MicroPython ilə Başlayın (Şəkillərlə)
Video: Arduino ESP32 Servo kitaplığı ile ESP32 kullanarak Servo Motor nasıl kontrol edilir 2024, Noyabr
Anonim
ESP8266 -da MicroPython ilə işə başlayın
ESP8266 -da MicroPython ilə işə başlayın

C/C ++ proqramlaşdırma dili ilə birlikdə Arduino IDE-dən istifadə etməklə ESP8266 əsaslı lövhələri proqramlaşdırmağın fərqli bir yolunu istəyirsinizmi?

Bu təlimatda MicroPython istifadə edərək bir ESP8266 lövhəsini kimin konfiqurasiya edəcəyini və idarə edəcəyini öyrənəcəyik.

BUILD VAXTI: 60 DƏQİQƏ Çətinlik: Reytinq: Asan

Addım 1: MicroPython nədir?

MicorPython, ESP8266 modulunu proqramlaşdırmaq üçün istifadə edə biləcəyimiz bir çox proqramlaşdırma dilindən biridir. Python 3 proqramlaşdırma dilinin arıq və sürətli bir versiyasıdır və C və C ++ kimi ənənəvi proqramlaşdırma dillərindən bir neçə üstünlüyə malikdir.

MicroPython, mümkün olduğu qədər normal Python ilə uyğunlaşmaq üçün hazırlanmışdır. Tam Python tərtibçisi və işləmə müddətinə malikdir və REPL (Oxu-Eval-Print Loop) kimi tanınan interaktiv bir istək təmin edir.

MicorPython, bir neçə fərqli mikro nəzarətçini dəstəkləmək üçün hazırlanmışdır. Ancaq bu dərs üçün yalnız bir modellə işləyəcəyəm: ESP8266 əsaslı lövhə (NodeMCU). Eyni çiplə satın ala biləcəyiniz bir neçə fərqli lövhənin olduğunu unutmayın.

Oxu və Resurslar:

MicroPython

NodeMCU

Addım 2: Tələblər

Tələblər
Tələblər
Tələblər
Tələblər
Tələblər
Tələblər
Tələblər
Tələblər

Bu təlimatı izləmək üçün Python ilə əsas kodlaşdırma təcrübəsinə malik olmalısınız, mikrokontroller, elektronika və ya hətta MicroPython haqqında əvvəlcədən heç bir bilgiyə malik olmağınız lazım deyil.

Pulsuz bir USB portu olan bir Windows, Mac və ya Linux kompüterinə ehtiyacınız olacaq, çünki onu proqramlaşdırmaq üçün kompüterinizə bir mikro nəzarətçi bağlayacaqsınız.

Lazım olan hissələr:

1 x NodeMCU (və ya digər ESP8266 əsaslı lövhə)

1 x Qırmızı 5 mm LED

1 x 220Ω 1/4W rezistor

1 x 10KΩ fırlanan potansiyometr

1 x Çörək paneli

1 x USB - MicroUSB kabeli

Jumper telləri.

Addım 3: Niyə ESP8266 əsaslı lövhə?

Niyə ESP8266 əsaslı lövhə?
Niyə ESP8266 əsaslı lövhə?

ESP8266 -dan ən yaxşı şəkildə istifadə etməyin bir yolu MicroPython istifadə etməkdir. ESP8266 modulu, MicroPython -dan necə istifadə olunacağını öyrənmək üçün ən yaxşı platformalardan biridir. Bunun səbəbi, ESP8266 -nın MicroPython proqramlaşdırma dilinin bütün aspektlərini sınamağa imkan verən sadə GPIO pin idarəetmə funksiyalarını və simsiz funksiyanı təmin etməsidir.

ESP8266 çipi açıq mənbə inkişaf sənayesində məşhurdur. ESP8266 çipini istifadə edən fərqli istehsalçıların bir çox inkişaf lövhələri var. MicroPython, bu lövhələrin əksəriyyətində mümkün qədər az məhdudiyyətlərlə işləyə bilən ümumi bir port təmin etmək üçün hazırlanmışdır. Liman Adafruit Feather HUZZAH lövhəsinə əsaslanır Digər ESP8266 lövhələrindən istifadə edərkən, Adafruit Feather HUZZAH lövhəsi ilə aralarındakı fərqləri müəyyən etmək üçün onların sxemlərini və məlumat cədvəllərini yoxladığınızdan əmin olun. Bu şəkildə kodunuzdakı fərqləri qəbul edə bilərsiniz.

Oxu və Resurslar:

ESP8266

Adafruit Tüyü HUZZAH

Addım 4: Kompüterinizi qurun

Kompüterinizin Qurulması
Kompüterinizin Qurulması
Kompüterinizin Qurulması
Kompüterinizin Qurulması
Kompüterinizin Qurulması
Kompüterinizin Qurulması
Kompüterinizin Qurulması
Kompüterinizin Qurulması

ESP8266 lövhənizi proqramlaşdırmaq üçün MicroPython istifadə etməzdən əvvəl qurmalı olduğunuz bir neçə şey var. Bu addımda quraşdırma prosesindən keçəcəyik. ESP8266 lövhəsini MicroPython ilə necə konfiqurasiya edəcəyinizi biləcəksiniz.

Hazırlanır

Bu addımdan 6 -cı addıma qədər ehtiyacınız olan yalnız ESP8266 və USB kabelinizdir. ESP8266 lövhənizi kompüterinizə qoşun.

Necə etmək olar…

ADIM1: Cihaz sürücülərini quraşdırın

Bir Linux kompüteriniz varsa, mikrokontrolörün tanınması üçün hər hansı bir cihaz sürücüsünü yükləməyinizə ehtiyac yoxdur, ancaq Mac və ya Windows maşınınız varsa, kompüterin mikro nəzarətçini tanımasına icazə vermək üçün bir sürücü lazımdır. seriyalı cihaz kimi.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

ADIM 2: Python quraşdırın

ESP8266 ilə əlaqə qurmaq üçün istifadə edəcəyiniz vasitələr Python -da yazılmışdır, buna görə kompüterinizə Python qurmalısınız.

Əməliyyat sisteminiz əvvəlcədən paketlənmiş Python təmin etmirsə, dəstəklənən hər hansı bir əməliyyat sistemi üçün rəsmi bir quruluş yükləmək üçün https://python.org saytına daxil ola bilərsiniz.

ADIM 3: esptool və rshell qurun

Pip istifadə edərək lövhənizi idarə etməyə kömək edəcək iki paketi quraşdırın. Bunu etmək üçün terminalınızı açın və işləyin

pip esptool rshell qurun

ADIM 4: MicroPython yükləyin

Ən son MicroPython firmware.binini aşağıdakı linkdən yükləyin:

Bunu yazarkən hazırkı versiya 1.11 və firmware faylına esp8266-20190529-v1.11.bin deyilir

Bunu etdiyiniz zaman daha yeni bir versiya tapa bilərsiniz.

Addım 5: Esptool.py ilə yanıb -sönən MicroPython

Esptool.py ilə yanıb -sönən MicroPython
Esptool.py ilə yanıb -sönən MicroPython
Esptool.py ilə yanıb -sönən MicroPython
Esptool.py ilə yanıb -sönən MicroPython

Yeni bir proqram təminatını lövhəyə yandırmadan əvvəl, əvvəlki məlumatları silmək yaxşı bir fikirdir.

. Bin faylını qoyduğunuz yerə gedin. Flaşı silmək üçün esptool.py istifadə edin.

Linux üçün:

esptool.py --port /dev /ttyUSB0 erase_flash

Windows üçün:

esptool.py -COM3 erase_flash portunu verin

Komandanızdakı seriyalı portu ESP8266 lövhənizin qoşulduğu serial portuna dəyişdirməyiniz lazım ola bilər. ESP8266 -nın seriya port nömrəsini bilmirsinizsə, Arduino IDE -də yoxlaya bilərsiniz. Sadəcə IDE -ni açın və sonra Tools | düyməsini basın Limanlar. ESP8266 lövhənizin seriya portunu orada görməlisiniz. (/Dev/ttyUSB0) əmrindəki serial portunu lövhənizin serial portu ilə əvəz edin.

İndi lövhə tamamilə silindikdən sonra yüklədiyiniz MicroPython quruluşunu yandıra bilərsiniz. Bu da esptool.py əmri ilə edilir:

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Bu əmr MicroPython.bin faylının məzmununu 0 ünvanındakı lövhəyə yazacaq.

Əmrindəki firmware.bin faylının adını (esp82688-2019-080529-v1.11.bin) yüklədiyiniz firmware adına dəyişdirdiyinizə əmin olun.

Firmware ESP8266 lövhənizdə uğurla quraşdırıldıqda, simli bir əlaqə (UART serial portu) və ya düşünülmüş WiFi vasitəsilə lövhənizdəki REPL -ə daxil ola bilərsiniz.

Addım 6: MicroPython REPL -dən Rshell ilə istifadə edin

Rshell ilə MicroPython REPL -dən istifadə
Rshell ilə MicroPython REPL -dən istifadə
Rshell ilə MicroPython REPL -dən istifadə
Rshell ilə MicroPython REPL -dən istifadə

İndi ESP8266 lövhənizdə MicroPython başlatmağa hazırsınız.

Lövhənizdə işləyən Python sorğusuna necə qoşulacağınızı sizə göstərəcəyəm. Buna "Read-Eval-Print-Loop" mənasını verən REPL deyilir. Bu, adi Python tərcüməçisi ilə işləyərkən görmək üçün istifadə etdiyiniz standart Python istəyidir, lakin bu dəfə lövhənizdə işləyəcək və onunla qarşılıqlı əlaqə qurmaq üçün kompüterinizə serial bağlantısından istifadə edəcəksiniz.. Hazırsınız?

Lövhənizə qoşulmaq və REPL sessiyasını açmaq üçün aşağıdakı əmri daxil edin:

rshell -port

Bu əmr sizi rshell sorğusuna gətirəcək. Yuxarıdakı fotoya baxın.

Windows -da bu təlimatı izləyirsinizsə, rshell -in Windows -da işləyərkən bir problem yaşadığını unutmayın.

Belə bir növü düzəltmək üçün:

rshell -a -COM3 portu

Bu istəkdən mikrokontrolör lövhənizlə əlaqəli idarəetmə vəzifələrini yerinə yetirə bilərsiniz və eyni zamanda lövhə ilə real vaxtda qarşılıqlı əlaqə qurmaq üçün istifadə edə biləcəyiniz Python REPL -ə başlaya bilərsiniz.

cavab

Hər şeyin işlədiyinə əmin olmaq üçün sadə bir Python cümləsi yazın:

çap et ("Salam Dünya")

Addım 7: MicroPython istifadə edərək pinləri idarə edin

MicroPython istifadə edərək pinləri idarə edin
MicroPython istifadə edərək pinləri idarə edin
MicroPython istifadə edərək pinləri idarə edin
MicroPython istifadə edərək pinləri idarə edin

Bu addımda, MicroPython ilə ESP8266 sancaqlarını necə idarə edəcəyimizi öyrənəcəyik. Bunu etmək üçün bir ESP8266 lövhəsi GPIO pininə bağlı bir LED vəziyyətini dəyişdirəcəyimiz bir quruluşla qarşılaşacağıq. Bu, MicoPython istifadə edərək rəqəmsal çıxışları necə idarə edəcəyinizi anlamağa kömək edəcək.

Hazırlanır

Bu ADIMI həyata keçirmək üçün aşağıdakılara ehtiyacınız olacaq:

1 x NodeMCU

1 x Qırmızı 5 mm LED

1 x 220 Ω rezistor

1 x Çörək paneli

Jumper telləri

Qurmaq

LED -in çörək taxtasına quraşdırılması ilə başlayın. 220 Ω rezistorun bir ucunu LED -in pozitiv ayağına bağlayın (LED -in pozitiv ayağı adətən iki ayaqdan hündürdür). Rezistorun digər ucunu ESP8266 lövhəsinin D1 pininə bağlayın. Sonra LED -in mənfi ayağını ESP8266 lövhəsinin GND pininə bağlayın. Bağlantı yuxarıdakı diaqramda göstərildiyi kimidir.

Quraşdırma tamamlandıqdan sonra ESP8266 lövhəsini USB kabel vasitəsilə kompüterinizə qoşun.

Necə etmək olar…

REPL -ə aşağıdakı kodu daxil edin:

hər 1 saniyədə # yanıb -sönən LED

def blink (pin = 5, zaman = 1) # göz qırpma funksiyası standart olaraq pin = 5, vaxt = 1s idxal maşını # maşın modulu pin konfiqurasiyalarını və rejimlərini vaxt idxal yuxusundan # idxal yuxusu bir qədər gecikdirmək üçün LED = maşın. Pin (led_pin, machine. PIN. OUT) # LED -i Çıxış olaraq Doğru olaraq konfiqurasiya edin: # sonsuza qədər işləyin LED.value (1) # LED -i Yuxu rejiminə təyin edin (vaxt) # default olaraq 1 saniyə gözləyin LED.value (0) # set LED LOW yuxuya (vaxt) # standart olaraq 1 saniyə gözləyin

Bu kodu sınamaq üçün RPEL sessiyanızda blink () yazın, bu GPIO5 -ə qoşulmuş LED -i hər 1 saniyədə bir yanıb -sönəcək.

Pin və/və ya vaxtını zəng edərək dəyişdirə bilərsiniz:

göz qırpmaq (pin =, vaxt =)

Çalışan koddan çıxmaq üçün ctrl+c düymələrini basın.

ESP8266 ilə əlaqəli bir girişi oxumaq üçün MicroPython istifadə edə bilərsiniz. Bunu necə edəcəyinizi öyrənmək üçün növbəti addıma keçin.

Zorlandınızsa videoya baxın.

Addım 8: LED -in sönməsi

LED -in sönməsi
LED -in sönməsi
LED -in sönməsi
LED -in sönməsi

Bu addımda, fırlanan potensiometrdən istifadə edərək LED -in parlaqlığının necə tənzimlənəcəyini öyrənəcəyik. Pulse Width Modulation (PWM) adlı bir texnikadan istifadə edəcəyik, bu da LED -i 256 -ya qədər tənzimləməyə imkan verir.

Qeyd: ESP8266 -nın bütün sancaqları GPIO16 (D0) istisna olmaqla, PWM pin kimi istifadə edilə bilər.

Hazırlanır:

Bu ADIMI həyata keçirmək üçün aşağıdakılara ehtiyacınız olacaq:

1 x NodeMCU

1 x Qırmızı 5 mm LED

1 x 50 KΩ fırlanan potansiyometr.

1 x Çörək paneli

Jumper telləri

Qurmaq

Bağlantı yuxarıdakı diaqramda göstərildiyi kimidir: Quraşdırma tamamlandıqdan sonra ESP8266 lövhəsini USB kabel vasitəsilə kompüterinizə qoşun.

Necə etmək olar…

REPL -ə aşağıdakı kodu daxil edin:

# Potentiometrdən məlumatları oxuyaraq hər 0.5 -də LED sönür

vaxtdan idxal maşını idxal yuxu led_pin = 5 # led pin POT = maşın. ADC (0) # ADC0 pin LED = maşın. Pin (led_pin) # LED obyekti yaratmaq LED_pwm = maşın. obyekt olduqda və Frekansı 500 Hz -ə təyin edərkən Doğru: LED_pwm.duty (POT.read ()) # qazandan dəyəri əldə edin və onu yuxu rejiminə (0,5) təyin edin # 0,5 gözləyin

Bu, potensialiometrin dəyərini dəyişdirərək GPIO 5 -ə qoşulan LED -in parlaqlığını dəyişəcək.

Çalışan koddan çıxmaq üçün ctrl+c düymələrini basın.

Zorlandınızsa videoya baxın.

Addım 9: Buradan Haradan?

İndiyə qədər MicroPython-un ESP8266 əsaslı lövhələrdə necə qurulacağını və işlədiləcəyini gördük. Bir LED -in yanıb -sönməsi üçün sancaqların necə idarə olunacağını öyrəndik, sonra nəbz genişliyi modulyasiya texnikasından istifadə edərək LED -in parlaqlığını idarə etmək üçün potensiometr əlavə etdik.

İndi məlumatları sensordan oxuya və buluda göndərə bilərik, eyni zamanda məlumatlarımızı sadə bir veb səhifədə çap edə biləcəyiniz bir HTTP serveri yarada bilərik və s.

Bu bizə əşyalar interneti (IoT) haqqında bir çox fikir verir.

Addım 10: Nəticə

Orada var! Gedin və MicroPython dünyasını fəth edin.

Əlbəttə ki, hər hansı bir sualınız varsa, şərh yaza bilərsiniz.

Əsərlərim haqqında daha çox məlumat əldə etmək üçün YouTube kanalımı ziyarət edin:

myYouTube

myGitHub

myLinkedin

Bu təlimatı oxuduğunuz üçün təşəkkürlər ^^ və gözəl bir gün keçirin.

Görüşərik.

Əhməd Nouira.

Tövsiyə: