+86 755-83044319

Perspectivas

/
/

Introducción sencilla a los sistemas integrados (1): ¿Qué es MicroPython?

hora de lanzamiento:2022-03-08Fuente del autor:SlkorExplorar:2122

A medida que Python se convirtió en el lenguaje de programación dominante, MicroPython se volvió cada vez más popular en el espacio de los sistemas integrados, especialmente en el popular ESP32 y el módulo Pico basado en el microcontrolador RP2040 que acaba de lanzar la Fundación Raspberry PI.

Como bannon que no podía escribir una línea de código, me sentí muy limitado la mayor parte del tiempo y prometí encontrar un buen momento para aprender un lenguaje de programación. Me dediqué a MicroPython durante el feriado de 7 días del Día Nacional y realicé todas las funciones de los periféricos en el tablero en el tablero de aprendizaje de extensión Pico diseñado por mí mismo:

  • Iluminación elegante: monocromática, tres colores RGB, todo tipo de combinaciones, también se puede controlar mediante botones y sensores.

  • La pantalla OLED muestra texto, imágenes y formas de onda.

  • La señal de audio se recopila y se muestra en la pantalla OLED, creando una visualización de forma de onda genial.

  • Jugando "Yo y mi País" con el timbre en el tablero

  • Portar el código de otra persona para generar formas de onda arbitrarias: cambiar formas de onda, cambiar frecuencia, cambiar magnitud, etc.



Lo que más me IMPRESIONÓ durante la "exploración" de 7 días fue lo fácil que fue comenzar con sistemas integrados en MicroPython: ricos recursos de código abierto, diversas formas de referencia, como cursos en video, casos de texto, etc.

MicroPython es realmente un gran lenguaje de programación: orientado a objetos, flexible, simple y elegante.

Mi aprendizaje personal se beneficia del intercambio de otros (código abierto), y la mejor manera de transmitir conocimientos es compartir lo que he aprendido y lo que he aprendido. Por lo tanto, planeo lanzar un tutorial de programación integrada Micro Python basado en Pico, que se lanzará oficialmente en un mes. Por supuesto, En la etapa inicial, habrá 15 cursos en vivo de diseño de PCB, que lo llevarán a diseñar usted mismo una placa de aprendizaje Pico. Después de todo, en el entorno conveniente de placa de impresión gratuita y envío gratuito, basado en una placa con núcleo Pico, cualquiera puede diseñar PCB para realizar diversas aplicaciones interesantes en el futuro. Aprender a diseñar una PCB también puede ser una ventaja para los ingenieros de sistemas integrados.

A partir de ahora habrá una serie de artículos técnicos relacionados con este curso. Hoy es el primero:

1. ¿Qué es MicroPython?

MicroPython es un pequeño intérprete del lenguaje de programación Python de código abierto que se ejecuta en una pequeña placa de desarrollo integrada. Con MicroPython, puede escribir código Python limpio y simple para controlar el hardware sin tener que usar lenguajes subyacentes complejos como C o C++ (Arduino para programación).


Logotipo de MicroPython

La simplicidad del lenguaje de programación Python hace que MicroPython sea una opción ideal para principiantes en programación y hardware. MicroPython tiene muchas funciones y es compatible con la mayoría de la sintaxis de Python, por lo que incluso los veteranos experimentados de Python encontrarán el uso de MicroPython familiar y divertido.

Además de ser fácil de usar, MicroPython tiene algunas características únicas que lo diferencian de otros sistemas integrados:

Utilice un intérprete interactivo: REPL (Leer Leer-Evaluar Evaluar-Imprimir Imprimir- Bucle Bucle): esto le permite conectarse a una placa y hacer que ejecute código sin compilar ni cargar. ¡Perfecto para aprender rápidamente y experimentar con hardware!

Bibliotecas de software enriquecidas: al igual que el lenguaje de programación Python normal, MicroPython tiene una gran cantidad de bibliotecas integradas para admitir muchas tareas. Por ejemplo, a través de las bibliotecas integradas de MicroPython, es fácil analizar datos JSON de servicios web, buscar texto usando expresiones regulares e incluso programar sockets de red.

Extensibilidad: para usuarios avanzados, MicroPython se puede ampliar con funciones C/C++ de bajo nivel, por lo que puede combinar código MicroPython expresivo de alto nivel con código más rápido de bajo nivel cuando sea necesario.

MicroPython es una variante del lenguaje Python 3. Es una creación de Darrien P. George, Ph.D., de la Universidad de Cambridge, quien trabajó con un equipo de financiación colectiva para desarrollar una placa de desarrollo de hardware habilitada para microPython llamada PyBoard en 2013. MicroPython1.0 se presentó en la conferencia de Python ( PyCon) en 2014. El Dr. George también creó el sitio web Micro Python.org (www.micropython.org) para admitir MicroPython y Pyboard.


El logotipo oficial de MicroPython.Org

MicroPython.Org PyBoard, basado en el controlador STM32.


2. ¿Qué puede hacer MicroPython?

MicroPython está diseñado para crear programas de control de sistemas integrados de forma rápida y eficiente. Los sistemas integrados se pueden definir simplemente como cualquier proyecto que requiera el uso de microcontroladores para satisfacer las necesidades de ingeniería. Los sistemas integrados típicos suelen utilizar sensores y, a veces, actuadores electromecánicos para interactuar con microcontroladores. Pueden estar conectados a dispositivos de interfaz hombre-máquina para facilitar la interacción, pero son más automatizados, para operación independiente o acceso remoto a la nube.

Al igual que las placas Arduino, MicroPython puede controlar el hardware y los dispositivos conectados: puede controlar las luces intermitentes de los pines GPIO, los interruptores de lectura y más; Puede controlar la señal PWM que puede controlar el servidor y el LED; Los sensores analógicos se pueden leer y leer a través de un convertidor analógico a digital. También es fácil comunicarse con dispositivos I2C o SPI. Incluso puedes encontrar soporte de red y WiFi en algunas placas. MicroPython incluso tiene bibliotecas para controlar otro hardware, como NeoPixels y tiras de LED, pantallas OLED en miniatura, etc. En resumen, ¡MicroPython puede hacer muchas cosas!

¿Cuáles son las limitaciones de MicroPython?

MicroPython tiene muy pocas limitaciones y casi cualquier cosa que Arduino pueda hacer se puede hacer a través de placas MicroPython. Sin embargo, es importante tener en cuenta que el código MicroPython no es tan rápido y puede requerir más memoria que un Arduino similar u otro código de bajo nivel basado en C/C++, aunque esto generalmente no importa porque las diferencias de velocidad y memoria no son lo suficientemente grandes como para afectan a la mayoría de las aplicaciones. Tenga en cuenta que es posible que el código crítico en términos de tiempo o rendimiento no funcione en MicroPython. Por ejemplo, utilizar software exclusivamente para controlar pines IO para implementar algunos protocolos de comunicación serie de alta velocidad en MicroPython puede no ser la mejor idea. Sin embargo, hay formas de combinar MicroPython y código C/C++ de bajo nivel para que podamos tener lo mejor de ambos mundos: la lógica principal es un código MicroPython limpio y fácil de entender, mientras que las partes críticas para el rendimiento están escritas en código de bajo nivel más rápido.

El lenguaje MicroPython implementa la mayor parte del lenguaje principal Python 3, pero MicroPython no implementa toda la biblioteca estándar de Python 3. Python es conocido por tener una extensa biblioteca estándar, pero intentar comprimir una biblioteca tan grande en una placa pequeña con solo kilobytes de memoria es imposible. En cambio, MicroPython implementa algunas versiones más pequeñas de la biblioteca estándar de Python, lo que brinda una excelente experiencia de desarrollo.


Descargo de responsabilidad: este artículo está reimpreso de "electronic forest", este artículo solo representa las opiniones personales del autor, no representa las opiniones de Sakwei y la industria, solo se reproduce y comparte, apoya la protección de los derechos de propiedad intelectual, indique la fuente original. y autor, si hay una infracción, contáctenos para eliminarla.



Línea directa de servicio

+86 0755-83044319

Sensor de efecto Hall

Obtener información del producto

WeChat

WeChat