MicroPython е лека версия на езика за програмиране Python, разработен за програмиране на микроконтролери, SOC и други вградени системни устройства. Създаден е, за да даде възможност на разработчиците да използват „ лесното за научаване и използване“ природа на python за разработване на вградени системи. С Python сега основният уводен език в повечето училища и с това, че той е един от най-популярните и широко използвани езици за програмиране в света, чрез микро-python, десетки потребители на Python са в състояние да заобиколят стресиращата стръмна крива на обучение, свързана с използването на C и C ++ за програмиране на микроконтролери. Те могат веднага да започнат да използват знанията, които са придобили през годините, за достъп до хардуера на ниско ниво, точно както при другите езици. Micro-python е конкретно постно изпълнение на Python 3 и като такова е съвместимо със синтаксиса на python 3.
Въпреки че MicroPython все още не е на същото ниво на популярност като C и C ++ за разработване на вградени системи, популярността му се увеличава с все повече микроконтролери, IDE и разработчици, поддържащи използването му. За днешния урок ще разгледаме една от тези дъски, за която може да се разработи фърмуер с помощта на MicroPython.
За днешния урок ще разгледаме разработването на кода за ESP32 с помощта на MicroPython.
Ще започнем, като разгледаме защо MicroPython е добър за ESP32 и ще си пробием път чрез настройване на ESP32 за MicroPython и качване на мигащата скица с MicroPython на ESP32.
Защо MicroPython? (MicroPython срещу Arduino C)
Един от добре доказаните и най-лесните начини за програмиране на ESP32 е използването на Arduino IDE, което означава използването на версията на Arduino на C или C ++. C и C ++ в продължение на десетилетия са двата най-популярни езика за разработване на вградени системи, а версията на Arduino на езика го направи още по-опростен, което обяснява популярността му сред производителите и любителите поради лекотата, с която могат да се разработват кодове. В допълнение към това, Arduino има една от най-големите технически общности в света с нови библиотеки, софтуерни корекции, нова поддръжка на борда и т.н., които ежедневно се публикуват от общността. Всичко това го прави страхотен инструмент за програмиране на вградени системни платки. Единственото реално ограничение, което човек може да прикачи към Arduino C, е фактът, че той работи само в IDE на Arduino.Тъй като IDE е ограничен и липсват някои функции, които наистина могат да бъдат полезни при разработването на голяма кодова база, Arduino C не е най-ефективният.
MicroPython, от друга страна, е сравнително нов. Докато общността на потребителите се разраства, с излизането на поддръжка за повече платформи, нейната сила не може да се сравни с тази на Arduino. От друга страна, MicroPython по същество е постна версия на python, която е един от най-популярните езици за програмиране в света и като такъв, всеки проблем, който не може да бъде решен от общността MicroPython, може да получи прозрения от общата общност на python.
Освен подкрепата на общността, MicroPython има и някои функции, които го поставят далеч над класа на Arduino. Една от тези характеристики е REPL. REPL означава Read-Evaluate-Print. Тази функция ви позволява да се свържете с платка и да изпълнявате код бързо, без да е необходимо да компилирате или качвате целия код. Като такива можете да тествате всяка част от кода си, докато ги разработвате.
Независимо кой от тези двама сте избрали за вашия проект, бъдете сигурни кое ви служи най-добре. Като премахнем това, нека да преминем към изграждането на пример за мигане, използвайки ESP32 с MicroPython.
Необходими компоненти
За да изградим мигащия пример, ще са ни необходими следните компоненти;
- DOIT ESP32 DevKit v1 (1)
- LED (1)
- 100 ома резистор (1)
- Джъмперни проводници
- Макет (1)
Можете да използвате някоя от другите базирани на ESP32 платки вместо DOIT ESP32 DevKit V1 и можете да изберете да работите с вградения светодиод, което означава, че имате нужда само от ESP32 платката за този урок. Преди това мигнахме за ESP32 LED, като го програмирахме с помощта на Arduino IDE.
Освен хардуерните компоненти, ще ни е необходим и софтуер, подобен на Thonny IDE