modulos-en-micropython

Cómo usar módulos en MicroPython

  • 3 min

En este tutorial vamos a ver qué son los módulos en MicroPython, cómo funcionan, cómo crearlos y cómo usarlos para organizar nuestro código.

Básicamente un módulo es es un archivo que contiene código Python (en nuestro caso MicroPython) y que puede ser importado para usar este código en otro punto del programa.

Los módulos nos permiten organizar el código en archivos separados, lo que favorece la reutilización, el mantenimiento, y que todo quede más limpito 😊.

Cómo usar módulos

Creación de un módulo

Crear un módulo en MicroPython es muy sencillo. Simeplemente guardamos nuestro código en un archivo con extensión .py que contenga funciones o variables.

Por ejemplo, si queremos hacer un conjunto de funciones relacionadas con matemáticas, podemos colocarlas en un módulo llamado matematicas.py

# matematicas.py
def sumar(a, b):
    return a + b

def restar(a, b):
    return a - b

Importación de un módulo

Para utilizar las funciones de un módulo en otro archivo, y tenemos que importarlo en el programa que lo necesite. Para ello usamos la palabra clave import:

import matematicas

resultado_suma = matematicas.sumar(10, 5)
resultado_resta = matematicas.restar(10, 5)

print(resultado_suma)  # Salida: 15
print(resultado_resta) # Salida: 5

También podemos importar funciones específicas de un módulo:

from matematicas import sumar

resultado = sumar(7, 3)
print(resultado)  # Salida: 10

Módulos estándar de MicroPython

MicroPython incluye una serie de módulos incorporados diseñados específicamente para trabajar con hardware. Algunos de los más importantes son:

MóduloDescripción
machinePermite el control del hardware, como pines GPIO, I2C, SPI y PWM.
timeProporciona funciones para gestionar el tiempo y retardos en la ejecución.
utimeSimilar a time, pero optimizado para MicroPython.
sysOfrece información sobre el sistema y la ejecución del script.
osPermite interactuar con el sistema de archivos.
gcProporciona control sobre el recolector de basura.
networkPermite la gestión de conexiones de red, como WiFi y sockets.
ujsonManeja la codificación y decodificación de datos en formato JSON.
ureProporciona expresiones regulares en MicroPython.
ustructPermite manipular datos binarios de forma eficiente.
ubinasciiOfrece funciones para conversión entre datos binarios y ASCII (Base64, hex, etc.).
randomGeneración de números pseudoaleatorios.
mathFunciones matemáticas como senos, cosenos, raíz cuadrada, etc.
builtinsContiene funciones y excepciones integradas de Python.

Para usarlos, simplemente haríamos un import y ya tenemos disponibles las funcionalidades disponibles en nuestro código.

import machine
led = machine.Pin(2, machine.Pin.OUT)  # Configura el pin 2 como salida
led.value(1)  # Enciende el LED

Puedes listar los módulos que tienes disponibles en tu placa ejecutando

help("modules")

Módulos de terceros

En ocasiones necesitaremos instalar módulos desarrollados por la comunidad. Es decir, lo que normalmente llamamos “bibliotecas” (que en MicroPython serán módulos).

En el próximo tutorial veremos como podemos descargar y usar bibliotecas desarrolladas por terceros en nuestros proyectos.