Estoy tratando de conectar un módulo de cámara a mi Arduino Mega, conectar mi Mega a mi teléfono Android (a través de BlueTooth u otro) y enviar la vista en vivo de la cámara al teléfono móvil.
Vi un video en línea que mostraba esto para imágenes fijas: una imagen capturada por el módulo de la cámara en el Arduino se envió a Android y la imagen de salida se vio después de un par de segundos (el tiempo para enviar la imagen por BT).
¿Es esto factible con video en vivo en lugar de imagen? Si es así, por favor guíame; en caso negativo, sugiera algunas soluciones alternativas.
Respuestas:
Tienes diferentes opciones (prioridad por nivel de dificultad):
Usando un teléfono inteligente como cámara. En realidad, hay aplicaciones para esto. Si puede conectar un teléfono a su robot, puede transmitir el video en vivo en otro teléfono o en la web. Sin embargo, el teléfono conectado al robot debe tener una conexión a Internet (3G o incluso Edge). Busque "transmisión en vivo" en la tienda de aplicaciones o Google Play.
Usando una cámara IP . Esta opción es bastante simple y requiere que tengas una cámara IP que luego pueda ser controlada por el Arduino. La cámara IP puede transmitir video de forma inalámbrica a su enrutador o un pastel de frambuesa. Luego puede conectar otro teléfono o computadora al enrutador para ver la imagen en vivo.
Usando una Raspberry Pi. Id normalmente no haría manipulaciones de video o imagen en la plataforma Arduino debido al bajo rendimiento que tiene. Puede conectar un Raspberry pi al Arduino. Y una buena cámara para Raspberry pi. Arduino puede enviar comandos a Raspberry pi cuando comenzar a transmitir y así sucesivamente. Luego puede hacer manipulaciones de imágenes en el Pi también. Y dado que Raspberry pi puede funcionar como un enrutador, puede conectar su teléfono inteligente al raspberry pi a través de wifi o incluso Bluetooth. Obtendrá un video FPS agradable y alto incluso con manipulaciones de texto / color.
Puede usar Android ADK como su controlador principal. Y luego el Arduino se configura como accesorio. De esta manera, Arduino puede ordenarle a Android qué hacer. Un teléfono móvil basado en Android barato le costará alrededor de 100 USD y obtendrá muchas características por el precio. Como GPS, cámara, batería, etc. La mayoría de los teléfonos inteligentes modernos tienen la capacidad de crear un punto de acceso wifi. Luego puede conectar cualquier otra plataforma wifi a ese punto de acceso y controlar el robot o, en su caso, ver un video en vivo. Esto es por el método más elegante en mi opinión.
fuente
Mi solución es una solución alternativa.
No envío los marcos de imagen relativamente grandes a través de Bluetooth, pero uso el teléfono Android con OpenCV para grabar el video en vivo y dirigir el Arduino a través de Bluetooth con unos pocos comandos cortos después del procesamiento de la imagen. El teléfono está ubicado cerca del Arduino tal como lo estaría una cámara conectada a Arduino.
Si desea ver las imágenes, o alguna versión procesada de ellas, de forma remota, puede usar otro teléfono conectado al teléfono con cámara a través de una segunda conexión Bluetooth.
No estoy listo con lo anterior, una versión de Mindstorms NXT, Android, OpenCV está aquí .
fuente
así es como me las arreglé para resolver mi problema: conseguí instalar mi cámara web IP anterior de wildfire , configuré un punto de acceso wifi desde mi nexus4, me conecté desde el wildfire, tomé la ip del wildfire y la puse en el visor web del nexus4.
fuente
Sí, es posible, pero tenga en cuenta los siguientes puntos.
1) si está utilizando Bluetooth, la velocidad de transferencia de datos depende de diferentes versiones, como para v2 blue tooth, su velocidad de transferencia de datos es de 3 Mb \ s.
2) Ahora supongamos que está utilizando una cámara como ov7670 en modo QVGA (320 x 240 píxeles para un cuadro) cada píxel es de 8 bits, para un buen video necesita 30 cuadros por segundo, que son 76800 bytes para un cuadro, para 30 cuadros es de 2,3 Mb \ s.
3) Ahora 2.3 MB \ S <3 MB \ s, puede vivir la transmisión de video.
4) El resto depende de lo bueno que sea para comprender la programación y hacer conexiones electrónicas con diferentes módulos.
fuente
Para responder la pregunta "¿es factible", diría que sí. Aparentemente, hay un producto llamado Looxcie que hace esto, según esta revisión en Slashgear .
Supongo que está utilizando el Protocolo de transporte de control de audio / video (AVCTP) de BlueTooth , por lo que puede verificar dispositivos y bibliotecas de software de teléfonos móviles que admitan AVCTP.
fuente