MicroPython[1] — реализация языка Python, написанная на C и предназначенная для выполнения на микроконтроллерах[2][3].

MicroPython
Изображение логотипа
Класс языка реализация языка программирования[вд] и свободное программное обеспечение
Тип исполнения Реализация Python
Появился в 03.05.2014
Выпуск 1.14 (02.02.2021)
Испытал влияние Python
Лицензия MIT
Сайт micropython.org
Платформа ARM Cortex-M, STM32, ESP8266, ESP32, 16bit PIC, Unix, Microsoft Windows, Zephyr, JavaScript
ОС UNIX
Логотип Викисклада Медиафайлы на Викискладе

MicroPython включает в себя компилятор и среду выполнения, которые запускаются на микроконтроллере. Для взаимодействия пользователь может использовать интерактивную консоль для непосредственного выполнения программы. MicroPython включает в себя модули, позволяющие программисту использовать низкоуровневые возможности микроконтроллера[1].

Исходный код проекта доступен на GitHub и распространяется по лицензии MIT[4].

История

править

MicroPython создан австралийским программистом Дэмиеном Джорджем. Средства на разработку были собраны на Kickstarter кампании в 2013 году[5]. Изначально MicroPython разрабатывался для основанной на чипе STM32F4 плате разработки PyBoard, но позднее стал поддерживаться большим количеством других платформ[4]; также существуют неподдерживаемые версии[6].

В 2016 году версия MicroPython для BBC Micro Bit была создана в рамках Python Software Foundation[7].

В июле 2017 года на основе исходного кода MicroPython была создана CircuitPython, как его версия для простого использования и обучения[8].

В 2017 году Microsemi[англ.] разработала порт MicroPython на платформы RISC-V архитектуры[9].

В апреле 2019 года была разработан порт для Lego Mindstorms EV3[10].

Библиотеки

править

Собственные библиотеки

править
  • btree — библиотека для работы с BTree базами данных
  • framebuf — библиотека для создания двоичного изображения для внешних экранов
  • machine — библиотека для работы с микроконтроллером
  • micropython — библиотека для работы с собственными типами данных micropython
  • network — библиотека для работы с сетью
  • ubluetooth — библиотека для работы с Bluetooth
  • ucryptolib — библиотека для шифрования
  • uctypes — библиотека для взаимодействия с бинарными структурами

Так же в сборках под некоторые платформы есть специфичные только для них библиотеки

Компилятор

править

MicroPython включает в себя кросс-компилятор, который генерирует байт-код, (*.mpy). Байт-код может быть сгенерирован как непосредственно на микроконтроллере, так и на другом устройстве[источник не указан 1583 дня].

Прошивка MicroPython может использоваться без компилятора, используя только заранее сгенерированные файлы байт-кода формата *.mpy.

Примечания

править
  1. 1 2 MicroPython - Python for microcontrollers (англ.). micropython.org. Дата обращения: 9 августа 2020. Архивировано 6 июня 2014 года.
  2. Madhumita Venkataramanan. Micro Python: more powerful than Arduino, simpler than the Raspberry Pi (англ.) // Wired UK : magazine. — 2013-12-06. — ISSN 1357-0978. Архивировано 12 апреля 2019 года.
  3. Serdar Yegulalp. Micro Python's tiny circuits: Python variant targets microcontrollers (англ.). InfoWorld (5 июня 2014). Дата обращения: 9 августа 2020. Архивировано 15 июня 2018 года.
  4. 1 2 micropython/micropython (англ.). GitHub. Дата обращения: 9 августа 2020. Архивировано 27 января 2021 года.
  5. Micro Python: Python for microcontrollers (англ.). Kickstarter. Дата обращения: 9 августа 2020. Архивировано 4 декабря 2020 года.
  6. Paul Sokolovsky. pfalcon/awesome-micropython. — 2020-07-18. Архивировано 10 марта 2019 года.
  7. Alun Williams. Video: Hands on with the BBC Micro-Bit user interface (англ.). Electronics Weekly (7 июля 2015). Дата обращения: 9 августа 2020. Архивировано 28 мая 2020 года.
  8. Scott. CircuitPython 4.0.1 released! (англ.). Adafruit Industries - Makers, hackers, artists, designers and engineers! (22 мая 2019). Дата обращения: 9 августа 2020. Архивировано 29 июня 2019 года.
  9. "RISC-V Poster Preview — 7th RISC-V Workshop" (17 декабря 2018). Дата обращения: 9 августа 2020. Архивировано 17 декабря 2018 года.
  10. LEGO releases MicroPython for EV3 based on ev3dev and Pybricks. www.ev3dev.org. Дата обращения: 9 августа 2020. Архивировано 31 октября 2021 года.

Ссылки

править