Uso cámara del celular
Vamos a usar la cámara del celular como sensor óptico para nuestra plataforma móvil. Para esto deberemos usar una aplicación en el celular para permitir la conexión:
| Sistema Operativo | Nombre | Icono |
|---|---|---|
| En Android podremos usar | IP Webcam | ![]() |
| En iOS podremos usar | IP Camera Lite | ![]() |
Pruebas
Sección titulada «Pruebas»Para probar la conexión debemos tener el celular y el PC conectados al mismo router. Si con la red de la Universidad tenemos problemas, crear un hotspot o Zona de cobertura inalambrica desde el PC o el celular.
Desde la aplicación en el celular deberemos buscar la direción IP del celular, la cual cambia cada vez que nos conectamos a una red wifi (en general).
Con el siguiente código podremos probar la cámara y la aplicación.
Plataforma movil
Sección titulada «Plataforma movil»Una nueva versión de la plataforma movil puede ser descargada a continuación:
Paso a Paso
Sección titulada «Paso a Paso»Paso 1 — Instalar la aplicación y arrancar el servidor
Instale IP Webcam (Android) o IP Camera Lite (iOS) desde la tabla de arriba y siga los pasos de su aplicación.
IP Camera Lite (iOS)
- Abra la aplicación y active Turn on IP Camera Server.
- En los ajustes de video baje la resolución a 640 × 480 y el Frame Rate a 15 FPS: es suficiente para lo que vamos a hacer y reduce el retraso.
- Anote la IP y el puerto HTTP que muestra la aplicación, por ejemplo
http://192.168.137.49:8081. La aplicación también ofrece un servidor RTSP (puerto 8554), pero no lo usaremos: medimos más de 1 s de retraso con RTSP, contra unos 150 ms por HTTP.
IP Webcam (Android)
- Abra la aplicación. En Connection settings → Local broadcasting verifique que el puerto es 8080, que es el que usan los programas del curso.
- En IP Webcam settings → Video preferences baje la resolución a 640 × 480 y limite los cuadros por segundo a 15 FPS: es suficiente para lo que vamos a hacer y reduce el retraso.
- Abra el menú de los tres puntos (⋮), arriba a la derecha, y seleccione Start server.
- Anote la dirección que muestra la aplicación en pantalla, por ejemplo
http://192.168.137.49:8080.
![]() | ![]() |
| Ajustes de conexión: puerto 8080 | Menú ⋮ → Start server |
Paso 2 — Conectar el celular y el PC a la misma red
-
Conecte el celular y el PC al mismo wifi. Si la red de la universidad no deja ver un dispositivo desde el otro, cree una zona de cobertura inalámbrica (hotspot) desde el PC o el celular y conecte el otro a ella.
-
Abra en el navegador del PC la dirección del paso anterior: debe ver la página de la aplicación. Si no carga, el problema es de red y ningún programa de Python va a funcionar todavía.
- IP Webcam (Android): en Video renderer elija Browser para ver la imagen de la cámara.
- IP Camera Lite (iOS): el navegador pide usuario y contraseña; ambos son admin. La página muestra el video en vivo.


http://192.168.137.49:8080 http://192.168.137.49:8081 IP Webcam (Android) IP Camera Lite (iOS) — usuario y contraseña: admin -
Recuerde que la IP del celular cambia casi siempre que se conecta a una red: revísela al empezar cada sesión.
Paso 3 — Instalar OpenCV
Copie y ejecute estos dos comandos en la terminal, en ese orden. El primero borra cualquier versión de OpenCV que ya tenga instalada; el segundo instala la que usamos en el curso.
pip uninstall -y opencv-python opencv-python-headless opencv-contrib-python opencv-contrib-python-headlesspip install opencv-contrib-pythonPaso 4 — Probar la transmisión con C01
-
Descargue C01-ip-cam.py y llene las tres líneas del inicio con los datos que muestra la aplicación de su celular:
IP = '192.168.137.49'PUERTO = 8080IPHONE = FalsePonga
IPHONE = Truesi usa IP Camera Lite (iPhone) yIPHONE = Falsesi usa IP Webcam (Android). El puerto es el que aparece en la dirección de la aplicación: en IP Webcam suele ser8080y en IP Camera Lite8081. El programa arma la dirección correcta para cada aplicación y la imprime al empezar. -
Ejecute el programa. Debe aparecer una ventana llamada
tempcon el video del celular. -
Presione q con la ventana de video seleccionada para salir.
-
Mueva la mano frente a la cámara y estime el retraso. El programa lee la cámara en segundo plano y muestra siempre la imagen más reciente, para no mostrar imágenes viejas acumuladas.
Paso 5 — Montar el celular en el robot y probar C02
- Arme la plataforma Differential Micro y ubique el celular en el soporte, con la cámara mirando hacia el piso.
- Ejecute C02-ip-cam-rotate.py llenando
IP,PUERTOeIPHONEcomo en C01. Este programa rota la imagen 90° en sentido horario y la muestra vertical, de 480 × 640. - Empuje el robot hacia adelante con la mano: lo que está al frente del robot debe aparecer en la parte de arriba de la imagen. Si aparece abajo, cambie
cv2.ROTATE_90_CLOCKWISEporcv2.ROTATE_90_COUNTERCLOCKWISE. Todas las prácticas siguientes usan esta misma rotación, así que anote cuál le funcionó.
Problemas frecuentes
- La ventana nunca aparece o el programa termina de inmediato: la IP está mal, el servidor de la aplicación está detenido o el PC y el celular no están en la misma red. Vuelva al paso 2.
- Error
The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support: tiene instalada una versión de OpenCV que no puede abrir ventanas. Vuelva a ejecutar los dos comandos del paso 3. - El video se congela: el celular bloqueó la pantalla o la aplicación pasó a segundo plano. Desactive el bloqueo automático de pantalla mientras trabaja.
- Mucho retraso: baje la resolución en la aplicación y acerque el celular al router o al hotspot.



