Wiadomości
Wiadomości
Łatwe wprowadzenie do systemów wbudowanych (1) — Co to jest MicroPython?
2022-03-08 1224

W miarę jak Python stał się dominującym językiem programowania, MicroPython stawał się coraz bardziej popularny w przestrzeni systemów wbudowanych, zwłaszcza w popularnym module Pico opartym na mikrokontrolerze ESP32 i RP2040, właśnie wydanym przez Raspberry PI Foundation.

Jako bannon, który nie potrafił napisać ani linijki kodu, przez większość czasu czułem się bardzo ograniczony i obiecałem sobie, że znajdę dobry czas na naukę języka programowania. Podczas 7-dniowego święta Narodowego poświęciłem się MicroPythonowi i zrealizowałem wszystkie funkcje peryferiów na tablicy na zaprojektowanej przeze mnie płycie edukacyjnej z rozszerzeniem Pico:

  • Fantazyjne oświetlenie - monochromatyczne, trzy kolory RGB, wszelkiego rodzaju kombinacje, można również sterować za pomocą przycisków i czujników

  • Ekran OLED wyświetla tekst, obrazy i przebiegi

  • Sygnał audio jest zbierany i wyświetlany na ekranie OLED, tworząc fajny obraz fali

  • Zabawa w „Ja i mój kraj” za pomocą brzęczyka na tablicy

  • Przenoszenie cudzego kodu w celu generowania dowolnych przebiegów - zmiana przebiegów, zmiana częstotliwości, zmiana wielkości itp



To, co ZAimponowało mi najbardziej podczas 7-dniowej „eksploracji”, to łatwość rozpoczęcia pracy z systemami osadzonymi w MicroPythonie – bogate zasoby open source, różne formy odniesienia, takie jak kursy wideo, przypadki tekstowe itp.

MicroPython to naprawdę świetny język programowania - obiektowy, elastyczny, prosty, elegancki!

Moja osobista nauka korzysta z dzielenia się innymi (open source), a najlepszym sposobem przekazywania wiedzy jest dzielenie się tym, czego się nauczyłem i czego się nauczyłem. W związku z tym planuję wypuścić samouczek programowania osadzonego w Micro Python w oparciu o Pico, który zostanie oficjalnie uruchomiony za miesiąc. Oczywiście, Na wczesnym etapie odbędzie się 15 kursów na żywo dotyczących projektowania PCB, które poprowadzą Cię do samodzielnego zaprojektowania płytki edukacyjnej Pico. Przecież w wygodnym środowisku darmowej płyty drukarskiej i darmowej wysyłki, opartej na płycie głównej Pico, każdy może zaprojektować PCB, aby w przyszłości uzyskać różne ciekawe zastosowania. Nauka projektowania płytek PCB może być również zaletą dla inżynierów systemów wbudowanych.

Od teraz będzie pojawiać się seria artykułów technicznych związanych z tym kursem. Dziś pierwszy:

1. Co to jest MicroPython

MicroPython to mały interpreter języka programowania Python typu open source, który działa na małej wbudowanej płytce rozwojowej. Dzięki MicroPython możesz pisać czysty, prosty kod w Pythonie do sterowania sprzętem bez konieczności używania skomplikowanych języków bazowych, takich jak C lub C++ (Arduino do programowania).


Logo MicroPythona

Prostota języka programowania Python sprawia, że ​​MicroPython jest idealnym wyborem dla początkujących w programowaniu i sprzęcie. MicroPython jest bardzo w pełni funkcjonalny i obsługuje większość składni języka Python, więc nawet doświadczeni weterani języka Python uznają używanie MicroPythona za znajome i przyjemne.

Oprócz tego, że jest łatwy w użyciu, MicroPython ma kilka unikalnych funkcji, które odróżniają go od innych systemów wbudowanych:

Użyj interaktywnego interpretera: REPL (Read Read- Evaluate Evaluate- Print Print- Loop Loop) - umożliwia podłączenie do płytki i wykonanie kodu bez kompilacji lub przesyłania - idealny do szybkiej nauki i eksperymentowania ze sprzętem!

Bogate biblioteki oprogramowania — podobnie jak zwykły język programowania Python, MicroPython posiada dużą liczbę wbudowanych bibliotek obsługujących wiele zadań. Na przykład dzięki wbudowanym bibliotekom MicroPythona można łatwo analizować dane JSON z usług sieciowych, wyszukiwać tekst przy użyciu wyrażeń regularnych, a nawet programować gniazda sieciowe.

Rozszerzalność — w przypadku zaawansowanych użytkowników MicroPython można rozszerzyć o funkcje C/C++ niskiego poziomu, dzięki czemu w razie potrzeby można mieszać wyrazisty kod MicroPython wysokiego poziomu z szybszym kodem niskiego poziomu.

MicroPython jest odmianą języka Python 3. Jest to pomysł doktora Darriena P. George'a z Uniwersytetu w Cambridge, który w 2013 roku współpracował z zespołem zajmującym się finansowaniem społecznościowym nad opracowaniem płytki rozwojowej sprzętu obsługującego microPython o nazwie PyBoard. MicroPython 1.0 został zaprezentowany na konferencji poświęconej Pythonowi ( PyCon) w 2014 r. Dr George założył także witrynę Micro Python.org (www.micropython.org), aby wspierać MicroPython i Pyboard.


Oficjalne logo MicroPython.Org

MicroPython.Org PyBoard, oparty na kontrolerze STM32.


2. Co potrafi MicroPython?

MicroPython został zaprojektowany do szybkiego i wydajnego tworzenia programów sterujących systemami wbudowanymi. Systemy wbudowane można po prostu zdefiniować jako dowolny projekt, który wymaga użycia mikrokontrolerów w celu spełnienia potrzeb inżynieryjnych. Typowe systemy wbudowane zazwyczaj wykorzystują czujniki, a czasami siłowniki elektromechaniczne do łączenia się z mikrokontrolerami. Można je podłączyć do urządzeń interfejsu człowiek-maszyna w celu łatwej interakcji, ale są bardziej zautomatyzowane, do samodzielnej pracy lub zdalnego dostępu do chmury.

Podobnie jak płytki Arduino, MicroPython może sterować sprzętem i podłączonymi urządzeniami - możesz sterować migającymi światłami pinów GPIO, odczytywać przełączniki i nie tylko; Może sterować sygnałem PWM, który może sterować serwerem i diodą LED; Czujniki analogowe można odczytywać i odczytywać za pomocą przetwornika analogowo-cyfrowego. Łatwo jest także komunikować się z urządzeniami I2C lub SPI. Na niektórych płytach można nawet znaleźć obsługę sieci i Wi-Fi. MicroPython ma nawet biblioteki do sterowania innym sprzętem, takim jak NeoPixels i paski LED, miniaturowe wyświetlacze OLED i tak dalej. Krótko mówiąc, MicroPython może zrobić wiele rzeczy!

Jakie są ograniczenia MicroPythona?

MicroPython ma bardzo niewiele ograniczeń i prawie wszystko, co Arduino może zrobić, można zrobić za pomocą płytek MicroPython. Należy jednak pamiętać, że kod MicroPython nie jest tak szybki i może wymagać więcej pamięci niż podobny kod Arduino lub inny niskopoziomowy kod oparty na C/C++, chociaż zwykle nie ma to znaczenia, ponieważ różnice w szybkości i pamięci nie są wystarczająco duże, aby wpływa na większość aplikacji. Należy pamiętać, że kod, którego czas lub wydajność jest krytyczny, może nie działać w MicroPythonie. Na przykład całkowite wykorzystanie oprogramowania do sterowania pinami IO w celu implementacji niektórych szybkich protokołów komunikacji szeregowej w MicroPythonie może nie być najlepszym pomysłem. Istnieją jednak sposoby na połączenie kodu MicroPython i niskopoziomowego kodu C/C++, aby uzyskać to, co najlepsze z obu światów — główną logiką jest czysty i łatwy do zrozumienia kod MicroPython, podczas gdy części krytyczne dla wydajności są napisane w języku szybszy kod niskiego poziomu.

Język MicroPython implementuje większość podstawowego języka Python 3, ale MicroPython nie implementuje całej standardowej biblioteki Python 3. Python jest znany z posiadania rozbudowanej biblioteki standardowej, ale próba skompresowania tak dużej biblioteki na małej płytce zawierającej jedynie kilobajty pamięci jest niemożliwa. Zamiast tego MicroPython implementuje kilka mniejszych wersji standardowej biblioteki Pythona, zapewniając doskonałe środowisko programistyczne.


Zastrzeżenie: ten artykuł został przedrukowany z „electronic Forest”, ten artykuł przedstawia jedynie osobiste poglądy autora, nie reprezentuje poglądów Sakwei i branży, jedynie powielany i udostępniany, wspiera ochronę praw własności intelektualnej, proszę wskazać oryginalne źródło i autor, jeśli doszło do naruszenia, skontaktuj się z nami, aby usunąć.



whatsapp

Service Hotline

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950