Spisu treści:

Pierwsze kroki z MicroPythonem na ESP8266: 10 kroków (ze zdjęciami)
Pierwsze kroki z MicroPythonem na ESP8266: 10 kroków (ze zdjęciami)

Wideo: Pierwsze kroki z MicroPythonem na ESP8266: 10 kroków (ze zdjęciami)

Wideo: Pierwsze kroki z MicroPythonem na ESP8266: 10 kroków (ze zdjęciami)
Wideo: PyWaw #102 - Pies vs (micro)python (a.k.a. szczucie psa micropythonem) 2024, Listopad
Anonim
Pierwsze kroki z MicroPythonem na ESP8266
Pierwsze kroki z MicroPythonem na ESP8266

Czy chcesz innego sposobu programowania płyt opartych na ESP8266 niż wspólnej metody przy użyciu Arduino IDE wraz z językiem programowania C/C++?

W tym samouczku dowiemy się, kto skonfigurować i sterować płytą ESP8266 za pomocą MicroPythona.

CZAS BUDOWY: 60 MINUT TRUDNOŚĆ: OCENA: Łatwy

Krok 1: Co to jest MicroPython?

MicorPython to jeden z wielu języków programowania, które możemy wykorzystać do programowania modułu ESP8266. Jest to uproszczona i szybka wersja języka programowania Python 3 i ma kilka zalet w porównaniu z tradycyjnymi językami programowania, takimi jak C i C++.

MicroPython został zaprojektowany tak, aby był jak najbardziej kompatybilny z normalnym Pythonem. Posiada kompletny kompilator i środowisko uruchomieniowe Pythona oraz zapewnia interaktywny monit znany jako REPL (Read-Eval-Print Loop).

MicorPython jest zaprojektowany do obsługi kilku różnych typów mikrokontrolerów. Ale w tym samouczku zamierzam pracować tylko z jednym modelem: płytą opartą na ESP8266 (NodeMCU). Zwróć uwagę, że istnieje kilka różnych płyt, które możesz kupić z tym samym chipem.

Czytanie i zasoby:

MicroPython

WęzełMCU

Krok 2: Wymagania

Wymagania
Wymagania
Wymagania
Wymagania
Wymagania
Wymagania
Wymagania
Wymagania

Aby móc śledzić ten samouczek, wystarczy mieć podstawowe doświadczenie w kodowaniu w Pythonie. Nie musisz mieć żadnej wcześniejszej wiedzy o mikrokontrolerach, elektronice, a nawet MicroPythonie.

Potrzebny będzie również komputer z systemem Windows, Mac lub Linux z wolnym portem USB, ponieważ podłączysz mikrokontroler do komputera, aby go zaprogramować.

Wymagane części:

1 x NodeMCU (lub inna płyta oparta na ESP8266)

1 x czerwona dioda LED 5mm

Rezystor 1x220Ω 1/4W

1x10KΩ potencjometr obrotowy

1 x deska do krojenia chleba

1 x kabel USB do MicroUSB

Przewody połączeniowe.

Krok 3: Dlaczego płyta oparta na ESP8266?

Dlaczego płyta oparta na ESP8266?
Dlaczego płyta oparta na ESP8266?

Jednym ze sposobów na maksymalne wykorzystanie możliwości ESP8266 jest użycie MicroPythona. Ponadto moduł ESP8266 jest jedną z najlepszych platform do nauki obsługi MicroPythona. Dzieje się tak, ponieważ ESP8266 zapewnia proste funkcje sterowania pinami GPIO, a także funkcje bezprzewodowe, co pozwala przetestować wszystkie aspekty języka programowania MicroPython.

Układ ESP8266 jest popularny w branży programistycznej open source. Istnieje wiele płyt rozwojowych różnych producentów, które używają układu ESP8266. MicroPython został zaprojektowany, aby zapewnić ogólny port, który może działać na większości tych płyt, przy jak najmniejszej liczbie ograniczeń. Port jest oparty na płytce Adafruit Feather HUZZAH W przypadku korzystania z innych płyt ESP8266 należy sprawdzić ich schematy i arkusze danych, aby móc zidentyfikować różnice między nimi a płytą Adafruit Feather HUZZAH. W ten sposób możesz uwzględnić różnice w kodzie.

Czytanie i zasoby:

ESP8266

Pióro Adafruit HUZZAH

Krok 4: Konfiguracja komputera

Konfigurowanie komputera
Konfigurowanie komputera
Konfigurowanie komputera
Konfigurowanie komputera
Konfigurowanie komputera
Konfigurowanie komputera
Konfigurowanie komputera
Konfigurowanie komputera

Jest kilka rzeczy, które musisz skonfigurować przed użyciem MicroPythona do zaprogramowania płyty ESP8266. W tym kroku przejdziemy przez proces konfiguracji. W ten sposób dowiesz się, jak skonfigurować płytkę ESP8266 do użycia z MicroPythonem.

Przygotowywanie się

Wszystko, czego potrzebujesz od tego kroku do kroku 6, to ESP8266 i kabel USB. Podłącz płytę ESP8266 do komputera.

Jak to zrobić…

KROK 1: Zainstaluj sterowniki urządzeń

Jeśli masz komputer z systemem Linux, nie musisz instalować żadnych sterowników urządzeń, aby umożliwić rozpoznawanie mikrokontrolera. Ale jeśli masz komputer Mac lub Windows, potrzebny jest sterownik, aby komputer mógł rozpoznać mikrokontroler jako urządzenie szeregowe.

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

KROK 2: Zainstaluj Pythona

Narzędzia, których będziesz używać do komunikacji z ESP8266, są napisane w Pythonie, więc musisz zainstalować Pythona na swoim komputerze.

Jeśli Twój system operacyjny nie zapewnia gotowego pakietu Python, możesz przejść do https://python.org, aby pobrać oficjalną wersję dla dowolnego obsługiwanego systemu operacyjnego.

KROK 3: Zainstaluj esptool i rshell

Zainstaluj dwa pakiety, które pomogą Ci zarządzać tablicą za pomocą pip. Aby to zrobić, otwórz terminal i uruchom

pip install esptool rshell

KROK 4: Pobierz MicroPython

Pobierz najnowszy firmware MicroPython.bin z następującego linku:

W chwili, gdy to piszę, aktualna wersja to 1.11, a plik firmware nazywa się esp8266-20190529-v1.11.bin

Zanim to zrobisz, możesz znaleźć nowszą wersję.

Krok 5: Flashowanie MicroPythona za pomocą Esptool.py

Flashowanie MicroPythona za pomocą Esptool.py
Flashowanie MicroPythona za pomocą Esptool.py
Flashowanie MicroPythona za pomocą Esptool.py
Flashowanie MicroPythona za pomocą Esptool.py

Przed wgraniem nowego oprogramowania układowego do płyty dobrze jest usunąć wszystkie poprzednie dane. Jest to coś, co należy zawsze robić, aby nowe oprogramowanie układowe działało w stanie czystym.

Idź tam, gdzie umieściłeś plik.bin. Użyj esptool.py, aby wymazać flash.

Dla Linuksa:

esptool.py --port /dev/ttyUSB0 erase_flash

Dla Windowsa:

esptool.py --port COM3 erase_flash

Być może trzeba będzie zmienić port szeregowy w poleceniu na port szeregowy, do którego podłączona jest płyta ESP8266. Jeśli nie znasz numeru portu szeregowego swojego ESP8266, możesz sprawdzić w Arduino IDE. Po prostu otwórz IDE, a następnie kliknij Narzędzia | Porty. Powinieneś zobaczyć tam port szeregowy swojej płyty ESP8266. Zamień port szeregowy w poleceniu (/dev/ttyUSB0) na port szeregowy swojej płyty.

Teraz, gdy płyta jest całkowicie wymazana, możesz sflashować właśnie pobraną kompilację MicroPythona. Odbywa się to również za pomocą polecenia esptool.py:

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

To polecenie zapisze zawartość pliku MicroPython.bin na płycie pod adresem 0.

Upewnij się, że zmieniłeś nazwę pliku oprogramowania układowego.bin w poleceniu (esp82688-2019-080529-v1.11.bin) na nazwę pobranego oprogramowania układowego.

Po pomyślnym zainstalowaniu oprogramowania układowego na płycie ESP8266 możesz uzyskać dostęp do REPL na płycie za pośrednictwem połączenia przewodowego (port szeregowy UART) lub przemyślanego WiFi.

Krok 6: Używanie MicroPython REPL z Rshell

Korzystanie z MicroPython REPL z Rshell
Korzystanie z MicroPython REPL z Rshell
Używanie MicroPython REPL z Rshell
Używanie MicroPython REPL z Rshell

Jesteś teraz gotowy do uruchomienia MicroPythona na płycie ESP8266.

To, co zamierzam pokazać, jak połączyć się z podpowiedzią Pythona uruchomioną na twojej tablicy. Nazywa się to REPL, co oznacza "Read-Eval-Print-Loop". Jest to standardowy znak zachęty Pythona, który prawdopodobnie przywykłeś do pracy ze zwykłym interpreterem Pythona, ale tym razem będzie on działał na twojej płycie i do interakcji z nim użyjesz połączenia szeregowego z komputerem. Gotowy?

Aby połączyć się z tablicą i otworzyć sesję REPL, wprowadź następujące polecenie:

rshell --port

To polecenie przeniesie Cię do wiersza poleceń rshell. Zobacz zdjęcie powyżej.

Jeśli śledzisz ten samouczek w systemie Windows, zwróć uwagę, że rshell ma historię problemów podczas uruchamiania w systemie Windows.

Więc aby naprawić ten typ:

rshell -a --port COM3

Z tego monitu możesz wykonywać zadania zarządzania związane z płytą mikrokontrolera, a także uruchomić Python REPL, którego możesz użyć do interakcji z płytą w czasie rzeczywistym. Wystarczy wpisać następujące polecenie:

zastępstwo

Aby upewnić się, że wszystko działa, wpisz proste zdanie Pythona:

print("Witaj świecie")

Krok 7: Kontrolowanie pinów za pomocą MicroPython

Kontrolowanie pinów za pomocą MicroPython
Kontrolowanie pinów za pomocą MicroPython
Kontrolowanie pinów za pomocą MicroPython
Kontrolowanie pinów za pomocą MicroPython

W tym kroku dowiemy się, jak sterować pinami ESP8266 za pomocą MicroPythona. W tym celu wymyślimy konfigurację, w której będziemy przełączać stan diody LED podłączonej do pinu GPIO płyty ESP8266. Pomoże Ci to zrozumieć, jak sterować wyjściami cyfrowymi za pomocą MicoPython.

Przygotowywanie się

Aby wykonać ten KROK, będziesz potrzebować następujących rzeczy:

1 x węzeł MCU

1 x czerwona dioda LED 5mm

Rezystor 1x220 Ω

1 x deska do krojenia chleba

Przewody połączeniowe

Kompilacja

Zacznij od zamontowania diody LED na płytce stykowej. Podłącz jeden koniec rezystora 220 Ω do dodatniej odnogi diody LED (dodatnia odnoga diody LED jest zwykle wyższa z dwóch odnóg). Podłącz drugi koniec rezystora do pinu D1 płyty ESP8266. Następnie podłącz ujemną nogę diody LED do pinu GND płytki ESP8266. Połączenie jest jak pokazano na powyższym schemacie.

Po zakończeniu konfiguracji podłącz płytkę ESP8266 do komputera za pomocą kabla USB.

Jak to zrobić…

Wpisz następujący kod w REPL:

# miganie diody LED co 1 sekundę

def blink(pin=5, time=1) # domyślna funkcja migania pin=5, time=1s import maszyny # moduł maszyny przechowuje konfiguracje pinów i tryby od czasu import sleep # import sleep z pewnym opóźnieniem LED = machine. Pin (led_pin, machine. PIN. OUT) # skonfiguruj diodę LED jako WYJŚCIE, gdy True: # uruchom wiecznie LED.value(1) # ustaw diodę LED na HIGH sleep(time) # odczekaj 1 sekundę domyślnie LED.value(0) # ustaw diodę LED do NISKIEGO snu (czas) # odczekaj 1 sekundę domyślnie

Wpisz blink() w sesji RPEL, aby przetestować ten kod. Spowoduje to miganie diody LED podłączonej do GPIO5 co 1 sekundę.

Możesz zmienić kod PIN i/lub godzinę dzwoniąc:

miga(pin=, czas=)

Naciśnij ctrl+c, aby wyjść z działającego kodu.

Możesz użyć MicroPythona do odczytania danych wejściowych z podłączonego do ESP8266. Przejdź do następnego kroku, aby dowiedzieć się, jak to zrobić.

Sprawdź wideo, jeśli utknąłeś.

Krok 8: Zanikanie diody LED

Zanikanie diody LED
Zanikanie diody LED
Zanikanie diody LED
Zanikanie diody LED

W tym kroku dowiemy się, jak regulować jasność diody LED za pomocą potencjometru obrotowego. Użyjemy techniki zwanej modulacją szerokości impulsu (PWM), która pozwala nam przyciemnić diodę LED z maksymalnie 256 ustawieniami.

Uwaga: Wszystkie piny ESP8266 mogą być używane jako pin PWM z wyjątkiem GPIO16 (D0).

Przygotowywanie się:

Aby wykonać ten KROK, będziesz potrzebować następujących rzeczy:

1 x węzeł MCU

1 x czerwona dioda LED 5mm

Potencjometr obrotowy 1 x 50 KΩ.

1 x deska do krojenia chleba

Przewody połączeniowe

Kompilacja

Połączenie jest pokazane na powyższym schemacie: Po zakończeniu konfiguracji podłącz płytkę ESP8266 do komputera za pomocą kabla USB.

Jak to zrobić…

Wpisz następujący kod w REPL:

# Zanikająca dioda LED co 0.5 poprzez odczyt danych z potencjometru

importuj maszynę od czasu importuj uśpienia led_pin = 5 # led pin POT = machine. ADC(0) # ADC0 pin LED = machine. Pin(led_pin) # utwórz obiekt LED LED_pwm = machine. PWM(LED, freq=500) # utwórz LED_pwm obiektu i ustaw częstotliwość na 500Hz, podczas gdy True: LED_pwm.duty(POT.read()) # pobierz wartość z Pot i ustaw ją na tryb uśpienia (0.5) # czekaj 0.5

Zmieni to jasność diody LED podłączonej do GPIO 5 poprzez zmianę wartości potencjometru.

Naciśnij ctrl+c, aby wyjść z działającego kodu.

Sprawdź wideo, jeśli utknąłeś.

Krok 9: Skąd stąd?

Do tej pory widzieliśmy, jak skonfigurować i uruchomić MicroPython na płytach opartych na ESP8266. dowiedzieliśmy się, jak kontrolować piny, aby migać diodą LED, a następnie dodaliśmy potencjometr, aby kontrolować jasność diody LED za pomocą techniki modulacji szerokości impulsu.

Teraz możemy odczytywać dane z czujnika i wysyłać je do chmury, możemy też stworzyć serwer HTTP, na którym można było wydrukować nasze dane na prostej stronie internetowej itp…

To daje nam wiele pomysłów na Internet rzeczy (IoT).

Krok 10: Wniosek

Masz to! Ruszaj i podbij świat MicroPython.

jeśli masz jakieś pytanie, oczywiście możesz zostawić komentarz.

Aby zobaczyć więcej o moich pracach, odwiedź mój kanał YouTube:

myYouTube

mójGitHub

myLinkedin

Dzięki za przeczytanie tej instrukcji ^^ i miłego dnia.

Do zobaczenia.

Ahmed Nouira.

Zalecana: