Aprendiendo a Testear APIs - Postman
Testing Para Todos
Why SHOULD You Learn API Testing? 📬 | #1
https://www.youtube.com/watch?v=w0dRuyKQW3M
Domina las Partes del Request a una API | # 2
https://www.youtube.com/watch?v=ANP4s02Lkhw
Aprendiendo a Testear APIs - Postman
Testing Para Todos
Why SHOULD You Learn API Testing? 📬 | #1
https://www.youtube.com/watch?v=w0dRuyKQW3M
Domina las Partes del Request a una API | # 2
https://www.youtube.com/watch?v=ANP4s02Lkhw
Linux Mint 22.2 es una de esas distribuciones que te hacen sentir en casa desde el primer minuto. Su escritorio Cinnamon sigue siendo ligero, moderno y tremendamente práctico, pero como siempre pasa en Linux, hay varias cosas que conviene ajustar, instalar y optimizar para dejar el sistema realmente listo para trabajar, estudiar o simplemente disfrutar del día a día.
En esta guía te voy a mostrar paso a paso qué hacer después de instalar Linux Mint 22.2, basándome en la experiencia real de uso y en esos ajustes que verdaderamente marcan la diferencia. Nada de cosas rebuscadas: solo lo que necesita un usuario real.
Aunque Mint ya viene muy pulido, lo primero es actualizar todos los paquetes:
sudo apt update && sudo apt upgrade -yTambién podés actualizar directamente desde la herramienta Administrador de actualizaciones, pero siempre recomiendo hacerlo por terminal para asegurarte de que todo queda realmente al día.
Mint hace un gran trabajo detectando drivers, pero si tenés una placa NVIDIA o hardware de Wi-Fi/Bluetooth extraño, conviene revisar:
Menú → Administración → Controladores adicionales
Elegí siempre el driver propietario recomendado. En NVIDIA suele ser el que mejor rendimiento da con juegos, OBS, edición de video y demás.
Aunque no seas gamer, Vulkan le da una mejora interesante al sistema. Instalalo con:
sudo apt install mesa-vulkan-drivers vulkan-toolsSi sos gamer, también podés instalar soporte adicional:
sudo apt install gamemodeMint permite activar un sistema de mantenimiento inteligente para borrar kernels viejos, paquetes huérfanos y caches:
Menú → Administración → Administrador de actualizaciones → Automatización
Habilitá:
Cinnamon 6.x incluye mejoras visuales, pero Mint viene con un estilo conservador. Si querés darle un toque más moderno:
Menú → Configuración del sistema → Temas
Probá “Mint-Y-Dark”, o los nuevos colores. También podés activar el escritorio en modo oscuro completo.
Si querés un Mint más rápido y fresco, aplicá estas mejoras:
Mint 22 ya trae zRAM activado, pero podés verificarlo:
systemctl status zramswap
Preload acelera la apertura de apps:
sudo apt install preloadY si tenés SSD (seguramente sí), activá TRIM en modo automático:
sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timerMint no incluye firewall activado por defecto. Podés encenderlo con:
sudo ufw enableVer estado:
sudo ufw statusMint 22.2 usa APT y Flatpak como sistemas principales. Snap está disponible, aunque deshabilitado por Canonical — podés habilitarlo si querés.
Antes de instalar apps vía Flatpak, podés leer nuestras guías completas:
A continuación, te dejo las aplicaciones más recomendadas:
sudo apt install gimp
flatpak install flathub org.gimp.GIMPsudo apt install vlc
flatpak install flathub org.videolan.VLCsudo apt install obs-studio
flatpak install flathub com.obsproject.Studiosudo apt install steam
flatpak install flathub com.valvesoftware.Steamsudo apt install timeshiftAdemás de las anteriores, estas apps son muy útiles en el día a día:
Linux Mint 22.2 es una de las mejores experiencias para quienes buscan un sistema estable, rápido y familiar, pero con toda la libertad que ofrece Linux. Después de aplicar estos pasos vas a tener un Mint optimizado, seguro, con drivers correctos, buen rendimiento y todas las aplicaciones necesarias para comenzar a trabajar desde el primer día.
Disfrutá de tu nuevo sistema y, como siempre, si querés seguir profundizando podés explorar nuestros otros artículos de NotiLinux. ¡A seguir linuxeando! 🐧
MicroPython en tu ESP32 usando Thonny IDE
sudo usermod -a -G dialout $USER
/dev/ttyUSB0 o /dev/ttyACM0)./dev/ttyUSB0.ESP32 (o ESP32 / WROOM según tu modelo).Expressif ESP32).💡 Nota Importante: Thonny se conectará a internet, descargará el archivo.binoficial, borrará la memoria de la ESP32 (Flash) e instalará el sistema de forma automática. Tardará cerca de un minuto.
MicroPython v1.2X.X on 2026-XX-XX; ESP32 module with ESP32
Type "help()" for more information.
>>>
print("Hola desde ESP32") y presionas Enter, la placa te responderá inmediatamente. Desde este momento, cualquier archivo de código que guardes en Thonny te dará la opción de almacenarlo directamente dentro de la memoria de la ESP32.
| Categoría | Comando en MicroPython | Descripción / Acción |
|---|---|---|
| Ayuda y Sistema | help() | Muestra información básica y ayuda del sistema. |
import gc; gc.collect(); gc.mem_free() | Libera memoria RAM basura y muestra los bytes libres. | |
import machine; machine.reset() | Reinicia por completo la ESP32 (Hard Reset). | |
import machine; machine.freq() | Muestra la frecuencia actual del reloj (normalmente 160MHz o 240MHz). | |
| Archivos y Directorios | import os; os.listdir() | Lista todos los archivos dentro de la memoria de la ESP32 (como ls). |
os.mkdir('nombre_carpeta') | Crea una nueva carpeta en el almacenamiento. | |
os.chdir('nombre_carpeta') | Cambia el directorio de trabajo actual (como cd). | |
os.remove('archivo.py') | Elimina un archivo específico (como rm). | |
os.stat('archivo.py') | Muestra el tamaño en bytes y metadatos del archivo. | |
| Lectura/Escritura de Archivos | f = open('boot.py', 'r'); print(f.read()); f.close() | Lee y muestra el contenido de un archivo en pantalla (como cat). |
f = open('test.py', 'w'); f.write('print("Hola")'); f.close() | Crea o sobreescribe un archivo escribiendo texto en él. | |
| Control de Pines (GPIO) | from machine import Pin | Importa la librería necesaria para controlar los pines físicos. |
led = Pin(2, Pin.OUT) | Configura el Pin 2 (suele ser el LED azul integrado) como salida. | |
led.value(1) o led.on() | Enciende el pin (pone el voltaje en alto, 3.3V). | |
led.value(0) o led.off() | Apaga el pin (pone el voltaje en bajo, 0V). | |
boton = Pin(4, Pin.IN, Pin.PULL_UP) | Configura el Pin 4 como entrada con resistencia Pull-Up. | |
boton.value() | Lee el estado del pin (devuelve 1 o 0). | |
| Señales Analógicas y PWM | from machine import ADC; adc = ADC(Pin(34)) | Configura el Pin 34 para leer voltajes analógicos (0 a 3.3V). |
adc.read_uv() | Lee el voltaje del pin analógico directamente en microvoltios. | |
from machine import PWM; pwm = PWM(Pin(2), freq=1000, duty_u16=32768) | Genera una señal PWM (para atenuar luces o mover servos). | |
| Redes y Wi-Fi | import network; wlan = network.WLAN(network.STA_IF) | Inicializa la interfaz de red en modo estación (cliente). |
wlan.active(True) | Enciende la antena Wi-Fi de la ESP32. | |
wlan.scan() | Escanea las redes Wi-Fi al alcance y muestra sus datos. | |
wlan.connect('SSID', 'PASSWORD') | Se conecta a tu red Wi-Fi local. | |
wlan.isconnected() | Devuelve True si la conexión Wi-Fi es exitosa. | |
wlan.ifconfig() | Muestra la dirección IP asignada, máscara, puerta de enlace y DNS. |
tio, screen o WebREPL, estos atajos te ahorrarán mucho tiempo:Ctrl + C: Interrumpe el programa que se esté ejecutando en ese momento y te devuelve la línea de comandos.Ctrl + D: Realiza un reinicio suave (Soft Reset) del software. Recarga los archivos boot.py y main.py al instante.Ctrl + E: Activa el Modo Pegado (Paste Mode). Ideal para copiar códigos largos desde tu Linux y pegarlos en la consola sin que se rompa la indentación. Presionas Ctrl + D para terminar de pegar y ejecutar.
ESP32 consola comandos acceder por Wi-Fi a MicroPython WebREPL o configurando una terminal por Telnet/SSH.
import webrepl_setup
E para habilitarlo (enable).boot.py en la ESP32 con este código:import network
import webrepl
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('Conectando a la red...')
wlan.connect('NOMBRE_DE_TU_WIFI', 'CONTRASEÑA_DE_TU_WIFI')
while not wlan.isconnected():
pass
print('Configuración de red:', wlan.ifconfig())
# Inicia el servicio inalámbrico
webrepl.start()
192.168.1.50).ws://192.168.1.50:8266/) y haz clic en Connect.telnet o netcat) en lugar de un navegador web, puedes levantar un servidor de sockets manual en la ESP32 que redirija la consola.import os
import socket
# Crear un servidor en el puerto 23 (Telnet)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0', 23))
s.listen(1)
print("Esperando conexión Telnet...")
conn, addr = s.accept()
# Redirigir la consola interactiva (REPL) al socket de red
os.dupterm(conn)
telnet 192.168.1.50 23
mpremote.
ESP32 consola interactiva estilo Unix con comandos como ls, cd, control de pines y red - Solución MicroPython
ls, cd, control de pines y red) es MicroPython. No es un Linux completo, pero em funciona como un micro-SO con REPL (consola interactiva en Python) accesible por puerto serial (/dev/ttyUSB0 o /dev/ttyACM0) desde tu otro equipo Linux usando herramientas como screen o tio. [1, 2, 3, 4] sudo usermod -a -G dialout $USER # (Solo la primera vez para permisos de puerto)
tio /dev/ttyUSB0 -b 115200
ls, cd, cat, manejo de tareas y control de hardware) corriendo sobre FreeRTOS. Muchos soportan acceso dual por consola serial UART y por Telnet a través de Wi-Fi. [9, 10, 11] pip install esptool
.bin oficial desde la web de MicroPython.esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-firmware.bin
screen, minicom o tio a 115200 baudios y verás el prompt >>> listo para usarse. [6, 12, 13, 14]
ID, Nombres, Apellidos y Correos como tu base de datos en tiempo real.[ Google Sheets ] ──(API)──> [ Next.js Backend (API Routes) ] ──> [ Frontend del Estudiante ]
- Pestaña 1: Alumnos - Valida el Correo/ID. - Muestra las 20 preguntas.
- Pestaña 2: 200 Preguntas - Mezcla y selecciona 20 de 200. - Envía las respuestas al Sheets.
Alumnos del Spreadsheet. Si el correo existe, le permite iniciar el examen.utils/quiz.ts) que procesa la selección aleatoria de las 20 preguntas de forma segura.banco_preguntas_base.zip.alumnos_template.csv: Plantilla con las columnas id, nombres, apellidos, correo listos para subir a tu Google Sheets.quiz.ts: Código fuente en TypeScript con la función algorítmica para mezclar las preguntas eficientemente en el servidor sin repetir elementos.export interface Pregunta {
id: number;
enunciado: string;
opciones: string[];
respuestaCorrecta: string;
}
// Algoritmo Fisher-Yates para aleatoriedad real
export function obtenerPreguntasAleatorias(banco: Pregunta[], cantidad = 20): Pregunta[] {
const arreglo = [...banco];
for (let i = arreglo.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[arreglo[i], arreglo[j]] = [arreglo[j], arreglo[i]];
}
return arreglo.slice(0, cantidad);
}