Opciones (rápido)

WebSocket (Flask-SocketIO / socket.io) — Muy simple si tus alumnos usan el navegador. Bi-direccional, bajo retardo, fácil de integrar con JS. Recomendado si quieres botones en una página web.

HTTP POST (fetch) — Muy simple pero más latencia / overhead. Bueno si no necesitas eventos ultra-rápidos.

UDP datagrams — Muy bajo overhead y baja latencia; sin confirmación (no es fiable al 100%). Útil para pulsos rápidos simples.

MQTT (Mosquitto) — Ideal si quieres desacoplar y escalar; requiere broker. Muy útil si habrá muchos dispositivos o quieres persistencia/retained messages.

TCP socket crudo / WebRTC — Más complejo; no necesario aquí.

  1. Instala dependencias primero:
sudo apt-get update
sudo apt-get install -y python3-pip
pip3 install flask python-socketio