Блоги
Блоги
Простое введение во встроенные системы (1) — Что такое MicroPython?
2022-03-08 1224

Поскольку Python стал доминирующим языком программирования, MicroPython становился все более популярным в пространстве встраиваемых систем, особенно в популярном ESP32 и модуле Pico на базе микроконтроллера RP2040, только что выпущенном Raspberry PI Foundation.

Будучи Бэнноном, который не мог написать ни строчки кода, я большую часть времени чувствовал себя очень ограниченным и поклялся найти хорошее время для изучения языка программирования. Я посвятил себя MicroPython во время 7-дневных праздников, посвященных Национальному дню, и реализовал все функции периферийных устройств на плате на разработанной мной обучающей плате расширения Pico:

  • Необычное освещение - монохромное, RGB три цвета, всевозможные комбинации, также можно управлять кнопками и датчиками.

  • На OLED-экране отображается текст, изображения и сигналы.

  • Аудиосигнал собирается и отображается на OLED-экране, создавая классное отображение формы волны.

  • Игра «Я и моя страна» с зуммером на доске.

  • Портирование чужого кода для генерации сигналов произвольной формы — изменение формы сигналов, изменение частоты, изменение величины и т. д.



Что меня больше всего ВПЕЧАТЛИЛО во время 7-дневного «исследования», так это то, насколько легко было начать работу со встроенными системами в MicroPython — богатые ресурсы с открытым исходным кодом, различные формы справок, такие как видеокурсы, текстовые кейсы и т. д.

MicroPython — действительно великолепный язык программирования — объектно-ориентированный, гибкий, простой, элегантный!

Мое личное обучение выигрывает от того, что другие делятся ими (открытый исходный код), и лучший способ передать знания — поделиться тем, что я узнал и чему научился. Поэтому я планирую запустить учебное пособие по встроенному программированию Micro Python на основе Pico, которое будет официально запущено через месяц. Конечно, На раннем этапе будет проведено 15 интерактивных курсов по проектированию печатных плат, которые позволят вам самостоятельно спроектировать учебную плату Pico. В конце концов, в удобной среде бесплатной печатной платы и бесплатной доставки на основе базовой платы Pico каждый может спроектировать печатную плату для создания различных интересных приложений в будущем. Обучение проектированию печатных плат также может быть преимуществом для инженеров встраиваемых систем.

С этого момента будет серия технических статей, связанных с этим курсом. Сегодня первый:

1. Что такое МикроПитон

MicroPython — это небольшой интерпретатор языка программирования Python с открытым исходным кодом, работающий на небольшой встроенной плате разработки. С помощью MicroPython вы можете писать чистый и простой код Python для управления оборудованием без необходимости использовать сложные базовые языки, такие как C или C++ (Arduino для программирования).


Логотип МикроПитон

Простота языка программирования Python делает MicroPython идеальным выбором для новичков в программировании и аппаратном обеспечении. MicroPython очень полнофункционален и поддерживает большую часть синтаксиса Python, поэтому даже опытные ветераны Python найдут использование MicroPython знакомым и увлекательным.

Помимо простоты использования, MicroPython обладает некоторыми уникальными особенностями, которые отличают его от других встроенных систем:

Используйте интерактивный интерпретатор: REPL (Чтение-Оценка-Оценка-Печать Печать- Цикл) — это позволяет вам подключиться к плате и заставить ее выполнять код без компиляции или загрузки — идеально подходит для быстрого обучения и экспериментов с оборудованием!

Богатые библиотеки программного обеспечения. Как и обычный язык программирования Python, MicroPython имеет большое количество встроенных библиотек для поддержки многих задач. Например, с помощью встроенных библиотек MicroPython можно легко анализировать данные JSON из веб-служб, искать текст с помощью регулярных выражений и даже программировать сетевые сокеты.

Расширяемость. Для опытных пользователей MicroPython может быть расширен с помощью низкоуровневых функций C/C++, поэтому при необходимости вы можете смешивать выразительный высокоуровневый код MicroPython с более быстрым низкоуровневым кодом.

MicroPython — это вариант языка Python 3. Это детище Дэрриена П. Джорджа, доктора философии из Кембриджского университета, который работал с командой краудфандинга над разработкой платы для разработки аппаратного обеспечения с поддержкой microPython под названием PyBoard в 2013 году. MicroPython1.0 был представлен на конференции Python ( PyCon) в 2014 году. Доктор Джордж также создал веб-сайт Micro Python.org (www.micropython.org) для поддержки MicroPython и Pyboard.


Официальный логотип MicroPython.Org

MicroPython.Org PyBoard на базе контроллера STM32.


2. Что может MicroPython?

MicroPython предназначен для быстрого и эффективного создания программ управления встроенными системами. Встроенные системы можно определить как любой проект, требующий использования микроконтроллеров для удовлетворения инженерных потребностей. Типичные встроенные системы обычно используют датчики, а иногда и электромеханические приводы для взаимодействия с микроконтроллерами. Они могут быть подключены к устройствам человеко-машинного интерфейса для упрощения взаимодействия, но они более автоматизированы для автономной работы или удаленного доступа к облаку.

Как и платы Arduino, MicroPython может управлять оборудованием и подключенными устройствами — вы можете управлять мигающими лампочками контактов GPIO, считывать переключатели и многое другое; Может управлять сигналом ШИМ, который может управлять сервером и светодиодом; Аналоговые датчики можно считывать и считывать через аналого-цифровой преобразователь. Также легко обмениваться данными с устройствами I2C или SPI. На некоторых платах вы даже можете найти поддержку сети и Wi-Fi. В MicroPython даже есть библиотеки для управления другим оборудованием, например NeoPixel и светодиодными лентами, миниатюрными OLED-дисплеями и так далее. Короче говоря, MicroPython может многое!

Каковы ограничения MicroPython?

У MicroPython очень мало ограничений, и почти все, что может сделать Arduino, можно сделать с помощью плат MicroPython. Однако важно отметить, что код MicroPython не такой быстрый и может потребовать больше памяти, чем аналогичный код Arduino или другой низкоуровневый код на основе C/C++, хотя обычно это не имеет значения, поскольку различия в скорости и памяти недостаточно велики, чтобы влияют на большинство приложений. Имейте в виду, что код, критичный ко времени или производительности, может не работать в MicroPython. Например, использование программного обеспечения для управления выводами ввода-вывода для реализации некоторых протоколов высокоскоростной последовательной связи в MicroPython может быть не лучшей идеей. Однако есть способы смешать код MicroPython и низкоуровневый код C/C++, чтобы получить лучшее из обоих миров: основная логика представляет собой чистый и простой для понимания код MicroPython, а части, критичные к производительности, написаны на более быстрый низкоуровневый код.

Язык MicroPython реализует большую часть основного языка Python 3, но MicroPython не реализует всю стандартную библиотеку Python 3. Python известен наличием обширной стандартной библиотеки, но попытка сжать такую ​​большую библиотеку на небольшую плату, имеющую всего лишь килобайты памяти, невозможна. Вместо этого MicroPython реализует несколько уменьшенных версий стандартной библиотеки Python, предоставляя отличные возможности разработки.


Отказ от ответственности: эта статья перепечатана из «электронного леса», эта статья представляет только личные взгляды автора, не отражает взгляды Саквея и отрасли, только воспроизводится и распространяется, поддерживает защиту прав интеллектуальной собственности, пожалуйста, укажите первоисточник и автор, если есть нарушение, пожалуйста, свяжитесь с нами, чтобы удалить.



Рекомендации по теме
whatsapp

Горячая линия обслуживания

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950