Pierwsze kroki z MicroPythonem we współpracy z płytką ESP32

Pierwsze kroki z MicroPythonem we współpracy z płytką ESP32
Korzystanie z MicroPython to świetny sposób na maksymalne wykorzystanie płytki ESP32.
I odwrotnie, układ ESP32 to świetna platforma do korzystania z MicroPythona.
Ten samouczek poprowadzi Cię przez konfigurację MicroPython, otrzymywanie monitu, używanie WebREPL (read-eval-print loop – proste, interaktywne środowisko programowania), łączenie się z siecią i komunikowanie się z Internetem, używanie urządzeń peryferyjnych i sterowanie niektórymi elementami zewnętrznymi.

Zacznijmy!
Wymagania
Pierwszą rzeczą, której potrzebujesz, jest płytka z chipem ESP32.
Oprogramowanie MicroPython obsługuje sam układ ESP32 i każda płytka powinna działać.
Główną cechą płytki jest to, w jaki sposób piny GPIO są połączone ze światem zewnętrznym i czy zawiera ona wbudowany konwerter szeregowy USB, aby udostępnić UART na komputerze.
Nazwy pinów zostaną podane w tym samouczku przy użyciu nazw chipów (np. GPIO2) i powinno być łatwo znaleźć, który pin to odpowiada na twojej płytce.
Zasilanie płytki
Jeśli twoja płytka ma złącze USB, najprawdopodobniej jest zasilana przez to, że została podłączona do komputera.
W przeciwnym razie będziesz musiał zasilać ją bezpośrednio.
Więcej informacji można znaleźć w dokumentacji płytki.

Pobieranie oprogramowania
Pierwszą rzeczą, którą musisz zrobić, jest pobranie najnowszego pliku .bin oprogramowania układowego MicroPython, aby załadować go na urządzenie ESP32.
Możesz go pobrać ze strony MicroPython, w zakładce pobierania. Stąd masz 3 główne możliwości:
Stabilne wersje oprogramowania układowego
Codzienne kompilacje oprogramowania układowego
Codzienne kompilacje oprogramowania układowego z obsługą SPIRAM

Jeśli dopiero zaczynasz z MicroPythonem, najlepszym rozwiązaniem jest wybranie stabilnych wersji oprogramowania układowego.
Jeśli jesteś zaawansowanym, doświadczonym użytkownikiem MicroPython ESP32, który chciałby uważnie śledzić rozwój i pomagać w testowaniu nowych funkcji, dostępne są codzienne kompilacje.
Jeśli Twoja płytka obsługuje SPIRAM, możesz użyć standardowego firmware lub firmware z obsługą SPIRAM, a w tym drugim przypadku będziesz miał dostęp do większej ilości pamięci RAM dla obiektów Pythona.

Wdrażanie oprogramowania układowego
Gdy masz już oprogramowanie MicroPython, musisz je załadować na swoje urządzenie ESP32.
Aby to zrobić, należy wykonać dwa główne kroki: najpierw musisz przełączyć urządzenie w tryb bootloadera, a następnie musisz skopiować oprogramowanie sprzętowe.
Dokładna procedura tych kroków zależy w dużym stopniu od konkretnej płytki i będziesz musiał zapoznać się z jej dokumentacją, aby uzyskać szczegółowe informacje.
Na szczęście większość płyt ma złącze USB, konwerter USB-szeregowy i piny DTR i RTS okablowane w specjalny sposób, a następnie wdrożenie oprogramowania układowego powinno być łatwe, ponieważ wszystkie kroki można wykonać automatycznie.
Płyty posiadające takie cechy to między innymi Adafruit Feather HUZZAH32, M5Stack, Wemos LOLIN32 i TinyPICO, a także zestawy rozwojowe Espressif DevKitC, PICO-KIT, WROVER-KIT.

Aby uzyskać najlepsze wyniki, zaleca się najpierw wykasować całą pamięć flash urządzenia przed zainstalowaniem nowego oprogramowania układowego MicroPython.
Obecnie obsługiwane jest tylko kopiowanie esptool.py przez oprogramowanie układowe.
Możesz znaleźć to narzędzie tutaj: https://github.com/espressif/esptool/ lub zainstalować je za pomocą pip: pip install esptool
Wersje zaczynające się od 1.3 obsługują zarówno Python 2.7 i Python 3.4 (lub nowszy). Starsza wersja (wymagana jest co najmniej 1.2.1) działa dobrze, ale będzie wymagać Pythona 2.7.

Używając esptool.py możesz skasować flash za pomocą polecenia:
esptool.py –port / dev / ttyUSB0 erase_flash
Następnie wdróż nowe oprogramowanie układowe za pomocą:
esptool.py –chip esp32 –port / dev / ttyUSB0 write_flash -z 0x1000 esp32-20180511-v1.9.4.bin

Uwagi:
Może zajść potrzeba zmiany ustawienia „portu” na inne odpowiednie dla twojego komputera
Może być konieczne zmniejszenie szybkości transmisji, jeśli podczas flashowania wystąpią błędy (np. do 115200 przez dodanie –baud 115200 do polecenia)
W przypadku niektórych kart z określoną konfiguracją FlashROM może zajść potrzeba zmiany trybu flashowania (np. poprzez dodanie -fm dio do polecenia)
Nazwa pliku oprogramowania układowego powinna odpowiadać posiadanemu plikowi
Jeśli powyższe polecenia działają bezbłędnie, to MicroPython powinien być zainstalowany na twojej płytce!

Serial prompt

Po zainstalowaniu oprogramowania na urządzeniu możesz uzyskać dostęp do REPL (zgłoszenie systemu Pythona – Python prompt) przez UART0 (GPIO1 = TX, GPIO3 = RX), który może być podłączony do konwertera szeregowego USB, w zależności od twojej płytki.
Szybkość transmisji wynosi 115200.
Stąd możesz teraz przejść do samouczka ESP8266, ponieważ te dwa chipy Espressif są bardzo podobne, jeśli chodzi o używanie na nich MicroPythona.
Samouczek dotyczący ESP8266 można znaleźć w samouczku MicroPython dotyczącym ESP8266 (ale pomiń wprowadzenie).

Rozwiązywanie problemów z instalacją

Jeśli wystąpią problemy podczas flashowania lub z uruchomieniem oprogramowania układowego bezpośrednio po nim, oto zalecenia dotyczące rozwiązywania problemów:
Bądź świadomy i spróbuj wykluczyć problemy ze sprzętem.
Występują 2 typowe problemy: zła jakość źródła zasilania i zużyta / uszkodzona pamięć FlashROM.
Mówiąc o źródle zasilania, ważne jest nie tylko surowe natężenie prądu, ale także ogólnie niskie tętnienia i szum / EMI.
Najbardziej niezawodnym i wygodnym źródłem zasilania jest port USB.

Powyższe instrukcje flashowania wykorzystują prędkość flashowania 460800 bodów, co jest dobrym kompromisem między szybkością a stabilnością.
Jednak w zależności od modułu/płyty, konwertera USB-UART, kabli, systemu operacyjnego hosta itp., powyższa prędkość transmisji może być zbyt wysoka i prowadzić do błędów.

W takich przypadkach wypróbuj bardziej powszechną prędkość transmisji 115200.
Aby złapać niepoprawną zawartość flash (np. z uszkodzonego sektora na chipie), dodaj przełącznik –verify do powyższych poleceń.
Jeśli nadal masz problemy z flashowaniem oprogramowania układowego, odwiedź stronę projektu esptool.py, https://github.com/espressif/esptool, aby uzyskać dodatkową dokumentację i narzędzie do śledzenia błędów, w którym możesz zgłaszać problemy.
Jeśli możesz sflashować oprogramowanie układowe, ale opcja –verify zwraca błędy nawet po wielu próbach, być może masz uszkodzony układ FlashROM.
Autor: Damien P. George

Komentarze z Facebooka

Komentarze obecnie - OFF.