Ha nacido una nueva forma de programar microcontroladores y es a través del Lenguaje de Programación MicroPython. Pero qué es MicroPython, aquí te exponemos sus atractivas características, así como porqué podría ser una nueva alternativa para el desarrollo de tus proyectos. Se hace una comparativa con la ya conocida plataforma Arduino. Pero si apenas estás iniciando en esto del desarrollo tampoco es un problema, MicroPython puede ser probablemente una de las mejores opciones para iniciar tu aprendizaje.
¿Qué es MicroPython?
De acuerdo a la definición del sitio oficial, MicroPython es un pequeño pero eficiente interprete del Lenguaje de Programación Python 3 que incluye un subconjunto mínimo de librerías y que además está optimizado para que pueda correr en microcontroladores y ambientes restringidos.
Con MicroPython tienes la posibilidad de escribir códigos más simples, en lugar de usar Lenguajes de Programación de más bajo nivel como C o C++, que es el que utiliza Arduino por ejemplo.
Hay algunas características que MicroPython tiene y es lo que lo hace único y diferente de otros sistemas embebidos:
- Tiene una RELP Interactiva (Read-Eval-Print Loop Por sus siglas en Ingles). Que es un pequeño programa que Lee e interpreta los comandos del usuario, los Evalua y después imprime el resultado. Esto permite conectar alguna tarjeta (microcontrolador que soporte Python) y esta tiene que ejecutar el código sin necesidad de Compilar ni Cargar el programa.
- Muchas librerías. Así como el Lenguaje de Programación Python cuenta con un sin fin de librerías para la ejecución de tareas, MicroPython también viene bien cargado con bastantes paquetes para ahorrar trabajo. Es posible ejecutar análisis de datos JSON desde un servicio web, búsqueda de texto en expresiones regulares o hasta levantar un Socket dentro de una red tan solo con las funciones ya precargadas.
- Extensibilidad. Para los usuarios avanzados de MicroPython, pueden extender de Python a funciones de más bajo nivel como C o C++, pudiendo mezclar códigos que requieran de ejecución más rápida a bajo nivel con MicroPython que es de más alto nivel.
¿Qué puedo hacer con MicroPython?
Ahora que ya sabes qué es MicroPython interesaría saber qué se puede hacer con él. Pues se pueden hacer muchas cosas con MicroPython, como controlar pines de tarjetas, hacer parpadear un LED, lecturas digitales, generar señales PWM, controlar servomotores, lecturas de señales analógicas, comunicación I2C, SPI, conexiones de Red y WiFi en algunas tarjetas, inclusive MicroPython también ya integra librerías para controlar NeoPixel, algunas pantallas OLED, y muchas otras cosas más.
Aquí algunos ejemplos de funcionamiento:
Aquí con el ESP8266 de Adafruit.
Desventajas.
MicroPython puede hacer casi cualquier cosa que haga un Arduino. Una de las diferencias que se pueden notar es que en MicroPython los códigos no son tan rápidos, además de que podrían ocupar más memoria en comparación con los Lenguajes C o C++. Particularmente esto no es tan relevante cuando se usa en proyectos normales.
MicroPython utiliza gran parte del núcleo de Python 3 pero no en su totalidad, esto podría ser otra desventaja, y es que aunque se han minimizado y optimizado todos los paquetes del core, no ha sido posible incluir todos por la mínima memoria que se utiliza. Lo que se ha hecho es utilizar versiones ultra reducidas de las bibliotecas tratando de ofrecer al usuario la mejor de las experiencias en el desarrollo al momento de programar en él.
Qué tarjetas son compatibles con MicroPython.
Esta es la lista de tarjetas compatibles con MicroPython:
1.- pyboard. Esta es la primer placa MicroPytho. Tiene soporte directo y para utilizarla simplemente se conecta pues ya viene configurada directamente para ser utilizada.
2.- ESP8266 Adafruit. Con esta tarjeta se pueden ejecutar varios proyectos conectados a Internet. Una característica especial es que puedes ejecutar códigos mediante Shell desde un navegador web.
3.- WiPy. Esta es otra tarjeta que integra WiFi desarrollada por Pycom ofreciendo un entorno de desarrollo amigable para ajecutar códigos MicroPython en ella. Aquí puedes ver las características completas de la tarjeta.
4.- BBC micro:bit. Esta tarjeta cuenta con un gran soporte para cargarle códigos en MicroPython. Cuenta con herramientas para programar y acceder a todos sus periféricos como Leds, acelerómetro, radio, etc. Aquí podrás encontrar más información de la BBC micro:bit.
5.- Teensy 3.X. La serie 3.X de Teensy cuenta con un puerto que soporta MicroPython. Para esto hay que tener experiencia en Firmware y compilación de código para echar a andar el puerto. Se recomienda visitar el foro para tener idea de cómo hacerlo.
Puedes visitar los repositorios de MicroPython para ver qué otras tarjetas son compatibles aquí en GitHub.
¿Se necesita experiencia en Python?
No se requiere de experiencia en Python, algo por lo que se ha caracterizado este Lenguaje de Programación es por su código simple y limpio que ayuda demasiado a todos aquellos que están iniciando a comprender fácilmente la sintaxis a la hora de programar, Python podría ser la mejor opción para los principiantes, seguro que te va a gustar.
Para los expertos en Python al explorar MicroPython notarán que tiene casi todo el potencial que el núcleo original, no van a extrañar del todo las poderosas funciones con las que cuenta Python normalmente. Y si es de su interés podrían colaborar para seguir creando librerías y funciones en MicroPython.
Aquí dejamos recursos gratuitos con los que pueden empezar a conocer y aprender Python.
1.- learnpythonthehardway
2.- Guide to Python.
Más información.
Dejamos esta lista de recursos donde puedes aprender más acerca de MicroPython y cómo utilizarlo con algunas tarjetas en específico:
1.- MicroPython Sitio Oficial.
2.- pyboard y MicroPython. Documentación.
3.- ESP8266 y MicroPython. Documentación.
4.- BBC micro:bit y MicroPython. Documentación.
5.- WiPy y MicroPython. Documentación.
6.- Wiki para el desarrollador en MicroPython.
7.- Diferencias entre Python y MicroPython.
Para obtener ayuda y soporte por toda la comunidad alrededor de este gran proyecto puedes visitar los siguientes enlaces:
1.- Foro de MicroPython.
2.- GitHub Oficial de MicroPython.
Ahora que conoces acerca de este Lenguaje y sabes qué es MicroPython puedes comenzar a profundizar y adquirir nuevas habilidades para el desarrollo de tus proyectos.
Referencias. Adafruit.