inteintegrity2026-10-16

Bouw een edge-AI-app met Codex op reComputer RK3576

Leer aan de hand van een YOLOv8-WebUI voor videodetectie hoe Codex via SSH een reComputer RK3576 inspecteert, de bestaande NPU-omgeving hergebruikt, een app bouwt en uitrolt en het volledige traject van upload tot download op echte hardware controleert.

CodexEdge AICVGitHub

Een edge-AI-app bouwen met Codex op reComputer RK3576

Hoe maak je van een idee een toepassing die op een edge-AI-board draait? Dit project beschrijft een praktische ontwikkelsessie met Codex: verbinding maken met een reComputer RK3576, de omgeving inspecteren, de app beschrijven, deze via SSH uitrollen en op het echte apparaat controleren.

Het voorbeeld is een YOLOv8-WebUI voor videodetectie. Vanuit de browser op je pc kun je een MP4 uploaden, detectie uitvoeren op de NPU van de RK3576 en een video met detectiekaders, klasselabels en FPS afspelen of downloaden. De broncode, testvideo en meetresultaten staan in de GitHub-repository.

Het doel is een herbruikbare werkwijze voor AI-ondersteunde ontwikkeling te laten zien: geef de apparaatcontext, stel beperkingen vast, vraag om de implementatie en controleer het resultaat aan de hand van concrete acceptatiecriteria.

Hoe de werkwijze in elkaar zit

Codex draait op de ontwikkel-pc en gebruikt SSH om met het board te werken. De uiteindelijke app draait op reComputer RK3576; de NPU voert de inferentie van het neurale netwerk uit. De objectdetectie gebruikt geen OpenAI-API.

text
Requirements → Codex on the PC → SSH → reComputer RK3576
                                          ↓
PC browser ← upload / playback / download ← YOLOv8n on the NPU
FaseWat je aanlevertWat je controleert
InspecterenBoardadres, account en toegestane leesbewerkingenSSH werkt en de NPU-omgeving is toegankelijk
BouwenGewenst appgedrag en apparaatbeperkingenJuist model, hardware-inferentie en bruikbare interface
UitrollenAppmap en startvereistenDe server start en de pc kan de URL bereiken
ValiderenTestvideo en acceptatiecriteriaHet hele traject van upload tot download werkt

Voordat je begint

  • Een reComputer RK3576 Dev Kit met Linux, een werkende NPU-driver en RKNN Runtime.
  • Een pc met Codex, een lokale projectmap en SSH-tools die beschikbaar zijn vanuit de shell.
  • Een netwerkverbinding tussen pc en board, en toestemming voor Codex om de benodigde lokale tools en SSH-verbinding te gebruiken.
  • Een MP4-testvideo. De repository van dit project bevat video/test.mp4.

Dit voorbeeld hergebruikt een bestaande Python-, RKNNLite-, OpenCV- en NumPy-omgeving. Het schrijven van een besturingssysteemimage en de installatie van de NPU-driver vallen buiten deze uitleg. Ontbreken er afhankelijkheden op je board, vraag Codex dan eerst te melden welke dat zijn voordat ze worden geïnstalleerd.

Stap 1: laat Codex het board inspecteren

Open een lokale projectmap in Codex op je pc. Begin met een verzoek om alleen te lezen, zodat de implementatie gebaseerd is op de werkelijke omgeving van het board.

text
Connect to my reComputer RK3576 via SSH.

Host: <DEVICE_IP>
Username: <DEVICE_USER>
Use my SSH key, or ask for the credentials needed to connect.

Check the OS, architecture, memory, available storage, RKNN Runtime, Python
environments, NPU driver and device access, and existing YOLO models.
Verify that remote commands can execute successfully.

Do not install packages or modify the system yet. Report the environment and
any issues that could block deployment.

Vervang de tijdelijke aanduidingen door je apparaatgegevens. Neem verbindingsgegevens niet op in projectbestanden of commits.

In de oorspronkelijke sessie werden Debian 12 ARM64, een toegankelijk RKNPU-apparaat, bestaande RKNNLite- en OpenCV-afhankelijkheden en beperkte vrije ruimte op het rootbestandssysteem aangetroffen. Daarom werd de bestaande omgeving hergebruikt en kreeg de app uploadlimieten en opslagcontroles.

Stap 2: beschrijf de gewenste app

Geef Codex het volledige gebruikersverloop, de hardwarevereisten en een omschrijving van wanneer de taak klaar is. De volgende prompt is gebaseerd op het verzoek waarmee deze app is gebouwd:

text
Build and deploy a YOLOv8 object detection WebUI on my reComputer RK3576 via SSH.

Download a precompiled RK3576-compatible YOLOv8n .rknn model from Rockchip's
official resources or a verified source. Record its source and verify its
published checksum. Do not train or convert models.

Use the RK3576 NPU for inference. Create a modern English WebUI where I can
upload an MP4 from my PC, run detection, and play or download the processed
video with bounding boxes, class labels, confidence scores, and FPS.

Reuse existing RKNN dependencies and official examples where possible.
Keep application files in a dedicated directory. Do not reinstall drivers
or modify system configurations without permission.

Test the complete workflow on the actual board, fix errors, and provide the
working WebUI URL, measured performance, and remaining limitations.

Zo werken modelkeuze, interface, uitrol en tests naar hetzelfde resultaat toe. De prompts zijn uitgangspunten en garanderen niet op elk board dezelfde implementatie of prestaties.

Stap 3: controleer het model en het NPU-inferentiepad

Controleer vóór het verwerken van een volledige video het inferentiepad met een bekende afbeelding. Vraag Codex om de volgende onderbouwing:

  • Downloadbron, vastgelegde revisie, controlesom en RK3576-doelplatform van het model.
  • Succesvol laden van het model en initialiseren van de NPU met RKNNLite.
  • Detectie van de verwachte objecten in een bekende testafbeelding.
  • Waarschuwingen tijdens het uitvoeren en de betrokken versies.

Voor dit project downloadde Codex een vooraf gecompileerd YOLOv8n-INT8-model van RKNNAI/RK3576-CNN-yolov8n en controleerde het de gepubliceerde SHA-256. Het hergebruikte RKNNLite en paste het officiële YOLOv8-voorbeeld voor nabewerking van Rockchip aan, met NumPy voor DFL in plaats van Torch toe te voegen. De test met een bekende afbeelding detecteerde personen en een bus.

De geïnstalleerde Runtime was versie 2.3.0, terwijl het model compilerversie 2.4.2 meldde. RKNN gaf een waarschuwing over het versieverschil. De afbeeldingstest en de volledige videotest slaagden op dit board zonder Runtime-upgrade; dat bewijst geen algemene compatibiliteit met andere modellen of omgevingen.

Stap 4: rol de WebUI uit en open deze

Codex plaatste de app in /home/seeed/codex-yolov8-webui en startte een achtergrondserver op poort 8080. Open voor je eigen board:

text
http://<DEVICE_IP>:8080

De uiteindelijke interface bevat MP4-upload, instellingen voor betrouwbaarheid en IoU, voortgangsvoorbeelden, een videospeler met gemarkeerde resultaten, downloads en een lokale uitvoeringsgeschiedenis. Alle verwerking en geüploade bestanden blijven op het board.

Als je de bestaande repository wilt uitrollen in plaats van de app opnieuw te bouwen, laat Codex dan de uitrolinstructies lezen, je board inspecteren, de bestanden overzetten, de paden aanpassen aan je Python-omgeving, de NPU-test uitvoeren en de server starten. De meegeleverde scripts verwijzen naar de omgevingspaden van het oorspronkelijke apparaat en zijn geen universele installatiescripts.

Op het oorspronkelijke apparaat worden deze opdrachten gebruikt:

bash
cd /home/seeed/codex-yolov8-webui
/home/seeed/venvs/rknn-lite2-test/bin/python -B probe.py
sh start.sh

Er is geen service voor automatisch starten geïnstalleerd. Voer na een herstart van het board opnieuw sh start.sh uit.

Stap 5: test van upload tot download

Upload video/test.mp4 via de browser op je pc en start de detectie. Controleer zelf het zichtbare resultaat en laat Codex daarna het volledige traject valideren:

text
Test the deployed WebUI end to end with video/test.mp4.

Verify upload, NPU inference, progress updates, bounding boxes and labels,
browser playback, seeking, and downloading the result back to the PC.
Confirm that every frame of the downloaded video decodes successfully.

Check invalid uploads, busy-device handling, cancellation, and cleanup with
disposable test runs. Fix errors and rerun the affected checks.

Report NPU inference FPS separately from full processing FPS. Save the test
results and document limitations and compatibility warnings.

De oorspronkelijke test van 15 oktober 2026 leverde de volgende resultaten op:

MetingResultaat
Bronvideo3840 × 2160, 29.97 FPS, 394 frames
Uitvoer met markeringenH.264 MP4, 1280 × 720, 13.146 seconden
Verwerkte en na download gedecodeerde frames394 / 394
NPU-inferentiedoorvoer37.63 FPS
Doorvoer van de volledige verwerking7.89 FPS
Verwerkingstijd49.92 seconden, exclusief upload en opstarten van het model
Waargenomen klassencar, bus, truck, traffic light

De NPU-FPS meten de tijd binnen de inferentie. De verwerkings-FPS omvatten videodecodering, voorbewerking, inferentie, nabewerking, tekenen en codering. Deze getallen zijn metingen van deze uitvoering, geen prestatiegarantie en ook niet de afspeelframerate van de video. De rapporten staan in de map verification/ van de repository.

Stap 6: maak van het resultaat een herbruikbaar project

Vraag Codex, zodra de app werkt, om de broncode, uitrolinstructies, schermafbeeldingen, modelherkomst, licenties en testrapporten te ordenen. Neem alleen media op waarvan je het uploaden hebt toegestaan, en sluit inloggegevens, tijdens het gebruik geüploade bestanden en logbestanden uit.

Gebruik voor je volgende app dezelfde volgorde: inspecteer het board, beschrijf het gebruikersverloop, definieer hardware- en systeembeperkingen, rol de app uit en controleer deze met echte invoer. Pas de eisen en acceptatietests aan de nieuwe taak aan.

Toepassingsgebied en bronnen