Перейти до вмісту

MicroPython

Матеріал з Вікіпедії — вільної енциклопедії.

 

MicroPython
Image
Типреалізація мови програмуванняd Редагувати інформацію у Вікіданих
ПлатформаSTM32, RISC-V[1], ESP8266, ESP32, PIC, UNIX, Zephyr, Windows, Renesas RAd, Microchip, Nordic Semiconductor, RP2040d і RP2350d Редагувати інформацію у Вікіданих
Операційна системаUNIX Редагувати інформацію у Вікіданих
Мова програмуванняC[2][3] і Python[4] Редагувати інформацію у Вікіданих
ЛіцензіяMIT[5] Редагувати інформацію у Вікіданих
Онлайн-документаціяdocs.micropython.org Редагувати інформацію у Вікіданих
Репозиторійgithub.com/micropython/micropython
Вебсайтmicropython.org Редагувати інформацію у Вікіданих

MicroPython[6] — це програмна реалізація мови програмування, яка багато у чому сумісна з Python 3, написана на C і оптимізована для роботи на мікроконтролерах.[7][8]

MicroPython — це повноцінний компілятор і середовище виконання Python, які працюють на апаратних засобах мікроконтролерів. Користувачу пропонується інтерактивний запит (REPL) на негайне виконання підтримуваних команд. Містить вибір основних бібліотек Python; MicroPython включає модулі, які надають програмісту доступ до обладнання низького рівня.[6]

Вихідний код проєкту доступний на GitHub за ліцензією MIT.[9]

Історія

[ред. | ред. код]

MicroPython спочатку був створений у 2013 році австралійським програмістом і фізиком-теоретиком Джорджем Демієном після успішної кампанії, яку підтримали на Kickstarter.[10] На Kickstarter оригінальний реліз MicroPython було випущено для розробницьких плат на основі чіпу STM32F4 із назвою «pyboard», але потім на MicroPython реалізували підтримку процесорів на основі архітектури ARM.[11] Підтримується портування для основній серій ARM Cortex-M (багато плат STM32, TI CC3200/WiPy, плати Teensy, серії Nordic nRF, SAMD21 і SAMD51), ESP8266, ESP32, 16-бітна PIC, Unix, Windows, Zephyr та JavaScript.[12] Крім того, існує багато форків для різноманітних систем та апаратних платформ, які не підтримуються в основній реалізації.[13]

У 2016 році версія MicroPython для BBC Micro Bit була створена як частина внеску у Python Software Foundation у партнерстві Micro Bit із BBC.[14]

У липні 2017 року MicroPython був розділений для створення CircuitPython[en], версії MicroPython з акцентом на освіту та простоту використання. MicroPython і CircuitPython підтримують дещо різні набори обладнання (наприклад CircuitPython підтримує плати Atmel SAM D21 і D51, але відмовилися від підтримки ESP8266). Починаючи з версії 4.0 CircuitPython, базується на MicroPython версії 1.9.4.[15]

У 2017 році Microsemi[en] створила порт MicroPython для архітектури RISC-V (RV32 і RV64).[16]

У квітні 2019 року була створена версія MicroPython для Lego Mindstorms EV3 .[17]

У січні 2021 року був створений порт MicroPython для RP2040 (ARM Cortex-M0+, на Raspberry Pi Pico та інші).[18]

Байт-код

[ред. | ред. код]

MicroPython включає крос-компілятор, який генерує байт-код MicroPython (розширення файлу .mpy). Код Python може бути скомпільований у байт-код або безпосередньо на мікроконтролері, або його можна попередньо скомпілювати в іншому місці.

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

Примітки

[ред. | ред. код]
  1. ↑ https://content.riscv.org/wp-content/uploads/2017/12/RISC-V-Poster-Preview.pdf
  2. ↑ The micropython Open Source Project on Open Hub: Languages Page — 2006.
  3. ↑ https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv — 2025.
  4. ↑ https://github.com/micropython/micropython
  5. ↑ The micropython Open Source Project on Open Hub: Licenses Page — 2006.
  6. 1 2 MicroPython - Python for microcontrollers. micropython.org. Архів оригіналу за 4 лютого 2021. Процитовано 12 серпня 2017.
  7. ↑ Venkataramanan, Madhumita (6 грудня 2013). Micro Python: more powerful than Arduino, simpler than the Raspberry Pi. Wired. Архів оригіналу за 12 квітня 2019. Процитовано 15 грудня 2016.
  8. ↑ Yegulalp, Serdar (5 липня 2014). Micro Python's tiny circuits: Python variant targets microcontrollers. InfoWorld. Архів оригіналу за 15 червня 2018. Процитовано 15 грудня 2016.
  9. ↑ MicroPython on GitHub. Архів оригіналу за 27 січня 2021. Процитовано 31 жовтня 2021.
  10. ↑ Micro Python: Python for microcontrollers. Kickstarter. Kickstarter. Архів оригіналу за 4 грудня 2020. Процитовано 15 грудня 2016.
  11. ↑ Beningo, Jacob (11 липня 2016). Prototype to production: MicroPython under the hood. EDN Network. Архів оригіналу за 12 квітня 2019. Процитовано 15 грудня 2016.
  12. ↑ George, Damien P. micropython/ports at master · micropython/micropython. GitHub. Архів оригіналу за 11 листопада 2020. Процитовано 22 жовтня 2019.
  13. ↑ Sokolovsky, Paul. Awesome MicroPython. GitHub. Архів оригіналу за 10 березня 2019. Процитовано 22 жовтня 2019.
  14. ↑ Williams, Alun. Hands on with the BBC Micro-Bit user interface. ElectronicsWeekly.com. Архів оригіналу за 1 жовтня 2015. Процитовано 8 липня 2015.
  15. ↑ Shawcroft, Scott. CircuitPython 4.0.1 released!. Adafruit Blog. Adafruit Industries. Архів оригіналу за 29 червня 2019. Процитовано 11 червня 2019.
  16. ↑ RISC-V Poster Preview — 7th RISC-V Workshop (PDF). 28 листопада 2017. Архів оригіналу (PDF) за 17 грудня 2018. Процитовано 17 грудня 2018.
  17. ↑ LEGO releases MicroPython for EV3 based on ev3dev and Pybricks. www.ev3dev.org. Архів оригіналу за 31 жовтня 2021. Процитовано 21 квітня 2020.
  18. ↑ Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4. www.raspberrypi.org. Архів оригіналу за 18 серпня 2021. Процитовано 21 січня 2021.

Посилання

[ред. | ред. код]