MicroPython

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

 

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

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

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

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

Історія[ред. | ред. код]

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

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

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

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

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

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

Байт-код[ред. | ред. код]

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

Посилання[ред. | ред. код]