Controla luces con gestos de la mano usando MediaPipe
Cuenta los dedos levantados en tiempo real y conviértelos en comandos: brillo, colores o escenas de la casa.
El modelo de puntos de la mano de MediaPipe encuentra 21 puntos en cada mano. Comparar la punta y los nudillos de cada dedo dice cuáles están arriba: un control remoto sin tocar.
Video tutorial

Video de Paul McWhorter, insertado desde YouTube. Los pasos escritos abajo son nuestros y coinciden con la lista de piezas.
Pasos de la misión
Prepara Python
Crea un entorno virtual con paquetes del sistema e instala mediapipe con pip (se necesita Raspberry Pi OS de 64 bits).
Captura imágenes
Usa Picamera2 a 640×480; MediaPipe espera imágenes RGB.
Cuenta los dedos
Para cada dedo, compara la coordenada y de la punta con la articulación de abajo.
Asigna gestos
1 dedo = encender, 2 = blanco cálido, 5 = arcoíris, puño = apagar. Mantén el gesto medio segundo antes de actuar.
Conecta la casa
En lugar de LEDs, publica el gesto por MQTT y deja que Home Assistant active escenas.
Código
import cv2, mediapipe as mp
from picamera2 import Picamera2
cam = Picamera2(); cam.configure(cam.create_video_configuration(main={"format": "RGB888", "size": (640, 480)})); cam.start()
hands = mp.solutions.hands.Hands(max_num_hands=1, min_detection_confidence=0.6)
TIPS, PIPS = [8, 12, 16, 20], [6, 10, 14, 18]
while True:
rgb = cv2.cvtColor(cam.capture_array(), cv2.COLOR_BGR2RGB)
res = hands.process(rgb)
if res.multi_hand_landmarks:
lm = res.multi_hand_landmarks[0].landmark
up = sum(lm[t].y < lm[p].y for t, p in zip(TIPS, PIPS))
print('fingers up:', up)Code comments are in English, like most libraries and docs — a good habit for makers.
Preguntas
pip install mediapipe falla
Confirma que usas Raspberry Pi OS de 64 bits y una versión de Python para la que MediaPipe publique paquetes ARM64; si no, usa una versión compatible en un entorno virtual.