XiaoMu con Python: acceder a la cámara y al micrófono
El ejemplo de XiaoMu permite capturar imagen y sonido en el robot. Qué debes preparar, por qué no muestra vídeo remoto y cómo separar captura de reconocimiento.

Timu XiaoMu Programming Edition permite acceder desde Python a su cámara y micrófono para preparar un proyecto propio de visión o audio. El ejemplo oficial captura los datos dentro del robot: ejecutarlo mediante una conexión SSH no convierte automáticamente el portátil en un monitor remoto. Esa diferencia determina cuánto trabajo falta para construir una aplicación que vea o escuche.
Esta guía documental examina el código publicado por Timu, sin una prueba física del robot. Complementa la presentación de XiaoMu y sus interfaces de programación con una tarea concreta: entender y preparar la captura antes de añadir reconocimiento o transmisión.
El ejemplo abre dispositivos, pero no envía vídeo
El archivo hardware_raw_demo.py de Timu [en] utiliza OpenCV para abrir la cámara y leer imágenes. En el punto donde podría codificarlas y enviarlas a otro equipo solo hay un comentario con trabajo pendiente. Tampoco incorpora una ventana de previsualización ni un servidor al que conectarse desde el navegador.
Por eso, que el programa siga abierto sin enseñar una imagen no demuestra que la cámara falle. La documentación de OpenCV [en] separa expresamente abrir la captura, leer un fotograma y mostrarlo. La visualización exige una operación adicional. Una primera ampliación razonable sería guardar una imagen de prueba en el robot y comprobar el archivo antes de desarrollar un flujo continuo.
El audio sigue la misma lógica. La función que recibe los bloques del micrófono no los guarda ni los manda a otro ordenador. Capturar sonido proporciona muestras para procesar; por sí solo, ese acceso no transcribe palabras ni identifica quién habla.
Preparar una sesión sin competir con los servicios del robot
La práctica requiere la edición programable, acceso a su Linux y las bibliotecas que importa el archivo: OpenCV, sounddevice y PyAudio, además de módulos de Python. El ordenador puede servir como terminal SSH; el código debe ejecutarse en XiaoMu si se quiere utilizar su hardware.
Antes de empezar, conviene seguir este orden:
- Localiza la dirección IP del robot en el router y entra mediante el procedimiento SSH del repositorio de ejemplos [en]. Comprueba que estás en el robot, no en la terminal local del portátil.
- Guarda cualquier trabajo y revisa las instrucciones iniciales del archivo. Timu pide detener
robot_listener,robot_speakeryrobot_eyepara evitar que sus servicios habituales compitan por los dispositivos. Durante la prueba se interrumpen esas funciones. - Revisa los índices de cámara y entrada de audio y la ruta del WAV de prueba. El ejemplo selecciona el dispositivo 0; no explora automáticamente todas las entradas disponibles.
- Ejecuta la demostración con los permisos indicados por el fabricante y observa los mensajes de cada componente por separado. Termina con
Ctrl+Cy comprueba después la recuperación de las funciones habituales.
El archivo también intenta reproducir un WAV. Un error al abrir ese fichero debe investigarse aparte del acceso al micrófono. Mantener separados los tres resultados evita confundir un recurso de audio ausente con un fallo general del robot.
Añadir procesamiento sin bloquear la entrada
Para desarrollar una reacción al sonido, la biblioteca python-sounddevice [en] aporta una condición que el ejemplo no desarrolla: la función que recibe audio debe terminar a tiempo. Su documentación desaconseja escribir archivos o realizar operaciones bloqueantes dentro de esa llamada.
Una arquitectura más adecuada separaría la recepción de muestras del trabajo lento, como guardar una grabación o consultar un modelo. Es una propuesta de desarrollo, no una función ya resuelta en la demostración. También hay que implementar el transporte si se desea procesar en el portátil; el README aclara que no incluye transmisión por red.
El alcance local de este archivo tampoco demuestra que todos los servicios de compañía de XiaoMu funcionen igual. Aquí se inspecciona una captura de hardware, independiente de las conversaciones del producto. Dentro de los robots de escritorio, su utilidad está en ofrecer un cuerpo con sensores sobre el que construir ese circuito propio.
La tienda internacional de Timu [en] ofrece Programming Edition, color Cream, por 380 dólares estadounidenses, con robot, base magnética, cable USB-C y manual. La ficha anuncia impuestos incluidos y envío gratuito, mientras la política de transporte [en] sigue indicando portes de pago. Para un pedido a España conviene confirmar destino y total con Timu antes de pagar; su oferta de envío mundial no garantiza una entrega concreta. Quien ya tenga la edición programable puede empezar por comprobar la captura, sin contratar una API de reconocimiento.
Fuentes
- Timu — código de captura de cámara, micrófono y reproducción de audio [en]
- Timu — requisitos, acceso SSH y alcance del ejemplo de hardware [en]
- OpenCV — diferencias entre capturar, mostrar y guardar vídeo [en]
- python-sounddevice — acceso a dispositivos y restricciones de las funciones de audio [en]
- Timu — Programming Edition, precio, contenido y oferta comercial internacional [en]
- Timu — política de envío mundial y condiciones DDP [en]
- Imagen: fotografía oficial de dos XiaoMu publicada por Timu; adaptación para cabecera [en]
Sigue explorando
Robots relacionados
Descubre sus fichas y todo lo que hemos contado sobre ellos.