# MicroPython

[中文页](README_ZH.md) | English

## 1. Введение

Это порт MicroPython на RT-Thread, который может работать на **RT-Thread 3.0** или выше. Этот программный пакет позволяет запускать MicroPython во встраиваемых системах, оснащённых RT-Thread.

Если вы впервые сталкиваетесь с RT-Thread MicroPython, рекомендуется использовать официально поддерживаемые платы разработки RT-Thread для быстрого старта. Эти платы имеют полный набор функций встроенного ПО и предоставляют исходный код, подходящий для вводного обучения, и официальную поддержку плат разработки [загрузка встроенного ПО Нажмите здесь](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=12305&extra=page%3D1%26filter%3Dtypeid%26typeid%3D20).

### 1.1 Структура каталогов
| Имя | Описание |
| ---- | ---- |
| docs | Каталог документов, включая руководство по началу работы и руководство по разработке |
| drivers | Каталог исходного кода MicroPython |
| extmod | Каталог исходного кода MicroPython |
| lib | Каталог исходного кода MicroPython |
| py | Каталог исходного кода MicroPython |
| port | Каталог кода портирования |
| LICENSE | Лицензия MIT для Micropython |

### 1.2 Лицензия

RT-Thread MicroPython следует лицензии MIT, подробности см. в файле `LICENSE`.

### 1.3 Зависимости

- RT-Thread 3.0+

## 2. Как открыть RT-Thread MicroPython

Чтобы использовать **пакет MicroPython**, его нужно выбрать в менеджере пакетов RT-Thread. Конкретный путь выглядит следующим образом:

![elect_micropytho](./docs/assets/select_micropython.png)

Затем позвольте менеджеру пакетов RT-Thread автоматически обновиться или используйте команду `pkgs --update`, чтобы обновить пакет до BSP.

## 3. Использование RT-Thread MicroPython

### 3.1 Добавление программного пакета в проект

После выбора **пакета MicroPython** при повторной компиляции с помощью `bsp` он будет добавлен в проект `bsp` для компиляции.

* Для разработки встроенного ПО обратитесь к [《Руководство по разработке встроенного ПО MicroPython》](./docs/firmware-develop.md).

* Дополнительную документацию по MicroPython можно найти в [Центре документации RT-Thread](https://www.rt-thread.org/document/site/submodules/micropython/docs/introduction/).

### 3.2 Использование MicroPython IDE

[MicroPython IDE от RT-Thread](https://marketplace.visualstudio.com/items?itemName=RT-Thread.rt-thread-micropython) предоставляет мощную среду разработки для MicroPython, которую можно напрямую искать и загружать через магазин приложений VScode. Примеры приведены ниже:

![08_direct_run_files](docs/assets/08_direct_run_files.gif)

### 3.3 Добавление C-расширения в MicroPython

Для того чтобы пользователи могли добавлять свои собственные функции C в MicroPython для вызова из скриптов Python, RT-Thread предоставляет [автоматический генератор кода привязки C для MicroPython](https://summerlife.github.io/RT-MicroPython-Generator/) для общего использования. С помощью этого инструмента пользователям нужно всего лишь выполнить несколько простых шагов, чтобы расширить функцию C. На следующем рисунке показана форма автоматически сгенерированного кода C.

![08_direct_run_files](docs/assets/c-gen.png)

## 4. Важные замечания

- Необходимо использовать **RT-Thread 3.0** или более позднюю версию.
- Выберите **последнюю** версию `Micropython` в опции `menuconfig`.
- В настоящее время модуль `ffi` под `System Module` поддерживает только GCC toolchain, и соответствующую информацию необходимо добавить в скрипт компоновщика.

## 5. Ресурсы для разработчиков

* [Форум RT-Thread MicroPython](https://www.rt-thread.org/qa/forum.php).
* [Центр документации RT-Thread MicroPython](https://www.rt-thread.org/document/site/submodules/micropython/docs/introduction/).
* [Присоединяйтесь к группе обмена RT-Thread MicroPython](https://jq.qq.com/?_wv=1027&k=5EhyEjx).