Développer pour le RealWear Navigator 520 sans SDK : comment fonctionne WearHF

Développer pour le RealWear Navigator 520 sans SDK : comment fonctionne WearHF

Synthèse

RealWear Navigator 520 : développer pour cet appareil ne nécessite pas de SDK vocal distinct pour l'interaction vocale de base. WearHF fait partie du logiciel de l'appareil. Il peut analyser un écran Android, identifier les vues interactives prises en charge et leur associer des commandes vocales. Un bouton Android standard intitulé CONTINUE peut donc être activé en prononçant « CONTINUE », sans importer de bibliothèque RealWear.

Commencez par une application Android standard et testez-la sur le firmware Navigator cible. WearHF peut reconnaître les contrôles d'écran pris en charge sans code vocal côté application. Ajoutez une directive de vue dans android:contentDescription lorsqu'un contrôle nécessite des formulations alternatives ou un comportement particulier. N'utilisez OVERRIDE_COMMANDS que lorsque l'application doit prendre le contrôle du moteur de reconnaissance et gérer elle-même les commandes. Ces approches ont des effets différents, décrits ci-dessous.

Important : « sans SDK » ne signifie pas « sans code ». Vous devez toujours développer l'interface Android et la logique métier. L'application n'a pas besoin d'un SDK vocal RealWear distinct pour la commande vocale de base, car WearHF fournit cette capacité au niveau de l'appareil.

Concept clé : pour la commande vocale de base, vous n'ouvrez pas WearHF, vous ne l'installez pas et vous n'importez aucun SDK WearHF. WearHF s'exécute en arrière-plan dans le cadre du système d'exploitation RealWear.

Qu'est-ce que le RealWear Navigator 520 ?

Le RealWear Navigator 520 est un ordinateur monoculaire durci de réalité assistée, conçu pour le travail de terrain, comme la maintenance, l'inspection ou les interventions sur site. Le firmware 2.x des Navigator 500/520 de RealWear repose sur Android 13, et la version de maintenance Ari OS 2.0 du 17/09/2026 (firmware 3.0, build 3.0.3-15 proposé aux appareils en build 2.2.3-33) fait passer l'appareil à Android 16. Les feuilles de route firmware pouvant évoluer, considérez le système d'exploitation de l'appareil comme une contrainte de déploiement : consignez dans votre matrice de versions le build firmware testé, le niveau d'API Android, les valeurs minSdk/targetSdk de l'application et le modèle d'appareil. Ne déduisez pas minSdk ou targetSdk uniquement de la version Android du casque.

Pour les développeurs, cela signifie que vous développez et empaquetez une application Android classique. WearHF s'exécute sur l'appareil et peut rendre les contrôles pris en charge pilotables à la voix ; il n'implémente pas votre workflow, n'autorise aucune action métier et ne remplace pas la validation côté application.

Qu'est-ce que WearHF ?

WearHF est le service intégré de RealWear dédié à la reconnaissance vocale et à l'interaction mains libres. Il interprète les vues Android et les directives d'écran prises en charge, puis active une vue ou envoie un événement vocal selon l'intégration choisie. L'interaction de base avec les vues ne nécessite aucune bibliothèque vocale RealWear distincte. Les directives intégrées sont analysées à partir de android:contentDescription ; les commandes programmatiques utilisent des intents de diffusion (broadcast) Android documentés. Ne confondez pas un clic sur une vue avec une prise de contrôle (override) du moteur de reconnaissance : cette dernière prend le contrôle du moteur de reconnaissance et peut supprimer les commandes intégrées/scriptées jusqu'à leur rétablissement.

Ce qu'il vous faut avant de créer la première application

· Un Navigator 520 exécutant le build firmware que vous comptez prendre en charge ; notez son build exact et sa version d'Android.

· Un ordinateur sous Windows, macOS ou Linux.

· Android Studio avec le SDK Android et les Platform Tools (ADB). Utilisez le niveau d'API Android requis par votre application et validez-le par rapport aux firmwares pris en charge par RealWear.

· Un câble de données USB-C.

· Aucun SDK RealWear pour la première application.

· Un workflow métier à tester, par exemple passer à l'étape suivante d'une inspection ou signaler un problème sur un équipement.

Comment créer une application Android à commande vocale sans SDK RealWear

Étape 1 : créer un projet Android classique

Pour ce tutoriel, partez d'un projet Android Views. Dans Android Studio, choisissez une Empty Activity basée sur les Views (et non un modèle exclusivement Compose), puis sélectionnez Java ou Kotlin. Les exemples ci-dessous utilisent Java. Compose peut aussi fonctionner avec WearHF sur les logiciels compatibles, mais sa sémantique et son arbre d'accessibilité doivent être testés sur le build cible.

1. Ouvrez Android Studio et sélectionnez New Project.

2. Choisissez une Empty Activity basée sur les Views. Si l'assistant propose des champs pour le langage et le SDK minimum, sélectionnez Java et définissez minSdk sur l'API Android la plus basse que votre application prend réellement en charge ; ne recopiez pas une valeur de cet exemple sans vérifier vos dépendances et votre parc d'appareils.

3. Saisissez les informations de l'application. Définissez le nom de l'application, le nom du package et l'emplacement d'enregistrement, puis créez le projet.

4. Attendez l'ouverture du projet. Android Studio termine la synchronisation Gradle et ouvre le projet.

N'ajoutez rien pour l'instant : vous ne cherchez pas un modèle de projet RealWear. Ce premier build a pour but de prouver qu'une application Android standard peut s'exécuter sur le Navigator 520.

Étape 2 : ajouter un bouton Android et le relier au code Java

Commencez par créer un seul bouton. Vous allez ajouter sa mise en page Android, relier son action de clic en Java, puis le tester sur l'appareil.

1. Dans le panneau Project d'Android Studio, ouvrez app > res > layout > activity_main.xml. Le chemin complet du fichier est app/src/main/res/layout/activity_main.xml.

2. Sélectionnez Code dans l'éditeur de mise en page. Remplacez le contenu du fichier par le XML complet présenté ci-dessous.

XML : un bouton avec une commande WearHF

Collez la mise en page complète dans activity_main.xml, puis enregistrez le fichier :

<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>

Explication rapide : `LinearLayout` empile son contenu verticalement. `android:text` correspond au libellé visible du bouton. `android:contentDescription` contient la directive WearHF ; les services d'accessibilité Android lisent également ce champ, vérifiez donc que le contrôle reste compréhensible pour vos utilisateurs.

Ouvrez ensuite app > java > votre package > MainActivity.java dans le panneau Project. Le chemin complet est app/src/main/java/<your.package.name>/MainActivity.java. Conservez la classe Activity et la méthode `onCreate()` générées.

S'il est absent, ajoutez `import android.widget.Button;` avec les autres imports en haut de MainActivity.java. Dans la méthode `onCreate()` existante, collez ces lignes juste après `setContentView(R.layout.activity_main);` :

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

Ajoutez cette méthode sous `onCreate()`, mais avant l'accolade fermante finale de la classe MainActivity :

private void openNextStep() { // Passer à l'étape suivante de l'inspection ou de l'ordre de travail. }

Comment l'adapter : remplacez la valeur de `android:text` par le libellé adapté à votre workflow. Remplacez `hf_commands:CONTINUE` par la phrase que les opérateurs doivent prononcer, par exemple `hf_commands:Continue Work, Next Step`. L'identifiant XML `continueButton` doit correspondre à `R.id.continueButton` dans le code Java ; si vous le renommez, mettez à jour les deux. Remplacez le commentaire dans `openNextStep()` par l'action de navigation ou l'action métier dont votre application a besoin. La commande vocale de base ne nécessite ni SDK WearHF distinct ni autorisation `RECORD_AUDIO`.

Étape 3 : préparer le Navigator 520 pour le développement Android

L'ordinateur de développement a besoin d'une autorisation ADB pour installer et déboguer l'application. Utilisez un câble USB-C capable de transférer des données ; les câbles de charge seule ne seront pas détectés comme appareil ADB.

1. Ouvrez Advanced Settings. Depuis l'écran d'accueil du Navigator, dites MY SETTINGS pour accéder à la liste des paramètres Android.

2. Ouvrez About Device. Dites ABOUT DEVICE, puis PAGE DOWN jusqu'à ce que Build Number s'affiche.

3. Activez Developer Options. Dites BUILD NUMBER à plusieurs reprises, environ sept fois, jusqu'à ce que l'appareil confirme que le mode développeur est activé.

4. Ouvrez Developer Options. Dites NAVIGATE BACK, puis SYSTEM, puis DEVELOPER OPTIONS.

5. Activez le débogage USB. Dans Developer Options, activez USB debugging.

6. Branchez le câble USB-C et acceptez la demande de débogage RSA sur l'appareil. Vérifiez la connexion avec `adb devices` ; l'appareil doit apparaître comme `device` et non `unauthorized`.

Si Android Studio ne liste pas le casque, exécutez `adb devices`. S'il affiche `unauthorized`, déverrouillez le casque et acceptez la demande RSA. Pour réinstaller l'application depuis la racine du projet, utilisez `adb install -r app/build/outputs/apk/debug/app-debug.apk` ; remplacez le chemin si votre variante de build ou le nom de votre APK diffère. Utilisez Logcat dans Android Studio ou `adb logcat` pour examiner les plantages et les journaux de l'application.

Le débogage USB est un paramètre de développement. Désactivez-le après les tests en laboratoire ou gérez-le conformément à la politique de sécurité des appareils de votre organisation ; ne laissez pas l'accès développeur activé sur les appareils du parc en production.

Étape 4 : exécuter l'application sur le Navigator 520

1. Sélectionnez le Navigator dans Android Studio. Utilisez le sélecteur d'appareil dans la barre d'outils supérieure et choisissez l'appareil RealWear connecté.

2. Cliquez sur Run. Sélectionnez le triangle vert Run ou utilisez Run > Run 'app'.

3. Attendez la fin de l'installation. Android Studio compile l'APK et l'installe sur le Navigator via ADB.

4. Lancez l'application installée depuis le lanceur d'applications de l'appareil, ou exécutez `adb shell monkey -p your.application.id 1` depuis un terminal de développement. Remplacez `your.application.id` par l'applicationId défini dans le fichier de build Gradle du module de l'application.

5. Vérifiez que le bouton CONTINUE est visible et activé.

Étape 5 : tester WearHF sans ajouter de SDK

WearHF est déjà actif sur le Navigator 520. Avec uniquement le bouton CONTINUE à l'écran, testez d'abord ce contrôle :

1. Dites CONTINUE et vérifiez que l'écouteur de clic habituel de l'application s'exécute exactement une fois.

2. Dites SHOW HELP pour consulter la commande que WearHF expose pour cet écran. Vérifiez qu'elle affiche CONTINUE.

3. Vérifiez les indicateurs WearHF et testez la sélection numérique si elle est proposée. Ne vous fiez pas à un indicateur comme seul moyen d'identifier une action critique pour la sécurité.

Facultatif : ajouter une seconde action après le test de CONTINUE

Une fois le premier bouton fonctionnel, vous pouvez ajouter REPORT ISSUE. Dans activity_main.xml, placez ce Button à l'intérieur du LinearLayout, sous CONTINUE et avant </LinearLayout> :

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

Dans MainActivity.java, ajoutez cet écouteur dans onCreate(), après celui de CONTINUE :

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

Ajoutez openIssueReport() sous onCreate(), à l'intérieur de MainActivity. Remplacez le commentaire par le workflow de signalement de problème de votre application :

private void openIssueReport() { // Ouvrir le formulaire de signalement d'un problème d'équipement. }

Recompilez et réinstallez l'application, puis dites REPORT ISSUE. Vérifiez que le workflow de signalement de problème s'ouvre.

Conclusion

Développer pour le RealWear Navigator 520 sans SDK dédié démontre qu'un code Android propre et standard est déjà compatible avec la commande vocale, en s'appuyant sur le service WearHF intégré pour transformer les vues visibles et les directives contentDescription en commandes mains libres intuitives. Pour les équipes techniques, cela évite d'alourdir l'application avec des bibliothèques tierces et des moteurs vocaux complexes, tout en conservant la logique métier au sein d'une architecture Android standard. D'un point de vue business, cette approche accélère la mise sur le marché et réduit les coûts de déploiement : les entreprises peuvent exploiter directement leurs applications Android existantes et les compétences de leurs développeurs internes, éviter la dépendance à un SDK propriétaire et moderniser en douceur leurs workflows de terrain sans bouleverser leur pile logicielle.

Pour un premier prototype en entreprise, créez un écran d'inspection ou de maintenance, vérifiez les libellés des vues et les descriptions accessibles, puis testez l'activation vocale sur le firmware Navigator 520 exact utilisé par le parc pilote. Ajoutez des directives intégrées pour des besoins d'interface spécifiques, et ne recourez aux prises de contrôle du moteur de reconnaissance que lorsque le workflow exige une maîtrise complète des commandes.

João Noronha

Rédigé par

João Noronha

Spécialiste XR et contenu immersif chez VR Expert

João Noronha est spécialiste XR et contenu immersif chez VR Expert, avec un fort intérêt pour les technologies émergentes et leurs applications concrètes. Il se concentre sur la transformation des évolutions complexes en VR, AR, lunettes IA et technologies immersives en contenus clairs et pratiques destinés aux entreprises et professionnels qui explorent le secteur XR.

Questions fréquentes

Cet article

Oui. L'application reste une application Android : les développeurs écrivent donc l'interface et la logique métier en Java, en Kotlin, avec des XML Views ou un autre toolkit d'interface Android pris en charge. L'interaction de base de WearHF avec les vues ne nécessite pas de SDK vocal RealWear distinct.

Pas pour les commandes de vue de base. WearHF est intégré au logiciel RealWear et peut dériver des commandes des vues Android prises en charge. Pour un comportement personnalisé, utilisez les directives ou les intents documentés.

Vous ne l'ouvrez pas comme une application distincte. WearHF s'exécute en arrière-plan dans le cadre du logiciel du Navigator 520.

Pour les vues cliquables prises en charge, WearHF peut dériver une commande du texte de la vue ou de sa description de contenu, selon la directive et la hiérarchie des vues. Testez la commande exposée sur l'écran réel : un libellé visible n'est pas une garantie pour toutes les vues personnalisées.

Dites SHOW HELP sur le Navigator 520. RealWear affiche les commandes associées à cet écran.

Dans une application basée sur les Views, ouvrez le fichier XML de mise en page (par exemple app/src/main/res/layout/activity_main.xml) et définissez `android:contentDescription` sur la vue. Utilisez `hf_commands:Phrase One, Phrase Two` pour plusieurs phrases et `-` entre plusieurs directives.

`hf_commands` est une directive WearHF au niveau de la vue. Placez-la dans le contentDescription de la vue, suivie de phrases séparées par des virgules ; chaque phrase reconnue déclenche un clic sur cette vue.

Aucune bibliothèque WearHF distincte n'est nécessaire pour les directives intégrées. Il s'agit de chaînes placées dans le contentDescription Android, que le service de l'appareil interprète. Comme contentDescription est également utilisé par les services d'accessibilité, conservez un libellé accessible utile et testez les deux comportements.

Utilisez OVERRIDE_COMMANDS lorsque la liste de commandes du moteur de reconnaissance doit être remplacée à l'exécution. Pour des commandes au niveau de l'écran qui complètent les vues, envisagez `hf_add_commands`. N'oubliez pas que le mode override supprime temporairement les commandes intégrées/scriptées et doit être rétabli ou réenregistré aux étapes du cycle de vie indiquées dans la documentation.

Les notes de version de Collaborate publiées par RealWear en mai 2026 indiquent que WearHF prend en charge Jetpack Compose de manière native. Cela atteste de la prise en charge de Compose par la plateforme, mais ne dispense pas de tester la sémantique, les composables personnalisés, les libellés d'accessibilité et les superpositions de commandes dans votre propre application. Ce tutoriel utilise des XML Views afin que la correspondance entre vues et commandes soit explicite. Référence : la note de version de Collaborate 2.5.1 indique que WearHF prend en charge Compose de manière native (publiée le 07/05/2026). N'appliquez cette affirmation qu'aux logiciels d'appareil intégrant la prise en charge correspondante, et vérifiez le comportement sur votre build cible.

La version 2.2 publiée du firmware des Navigator 500/520 repose sur Android 13. La politique firmware de RealWear fait état d'un projet de migration des appareils pris en charge vers un système d'exploitation basé sur Android 16 au cours de l'année 2026 ; un projet ne garantit pas une sortie. Consultez les notes de version GA actuelles et testez le build exact de votre parc avant de choisir compileSdk, targetSdk, minSdk, les autorisations ou le comportement de publication.