GoPro anuncia la nueva API ‘Open GoPro’ para aplicaciones / dispositivos de terceros

GoPro

GoPro acaba de anunciar una nueva API abierta para que la utilicen empresas / aplicaciones de terceros, llamada Open GoPro , que les permite integrarse con sus cámaras, comenzando con GoPro Hero 9. La API (Interfaz de programación de aplicaciones) permite una gran cantidad de funciones a través de la tecnología inalámbrica. interfaces, incluido el control y la transferencia de medios. 

En particular, la API no está ‘cerrada’ detrás de algún acuerdo de asociación corporativa, en cambio, cualquiera puede ponerse a trabajar creando aplicaciones para integrarse con ella.

Si la interfaz de aplicaciones (API) de GoPro te resulta familiar, es posible que así sea. Hace apenas media década que GoPro anunció su Programa para Desarrolladores de GoPro. En teoría, cubría muchas de las mismas características que el programa actual. Pero en la práctica, no era abierto.

Así que vimos a algunas empresas, como Polar, implementarlo en sus productos (vale, un puñado de productos). También lo hicieron algunas empresas de drones, como 3DR y AirDog. Pero para ello fue necesario que GoPro estableciera una asociación con todas las complejidades que ello conllevaba. Otras empresas, como Wahoo, no pudieron participar en el programa (lo intentaron, con la esperanza de integrarlo en los ordenadores de bicicleta de Wahoo).

En cambio, este nuevo programa abierto resuelve eso, ya que no hay un controlador del programa. Es una interfaz abierta que cualquiera puede utilizar.

Y el potencial es enorme para la gente que quiere desarrollar Really Cool Stuff™. Por ejemplo, al leer todos los documentos, en el ámbito del deporte, uno podría desarrollar:

  • Una aplicación Garmin Connect IQ para que el ordenador de la bicicleta o el reloj controlen la GoPro
  • Una app de escritorio para conectarse automáticamente de forma inalámbrica a tu GoPro y descargar todo el contenido en un ordenador local o dispositivo NAS
  • Integración de control de drones FPV, sin tener que hackear las cosas

Y de hecho, en el lanzamiento, hay cinco escenarios específicos que están siendo iluminados por empresas de terceros:

  • Los relojes Amazfit tendrán control de la cámara GoPro desde la muñeca.
  • Los cascos de ciclismo Sena tendrán control por voz de tu GoPro
  • Centurion Boats: : controlarán de forma inalámbrica una GoPro desde la pantalla de control del timón del barco
  • Orqa: Control de gafas FPV (drones) para ver el estado de la cámara en las gafas
  • Pixellot: Hacen retransmisiones deportivas, esto controla todas las GoPro y gestiona la transferencia de contenidos

Sin embargo, existen algunas limitaciones que, al menos en esta primera iteración, significan que el mundo no es del todo tuyo. No hay soporte para capturar la transmisión de video en vivo, ni hay conectividad API en la plataforma en línea de GoPro, anteriormente conocida como GoPro Plus (para acceder a sus medios almacenados allí). Aún así, tal vez más tarde.

Para los frikis de la multitud, sigue adelante. Para todos los demás, no temas, volveré cuando encuentre algunas aplicaciones geniales que valga la pena mencionar (después de que los desarrolladores tengan la oportunidad de desarrollarlas).

API Open GoPro
https://gopro.github.io/OpenGoPro/

Obviamente, esto se va a poner geek … realmente geek. Pero no tan geek como podría ser. Dejaré que usted se sumerja en los ejemplos y demostraciones de código completos, así como en la documentación real de la API. En cambio, pensé que sacaría los aspectos más destacados del camino. Sin embargo, invariablemente, como cualquier proyecto de desarrollo, se necesita un poco de codificación para realmente comenzar a comprender el potencial (y las limitaciones).

Conectividad inalámbrica

GoPro dice que para esta iteración, se enfocan en estas áreas clave de la cámara, todas en la capa del dispositivo. Es decir, hablar directamente con la cámara (en lugar de hablar con la aplicación GoPro o la nube de GoPro):

– Conectividad inalámbrica
– Estado de la cámara
– Comando y control de la cámara
– Vista previa
– Acceso a la tarjeta SD

En la actualidad, esto se está lanzando en Hero 9, pero supongo que lo veremos expandirse hacia atrás a otras cámaras, tal como lo hicieron con GoPro Labs (ahora compatible con Hero 7, Hero 8, Hero 9 y Max). Tiene sentido empezar de a poco. Además, incluso tienen una tabla en su documentación que enumera una sola entrada. No tiene sentido tener una tabla para enumerar un artículo.

Ahora, el correo electrónico multimedia de GoPro indica conectividad inalámbrica y por cable, aunque toda la documentación menciona la conexión inalámbrica. Así que mi conjetura está por cable también llegará pronto. Para el lado inalámbrico, hay dos formas de interactuar con la cámara:

– A través de Bluetooth Smart
– A través de WiFi

Sin embargo, para obtener acceso a WiFi, deberá habilitarlo a través de Bluetooth Smart. Así es como han funcionado las cámaras GoPro durante años, ya que su teléfono normalmente inicializa la conexión a través de BLE y enciende el WiFi (por lo tanto, ahorra batería). En los ‘días de la vieja escuela’, antes de BLE, el WiFi estaba encendido todo el tiempo (y, luego, la causa de algunos problemas de interferencia con ciertas computadoras para bicicletas también …). Como de costumbre, una GoPro mantiene su servicio BLE funcionando en segundo plano durante 8 horas después de presionar el último botón / irse a dormir (es decir, incluso después de apagarlo, sigue enviando anuncios BLE durante 8 horas, que es lo que puede encontrar cuando lo pierdes ).

Para conectarse a BLE, su aplicación (o dispositivo, como un reloj) establecerá un emparejamiento con la cámara, de la misma manera que empareja la aplicación GoPro. Guardará este emparejamiento para emparejamientos posteriores.

Mientras tanto, para el lado de WiFi, la autenticación en la cámara simplemente requiere ingresar el SSID y la contraseña de WiFi únicos de GoPro, lo que hace que sea relativamente fácil conectarse para aplicaciones y / o dispositivos. Sin embargo, basándome en todo lo que puedo entender en este momento en la documentación, la limitación es que no puede hacer que la GoPro se conecte directamente a su propia red doméstica y aproveche la API de esa manera. Eso habría sido muy útil para descargar imágenes directamente en su red (similar a lo que hace para la solución en la nube de GoPro, pero para ellos). Con la forma en que se implementa hoy (asumiendo que he entendido todo correctamente), una aplicación se conecta directamente a la GoPro y luego extrae datos a través de esa conexión WiFi directa a través de un pequeño servidor HTTP que ejecuta la GoPro.

Una vez conectado, hay una serie de operaciones generales, que son las siguientes:

  • Capturar medios de foto / video
  • Obtener lista de medios
  • Cambiar ajustes
  • Establecer fecha / hora
  • Obtener el estado de la cámara
  • Obtenga metadatos de medios (tamaño de archivo, ancho, alto, duración, etiquetas, etc.)

Sin embargo, dentro de ellos, puede acceder a toneladas de configuraciones u operaciones de archivos. Por ejemplo, hay una tabla de unos 113 códigos de estado diferentes en la actualidad que puede consultar para encontrar el estado de la cámara. Aquí hay un pequeño fragmento de esos:

La respuesta sarcástica adecuada al código de estado 6 es siempre ‘1’. Bromeo, bromeo… sobre todo.

Ahora, en pocas palabras, todos los comentarios que GoPro ha expuesto esencialmente le permiten fingir ser un usuario en el dispositivo. Eso significa que puede cambiar la configuración, iniciar / detener la grabación, cambiar las resoluciones, ver las propiedades del archivo (como videos o fotos) e incluso descargar esos videos. De hecho, incluso puede activar el llamado modo ‘Turbo’ para descargas de medios WiFi más rápidas.

La compañía ha publicado todo esto en GitHub , incluidos tutoriales paso a paso en Python y Bash. Y luego demostraciones en C / C ++, C #, Python y Swift.

Los tutoriales especialmente están muy bien hechos, divididos primero en capítulos:

Por último, por diversión, vale la pena señalar que en la documentación hay muchas implicaciones ingeniosamente redactadas sobre cómo se vería una GoPro Hero 10 en cuanto a funciones (asumido para ~ septiembre). Por ejemplo, en la sección ‘Capítulos’, hay un dato aparentemente inofensivo: