Ontwikkelen voor de RealWear Navigator 520 zonder SDK: zo werkt WearHF

Ontwikkelen voor de RealWear Navigator 520 zonder SDK: zo werkt WearHF

Samenvatting

RealWear Navigator 520 vraagt bij app-ontwikkeling geen aparte spraak-SDK voor basale spraakinteractie. WearHF maakt deel uit van de apparaatsoftware. Het kan een Android-scherm analyseren, ondersteunde interactieve views herkennen en daar spraakopdrachten voor beschikbaar maken. Een standaard Android-knop met het label CONTINUE kunt u daardoor activeren door “CONTINUE” te zeggen, zonder een RealWear-library te importeren.

Begin met een standaard Android-app en test die op de Navigator-firmware die u wilt ondersteunen. WearHF kan ondersteunde bedieningselementen op het scherm herkennen zonder spraakcode in de app. Voeg een view-directive toe in android:contentDescription als een element alternatieve zinnen of speciaal gedrag nodig heeft. Gebruik OVERRIDE_COMMANDS alleen als de app de spraakherkenning moet overnemen en opdrachten zelf moet afhandelen. Deze routes hebben verschillende effecten; die beschrijven we hieronder.

Belangrijk: “geen SDK” betekent niet “geen code”. U bouwt nog steeds de Android-interface en de bedrijfslogica. De app heeft voor basale spraakbediening geen aparte RealWear-spraak-SDK nodig, omdat WearHF die functionaliteit op apparaatniveau levert.

Kernprincipe: voor basale spraakbediening hoeft u WearHF niet te openen of te installeren, en u importeert geen WearHF-SDK. WearHF draait op de achtergrond als onderdeel van het RealWear-besturingssysteem.

Wat is de RealWear Navigator 520?

De RealWear Navigator 520 is een robuuste monoculaire assisted-reality-computer voor frontlinewerk zoals onderhoud, inspectie en buitendienst. De firmware 2.x van RealWear voor de Navigator 500/520 is gebaseerd op Android 13. De Ari OS 2.0-onderhoudsrelease van 17-09-2026 (firmware 3.0, build 3.0.3-15, aangeboden aan apparaten met build 2.2.3-33) brengt het apparaat naar Android 16. Firmwareroadmaps kunnen veranderen, dus behandel het besturingssysteem van het apparaat als randvoorwaarde voor de uitrol: leg de geteste firmwarebuild, het Android API-niveau, minSdk/targetSdk van de app en het apparaatmodel vast in uw releasematrix. Leid minSdk of targetSdk niet uitsluitend af van de Android-versie van de headset.

Voor ontwikkelaars betekent dit dat u een gewone Android-app bouwt en verpakt. WearHF draait op het apparaat en kan ondersteunde bedieningselementen via spraak beschikbaar maken. Het implementeert uw werkproces niet, autoriseert geen zakelijke handelingen en vervangt geen validatie in de app.

Wat is WearHF?

WearHF is de ingebouwde dienst van RealWear voor spraak- en handsfree interactie. Het interpreteert ondersteunde Android-views en schermdirectives en activeert vervolgens een view of verstuurt een spraakevent, afhankelijk van de gekozen integratie. Voor basale interactie met views is geen aparte RealWear-spraaklibrary nodig. Ingebedde directives worden uitgelezen uit android:contentDescription; programmatische opdrachten gebruiken gedocumenteerde Android-broadcastintents. Verwar een klik op een view niet met een override van de spraakherkenning: een override neemt de spraakherkenning over en kan ingebedde/gescripte opdrachten onderdrukken totdat de oorspronkelijke situatie is hersteld.

Wat u nodig hebt voordat u de eerste app bouwt

· Een Navigator 520 met de firmwarebuild die u wilt ondersteunen; noteer de exacte build en Android-versie.

· Een computer met Windows, macOS of Linux.

· Android Studio met de Android SDK en Platform Tools (ADB). Gebruik het Android API-niveau dat uw app vereist en valideer tegen de door RealWear ondersteunde firmware.

· Een USB-C-datakabel.

· Geen RealWear-SDK voor de eerste app.

· Een zakelijk werkproces om te testen, zoals doorgaan naar de volgende inspectiestap of een storing aan apparatuur melden.

Een Android-app met spraakbediening bouwen zonder RealWear-SDK

Stap 1: maak een gewoon Android-project

Gebruik voor dit stappenplan een Android Views-project. Kies in Android Studio een Views-gebaseerde Empty Activity (geen template die alleen Compose gebruikt) en selecteer daarna Java of Kotlin. De voorbeelden hieronder gebruiken Java. Compose kan op ondersteunde software ook met WearHF werken, maar test de semantics en de accessibility tree op de beoogde build.

1. Open Android Studio en kies New Project.

2. Kies een Views-gebaseerde Empty Activity. Toont de wizard velden voor taal en minimale SDK, selecteer dan Java en stel minSdk in op de laagste Android API die uw app daadwerkelijk ondersteunt. Neem geen waarde uit dit voorbeeld over zonder uw dependencies en apparatenvloot te controleren.

3. Vul de app-gegevens in. Stel de appnaam, packagenaam en opslaglocatie in en maak het project aan.

4. Wacht tot het project is geopend. Android Studio voltooit de Gradle-synchronisatie en opent het project.

Voeg nog niets toe: u zoekt geen RealWear-projecttemplate. Met de eerste build toont u aan dat een standaard Android-app op de Navigator 520 draait.

Stap 2: voeg één Android-knop toe en koppel die aan Java

Maak eerst één knop. U voegt de Android-layout toe, koppelt de klikactie in Java en test de knop daarna op het apparaat.

1. Open in het Project-paneel van Android Studio app > res > layout > activity_main.xml. Het volledige bestandspad is app/src/main/res/layout/activity_main.xml.

2. Selecteer Code in de layout-editor. Vervang de inhoud van het bestand door de volledige XML hieronder.

XML: één knop met een WearHF-opdracht

Plak de volledige layout in activity_main.xml en sla het bestand op:

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

Korte uitleg: `LinearLayout` stapelt de inhoud verticaal. `android:text` is het zichtbare label van de knop. `android:contentDescription` bevat de WearHF-directive. Android-toegankelijkheidsdiensten lezen dit veld ook, dus test of het element begrijpelijk blijft voor uw gebruikers.

Open vervolgens app > java > uw package > MainActivity.java in het Project-paneel. Het volledige pad is app/src/main/java/<your.package.name>/MainActivity.java. Behoud de gegenereerde Activity-klasse en de methode `onCreate()`.

Voeg `import android.widget.Button;` toe bij de imports bovenaan MainActivity.java als die regel ontbreekt. Plak binnen de bestaande methode `onCreate()` deze regels direct na `setContentView(R.layout.activity_main);`:

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

Voeg deze methode toe onder `onCreate()`, maar vóór de laatste sluitaccolade van de klasse MainActivity:

private void openNextStep() { // Ga naar de volgende inspectie- of werkorderstap. }

Zo past u het aan: wijzig `android:text` in het label dat bij uw werkproces past. Wijzig `hf_commands:CONTINUE` in de zin die medewerkers moeten uitspreken, bijvoorbeeld `hf_commands:Continue Work, Next Step`. Het XML-ID `continueButton` moet overeenkomen met `R.id.continueButton` in Java; hernoemt u het, pas dan beide aan. Vervang het commentaar in `openNextStep()` door de navigatie of zakelijke actie die uw app nodig heeft. Basale spraakbediening vereist geen aparte WearHF-SDK en geen `RECORD_AUDIO`-permissie.

Stap 3: bereid de Navigator 520 voor op Android-ontwikkeling

De ontwikkelcomputer heeft ADB-autorisatie nodig om de app te installeren en te debuggen. Gebruik een USB-C-kabel die data overdraagt; kabels die alleen laden, worden niet herkend als ADB-apparaat.

1. Open Advanced Settings. Zeg vanaf het Navigator-startscherm MY SETTINGS om de lijst met Android-instellingen te openen.

2. Open About Device. Zeg ABOUT DEVICE en daarna PAGE DOWN tot Build Number zichtbaar is.

3. Schakel Developer Options in. Zeg herhaaldelijk BUILD NUMBER, ongeveer zeven keer, tot het apparaat bevestigt dat de ontwikkelaarsmodus is ingeschakeld.

4. Open Developer Options. Zeg NAVIGATE BACK, daarna SYSTEM en vervolgens DEVELOPER OPTIONS.

5. Schakel USB debugging in. Zet USB debugging aan in Developer Options.

6. Sluit de USB-C-kabel aan en keur de RSA-debugmelding op het apparaat goed. Controleer de verbinding met `adb devices`; het apparaat moet verschijnen als `device`, niet als `unauthorized`.

Staat de headset niet in de lijst in Android Studio, voer dan `adb devices` uit. Ziet u `unauthorized`, ontgrendel dan de headset en keur de RSA-melding goed. Gebruik voor een herhaalde installatie vanuit de projectroot `adb install -r app/build/outputs/apk/debug/app-debug.apk`; pas het pad aan als uw buildvariant of APK-naam afwijkt. Gebruik Logcat in Android Studio of `adb logcat` om crashes en applicatielogs te bekijken.

USB debugging is een ontwikkelinstelling. Schakel het na het testen in het lab uit of beheer het volgens het beveiligingsbeleid voor apparaten van uw organisatie. Laat ontwikkeltoegang niet ingeschakeld op apparaten in de productievloot.

Stap 4: start de app op de Navigator 520

1. Selecteer de Navigator in Android Studio. Kies via de apparaatselectie in de bovenste werkbalk het aangesloten RealWear-apparaat.

2. Klik op Run. Selecteer de groene Run-driehoek of gebruik Run > Run 'app'.

3. Wacht op de installatie. Android Studio bouwt de APK en installeert die via ADB op de Navigator.

4. Start de geïnstalleerde app vanuit de app-launcher van het apparaat, of voer `adb shell monkey -p your.application.id 1` uit in een ontwikkelterminal. Vervang `your.application.id` door de applicationId uit het Gradle-buildbestand van de appmodule.

5. Controleer of de knop CONTINUE zichtbaar en ingeschakeld is.

Stap 5: test WearHF zonder een SDK toe te voegen

WearHF draait al op de Navigator 520. Test met alleen de knop CONTINUE op het scherm eerst dit element:

1. Zeg CONTINUE en controleer of de normale click listener van de app precies één keer wordt uitgevoerd.

2. Zeg SHOW HELP om te bekijken welke opdracht WearHF voor dit scherm beschikbaar maakt. Controleer of CONTINUE wordt getoond.

3. Controleer de WearHF-indicatoren en test numerieke selectie als die wordt aangeboden. Vertrouw niet op een indicator als enige manier om een veiligheidskritische actie te herkennen.

Optioneel: voeg na de CONTINUE-test een tweede actie toe

Werkt de eerste knop, dan kunt u REPORT ISSUE toevoegen. Plaats deze Button in activity_main.xml binnen de LinearLayout, onder CONTINUE en vóór </LinearLayout>:

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

Voeg in MainActivity.java deze listener toe binnen onCreate(), na de listener voor CONTINUE:

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

Voeg openIssueReport() toe onder onCreate(), binnen MainActivity. Vervang het commentaar door het werkproces voor storingsmeldingen in uw app:

private void openIssueReport() { // Open het formulier voor storingen aan apparatuur. }

Bouw en installeer de app opnieuw en zeg dan REPORT ISSUE. Controleer of het werkproces voor storingsmeldingen wordt geopend.

Conclusie

Ontwikkelen voor de RealWear Navigator 520 zonder speciale SDK laat zien dat nette, standaard Android-code al geschikt is voor spraakbediening. De ingebouwde WearHF-dienst zet zichtbare views en contentDescription-directives om in intuïtieve handsfree bediening. Voor technische teams voorkomt dit overbodige libraries van derden en complexe spraakengines, terwijl de kernlogica binnen de standaard Android-architectuur blijft. Zakelijk gezien versnelt deze aanpak de time-to-market en beperkt die de uitrolkosten: bedrijven kunnen bestaande Android-apps en de kennis van hun eigen ontwikkelaars direct inzetten, lock-in bij een propriëtaire SDK vermijden en frontline-werkprocessen soepel moderniseren zonder hun softwarestack te verstoren.

Bouw voor een eerste zakelijk prototype één inspectie- of onderhoudsscherm, controleer de view-labels en toegankelijke beschrijvingen en test spraakactivering op exact dezelfde Navigator 520-firmware als die van de pilotvloot. Voeg ingebedde directives toe voor specifieke UI-behoeften en gebruik overrides van de spraakherkenning alleen als het werkproces volledige controle over de opdrachten vereist.

João Noronha

Geschreven door

João Noronha

XR- en Immersive Content Specialist bij VR Expert

João Noronha is XR- en Immersive Content Specialist bij VR Expert, met een sterke interesse in opkomende technologieën en hun praktische toepassingen. Hij richt zich op het vertalen van complexe ontwikkelingen op het gebied van VR, AR, AI-brillen en immersieve technologie naar heldere, praktische content voor bedrijven en professionals die de XR-sector verkennen.

Veelgestelde vragen

Dit artikel

Ja. De app is nog steeds een Android-applicatie, dus ontwikkelaars schrijven de interface en bedrijfslogica in Java, Kotlin, XML Views of een andere ondersteunde Android UI-toolkit. Basale interactie met views via WearHF vereist geen aparte RealWear-spraak-SDK.

Niet voor basale view-opdrachten. WearHF is ingebouwd in de RealWear-software en kan opdrachten afleiden uit ondersteunde Android-views. Gebruik de gedocumenteerde directives of intents voor aangepast gedrag.

U opent het niet als aparte app. WearHF draait op de achtergrond als onderdeel van de Navigator 520-software.

Voor ondersteunde klikbare views kan WearHF een opdracht afleiden uit de tekst of de content description van de view, afhankelijk van de directive en de view-hiërarchie. Test de opdracht die op het daadwerkelijke scherm beschikbaar is; een zichtbaar label is geen garantie voor elke custom view.

Zeg SHOW HELP op de Navigator 520. RealWear toont dan de opdrachten die bij dat scherm horen.

Open in een Views-gebaseerde app de layout-XML (bijvoorbeeld app/src/main/res/layout/activity_main.xml) en stel `android:contentDescription` in op de view. Gebruik `hf_commands:Phrase One, Phrase Two` voor meerdere zinnen en `-` tussen meerdere directives.

`hf_commands` is een WearHF-directive op view-niveau. Zet deze in de contentDescription van de view, gevolgd door zinnen gescheiden door komma's; elke herkende zin klikt op die view.

Voor ingebedde directives is geen aparte WearHF-library nodig. Het zijn strings in de Android-contentDescription die de dienst op het apparaat interpreteert. Omdat contentDescription ook door toegankelijkheidsdiensten wordt gebruikt, moet u een bruikbaar toegankelijk label behouden en beide functies testen.

Gebruik OVERRIDE_COMMANDS als de lijst met opdrachten van de spraakherkenning tijdens runtime moet worden vervangen. Overweeg `hf_add_commands` voor opdrachten op schermniveau die views aanvullen. Houd er rekening mee dat de override-modus ingebedde/gescripte opdrachten tijdelijk onderdrukt en op de gedocumenteerde momenten in de lifecycle moet worden hersteld of opnieuw geregistreerd.

Volgens de release notes van RealWear Collaborate van mei 2026 ondersteunt WearHF Jetpack Compose native. Dat onderbouwt de Compose-ondersteuning van het platform, maar vervangt niet het testen van semantics, custom composables, toegankelijkheidslabels en command-overlays in uw eigen app. Deze tutorial gebruikt XML Views, zodat de koppeling tussen view en opdracht expliciet is. Referentie: de release note van Collaborate 2.5.1 vermeldt dat WearHF Compose native ondersteunt (gepubliceerd op 2026-05-07). Pas die bewering alleen toe op apparaatsoftware die deze ondersteuning bevat en controleer het gedrag op uw beoogde build.

De gepubliceerde firmwarerelease 2.2 voor de Navigator 500/520 is gebaseerd op Android 13. Volgens het firmwarebeleid van RealWear is het plan om ondersteunde apparaten in 2026 over te zetten naar een besturingssysteem op basis van Android 16; een plan is geen garantie voor een release. Raadpleeg de actuele GA-release notes en test de exacte build van uw vloot voordat u compileSdk, targetSdk, minSdk, permissies of releasegedrag kiest.