Desarrollar para RealWear Navigator 520 sin SDK: cómo funciona WearHF

Desarrollar para RealWear Navigator 520 sin SDK: cómo funciona WearHF

Resumen ejecutivo

RealWear Navigator 520 permite desarrollar con interacción por voz básica sin necesidad de un SDK de voz independiente. WearHF forma parte del software del dispositivo. Puede inspeccionar una pantalla de Android, identificar las vistas interactivas compatibles y ofrecer comandos de voz para ellas. Por tanto, un botón estándar de Android con la etiqueta CONTINUE puede activarse diciendo «CONTINUE» sin importar ninguna biblioteca de RealWear.

Empieza con una aplicación Android estándar y pruébala en el firmware del Navigator de destino. WearHF puede reconocer los controles de pantalla compatibles sin código de voz en la aplicación. Añade una directiva de vista en android:contentDescription cuando un control necesite frases alternativas o un comportamiento especial. Utiliza OVERRIDE_COMMANDS solo cuando la aplicación deba tomar el control del reconocedor y gestionar los comandos por sí misma. Estas vías tienen efectos distintos, que se describen a continuación.

Importante: «sin SDK» no significa «sin código». Sigues teniendo que crear la interfaz de Android y la lógica de negocio. La aplicación no necesita un SDK de voz de RealWear independiente para el control por voz básico, porque WearHF proporciona esa capacidad a nivel de dispositivo.

Concepto clave: para el control por voz básico no tienes que abrir WearHF, instalar WearHF ni importar un SDK de WearHF. WearHF se ejecuta en segundo plano como parte del sistema operativo de RealWear.

¿Qué es el RealWear Navigator 520?

El RealWear Navigator 520 es un ordenador monocular robusto de realidad asistida, diseñado para trabajos de primera línea como el mantenimiento, la inspección y el servicio técnico de campo. El firmware 2.x de RealWear para Navigator 500/520 se basa en Android 13, y la versión de mantenimiento Ari OS 2.0 del 17-09-2026 (firmware 3.0, compilación 3.0.3-15, ofrecida a los dispositivos con la compilación 2.2.3-33) lleva el dispositivo a Android 16. Las hojas de ruta del firmware pueden cambiar, así que considera el sistema operativo del dispositivo como una restricción de despliegue: registra en tu matriz de versiones la compilación de firmware probada, el nivel de API de Android, el minSdk/targetSdk de la aplicación y el modelo de dispositivo. No deduzcas el minSdk ni el targetSdk únicamente a partir de la versión de Android del visor.

Para los desarrolladores, esto significa que creas y empaquetas una aplicación Android normal. WearHF se ejecuta en el dispositivo y puede poner los controles compatibles a disposición de la voz; no implementa tu flujo de trabajo, no autoriza ninguna acción de negocio ni sustituye la validación en la aplicación.

¿Qué es WearHF?

WearHF es el servicio integrado de RealWear para la voz y la interacción manos libres. Interpreta las vistas de Android y las directivas de pantalla compatibles y, a continuación, activa una vista o envía un evento de voz según la integración elegida. La interacción básica con vistas no necesita ninguna biblioteca de voz de RealWear independiente. Las directivas integradas se analizan a partir de android:contentDescription; los comandos programáticos utilizan los intents de difusión de Android documentados. No confundas un clic en una vista con una anulación del reconocedor: una anulación toma el control del reconocedor y puede suprimir los comandos integrados o programados hasta que se restablezca.

Qué necesitas antes de crear la primera aplicación

· Un Navigator 520 con la compilación de firmware que pretendes admitir; anota su compilación exacta y su versión de Android.

· Un ordenador con Windows, macOS o Linux.

· Android Studio con el Android SDK y las Platform Tools (ADB). Utiliza el nivel de API de Android que requiera tu aplicación y valida con el firmware compatible de RealWear.

· Un cable de datos USB-C.

· Ningún SDK de RealWear para la primera aplicación.

· Un flujo de trabajo de negocio que probar, como avanzar un paso de inspección o notificar una incidencia en un equipo.

Cómo crear una aplicación Android controlada por voz sin un SDK de RealWear

Paso 1: Crea un proyecto Android normal

Para esta guía, empieza con un proyecto de Android Views. En Android Studio, elige una Empty Activity basada en Views (no una plantilla solo para Compose) y selecciona Java o Kotlin. Los ejemplos siguientes usan Java. Compose también puede funcionar con WearHF en el software compatible, pero conviene probar su semántica y su árbol de accesibilidad en la compilación de destino.

1. Abre Android Studio y selecciona New Project.

2. Elige una Empty Activity basada en Views. Si el asistente ofrece campos de idioma y SDK mínimo, selecciona Java y establece minSdk en la API de Android más baja que tu aplicación admita realmente; no copies un valor de este ejemplo sin comprobar tus dependencias y tu flota de dispositivos.

3. Introduce los datos de la aplicación. Establece el nombre de la aplicación, el nombre del paquete y la ubicación de guardado y, a continuación, crea el proyecto.

4. Espera a que se abra el proyecto. Android Studio completa la sincronización de Gradle y abre el proyecto.

No añadas nada todavía: no buscas una plantilla de proyecto de RealWear. El objetivo de la primera compilación es demostrar que una aplicación Android estándar puede ejecutarse en el Navigator 520.

Paso 2: Añade un botón de Android y conéctalo a Java

Crea primero un solo botón. Añadirás su diseño de Android, conectarás su acción de clic en Java y después lo probarás en el dispositivo.

1. En el panel Project de Android Studio, abre app > res > layout > activity_main.xml. La ruta completa del archivo es app/src/main/res/layout/activity_main.xml.

2. Selecciona Code en el editor de diseño. Sustituye el contenido del archivo por el XML completo que se muestra a continuación.

XML: un botón con un comando de WearHF

Pega el diseño completo en activity_main.xml y guarda el archivo:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="24dp">

<Button android:id="@+id/continueButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CONTINUE" android:contentDescription="hf_commands:CONTINUE" />

</LinearLayout>

Explicación rápida: `LinearLayout` apila su contenido en vertical. `android:text` es la etiqueta visible del botón. `android:contentDescription` contiene la directiva de WearHF; los servicios de accesibilidad de Android también leen este campo, así que comprueba que el control siga siendo comprensible para tus usuarios.

A continuación, abre app > java > tu paquete > MainActivity.java en el panel Project. La ruta completa es app/src/main/java/<your.package.name>/MainActivity.java. Conserva la clase Activity generada y el método `onCreate()`.

Si falta, añade `import android.widget.Button;` junto a las importaciones al principio de MainActivity.java. Dentro del método `onCreate()` existente, pega estas líneas justo después de `setContentView(R.layout.activity_main);`:

Button continueButton = findViewById(R.id.continueButton); continueButton.setOnClickListener(v -> openNextStep());

Añade este método debajo de `onCreate()`, pero antes de la llave de cierre final de la clase MainActivity:

private void openNextStep() { // Ir al siguiente paso de la inspección o de la orden de trabajo. }

Cómo adaptarlo: cambia `android:text` por la etiqueta que encaje con tu flujo de trabajo. Cambia `hf_commands:CONTINUE` por la frase que deban decir los trabajadores, por ejemplo `hf_commands:Continue Work, Next Step`. El ID de XML `continueButton` debe coincidir con `R.id.continueButton` en Java; si lo renombras, actualiza ambos. Sustituye el comentario de `openNextStep()` por la navegación o la acción de negocio que necesite tu aplicación. El control por voz básico no requiere un SDK de WearHF independiente ni el permiso `RECORD_AUDIO`.

Paso 3: Prepara el Navigator 520 para el desarrollo Android

El ordenador de desarrollo necesita autorización ADB para instalar y depurar la aplicación. Utiliza un cable USB-C que admita datos; los cables que solo cargan no se detectarán como dispositivo ADB.

1. Abre Advanced Settings. Desde la pantalla de inicio del Navigator, di MY SETTINGS para acceder a la lista de ajustes de Android.

2. Abre About Device. Di ABOUT DEVICE y después PAGE DOWN hasta que aparezca Build Number.

3. Activa las opciones para desarrolladores. Di BUILD NUMBER repetidamente, unas siete veces, hasta que el dispositivo confirme que el modo de desarrollador está activado.

4. Abre Developer Options. Di NAVIGATE BACK, después SYSTEM y luego DEVELOPER OPTIONS.

5. Activa la depuración USB. Dentro de Developer Options, activa USB debugging.

6. Conecta el cable USB-C y acepta en el dispositivo el aviso de depuración RSA. Confirma la conexión con `adb devices`; el dispositivo debe aparecer como `device`, no como `unauthorized`.

Si Android Studio no muestra el visor, ejecuta `adb devices`. Si aparece `unauthorized`, desbloquea el visor y acepta el aviso RSA. Para reinstalar desde la raíz del proyecto, usa `adb install -r app/build/outputs/apk/debug/app-debug.apk`; cambia la ruta si tu variante de compilación o el nombre del APK son distintos. Utiliza Logcat de Android Studio o `adb logcat` para inspeccionar los bloqueos y los registros de la aplicación.

La depuración USB es un ajuste de desarrollo. Desactívala tras las pruebas de laboratorio o gestiónala conforme a la política de seguridad de dispositivos de la organización; no dejes el acceso de desarrollo activado en los dispositivos de la flota de producción.

Paso 4: Ejecuta la aplicación en el Navigator 520

1. Selecciona el Navigator en Android Studio. Usa el selector de dispositivos de la barra de herramientas superior y elige el dispositivo RealWear conectado.

2. Haz clic en Run. Selecciona el triángulo verde de Run o usa Run > Run 'app'.

3. Espera a que termine la instalación. Android Studio compila el APK y lo instala en el Navigator mediante ADB.

4. Inicia la aplicación instalada desde el lanzador de aplicaciones del dispositivo o ejecuta `adb shell monkey -p your.application.id 1` desde un terminal de desarrollo. Sustituye `your.application.id` por el applicationId del archivo de compilación de Gradle del módulo de la aplicación.

5. Confirma que el botón CONTINUE está visible y habilitado.

Paso 5: Prueba WearHF sin añadir ningún SDK

WearHF ya se está ejecutando en el Navigator 520. Con solo el botón CONTINUE en pantalla, prueba primero este control:

1. Di CONTINUE y comprueba que el listener de clic normal de la aplicación se ejecuta exactamente una vez.

2. Di SHOW HELP para ver el comando que WearHF ofrece para esta pantalla. Confirma que muestra CONTINUE.

3. Revisa los indicadores de WearHF y prueba la selección numérica si está disponible. No dependas de un indicador como única forma de identificar una acción crítica para la seguridad.

Opcional: añade una segunda acción tras la prueba de CONTINUE

Una vez que funcione el primer botón, puedes añadir REPORT ISSUE. En activity_main.xml, coloca este Button dentro del LinearLayout, debajo de CONTINUE y antes de </LinearLayout>:

<Button android:id="@+id/reportIssueButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="REPORT ISSUE" />

En MainActivity.java, añade este listener dentro de onCreate(), después del listener de CONTINUE:

Button reportIssueButton = findViewById(R.id.reportIssueButton); reportIssueButton.setOnClickListener(v -> openIssueReport());

Añade openIssueReport() debajo de onCreate(), dentro de MainActivity. Sustituye el comentario por el flujo de notificación de incidencias de tu aplicación:

private void openIssueReport() { // Abrir el formulario de incidencias del equipo. }

Vuelve a compilar e instalar la aplicación y, después, di REPORT ISSUE. Confirma que se abre el flujo de notificación de incidencias.

Conclusión

Desarrollar para el RealWear Navigator 520 sin un SDK específico demuestra que un código Android limpio y estándar ya está preparado para la voz, gracias al servicio WearHF integrado, que transforma las vistas visibles y las directivas de contentDescription en controles manos libres intuitivos. Para los equipos técnicos, esto evita la sobrecarga de bibliotecas de terceros y los motores de voz complejos, al tiempo que mantiene la lógica de negocio principal dentro de la arquitectura Android estándar. Desde el punto de vista empresarial, este enfoque acelera el tiempo de comercialización y minimiza los costes de despliegue: las empresas pueden aprovechar directamente sus aplicaciones Android existentes y las competencias de sus desarrolladores internos, evitar la dependencia de SDK propietarios y modernizar sin contratiempos los flujos de trabajo de primera línea sin alterar su pila de software.

Para un primer prototipo empresarial, crea una sola pantalla de inspección o mantenimiento, verifica las etiquetas de las vistas y las descripciones accesibles y, después, prueba la activación por voz en el firmware exacto del Navigator 520 que utilice la flota piloto. Añade directivas integradas para necesidades concretas de la interfaz y anulaciones del reconocedor solo cuando el flujo de trabajo requiera el control total de los comandos.

João Noronha

Escrito por

João Noronha

Especialista en XR y Contenido Inmersivo en VR Expert

João Noronha es Especialista en XR y Contenido Inmersivo en VR Expert, con un gran interés por las tecnologías emergentes y sus aplicaciones en el mundo real. Se dedica a transformar los avances complejos en VR, AR, gafas de IA y tecnología inmersiva en contenido claro y práctico para empresas y profesionales que exploran el sector XR.

Preguntas frecuentes

Este artículo

Sí. La aplicación sigue siendo una aplicación Android, así que los desarrolladores escriben la interfaz y la lógica de negocio en Java, Kotlin, XML Views u otro kit de herramientas de interfaz de Android compatible. La interacción básica con vistas de WearHF no requiere un SDK de voz de RealWear independiente.

No para los comandos básicos de vistas. WearHF está integrado en el software de RealWear y puede derivar comandos de las vistas de Android compatibles. Utiliza las directivas o los intents documentados para comportamientos personalizados.

No se abre como una aplicación independiente. WearHF se ejecuta en segundo plano como parte del software del Navigator 520.

En las vistas clicables compatibles, WearHF puede derivar un comando del texto de la vista o de su descripción de contenido, según la directiva y la jerarquía de vistas. Prueba el comando que se ofrece en la pantalla real: una etiqueta visible no es garantía para todas las vistas personalizadas.

Di SHOW HELP en el Navigator 520. RealWear muestra los comandos asociados a esa pantalla.

En una aplicación basada en Views, abre el XML de diseño (por ejemplo, app/src/main/res/layout/activity_main.xml) y establece `android:contentDescription` en la vista. Usa `hf_commands:Phrase One, Phrase Two` para varias frases y `-` entre varias directivas.

`hf_commands` es una directiva de WearHF a nivel de vista. Colócala en el contentDescription de la vista, seguida de frases separadas por comas; cada frase reconocida hace clic en esa vista.

No se necesita ninguna biblioteca de WearHF independiente para las directivas integradas. Son cadenas en el contentDescription de Android que interpreta el servicio del dispositivo. Como los servicios de accesibilidad también usan contentDescription, conserva una etiqueta accesible útil y prueba ambos comportamientos.

Usa OVERRIDE_COMMANDS cuando haya que sustituir la lista de comandos del reconocedor en tiempo de ejecución. Para comandos a nivel de pantalla que complementen a las vistas, plantéate usar `hf_add_commands`. Recuerda que el modo de anulación suprime temporalmente los comandos integrados o programados y debe restablecerse o volver a registrarse en los puntos del ciclo de vida documentados.

Las notas de la versión de Collaborate de RealWear de mayo de 2026 indican que WearHF es compatible de forma nativa con Jetpack Compose. Esto respalda la compatibilidad de la plataforma con Compose, pero no sustituye las pruebas de la semántica, los composables personalizados, las etiquetas de accesibilidad y las superposiciones de comandos en tu propia aplicación. Este tutorial utiliza XML Views para que la correspondencia entre vistas y comandos sea explícita. Referencia: la nota de la versión Collaborate 2.5.1 recoge que WearHF es compatible de forma nativa con Compose (publicada el 2026-05-07). Aplica esa afirmación solo al software del dispositivo que incluya la compatibilidad correspondiente y verifica el comportamiento en tu compilación de destino.

La versión 2.2 publicada del firmware de Navigator 500/520 se basa en Android 13. La política de firmware de RealWear indica el plan de llevar los dispositivos compatibles a un sistema operativo basado en Android 16 durante 2026, aunque un plan no es una garantía de lanzamiento. Consulta las notas de la versión GA actual y prueba la compilación exacta de la flota antes de elegir compileSdk, targetSdk, minSdk, los permisos o el comportamiento de la versión.