Dit project brengt schapvisie, voorraadstatus, spraakinteractie en analyse van verkoopgesprekken samen in één browserinterface op reComputer RK3588. Met reCamera en ReSpeaker XVF3800 worden RKNN-beeldinferentie, spraakherkenning, sprekeronderscheiding, lokale LLM-verwerking en spraaksynthese op het edge-apparaat uitgevoerd.
Nadat de runtime-assets zijn voorbereid, blijven video, audio, voorraadgegevens en resultaten lokaal. Tijdens de demonstratie is geen cloud-API nodig.
Broncode: Seeed-Projects/Lab-Prooject-RK

Belangrijkste functies
- Eén Vue-frontend en één FastAPI-service voor drie demo's.
- RKNN-objectdetectie op de RK3588-NPU.
- Gedetecteerde video en actuele productstatus vanuit reCamera.
- Verre-veld audio-opname met ReSpeaker XVF3800.
- Lokale Qwen3-ASR, sprekeronderscheiding, RKLLM en Piper TTS.
- Zichtbare status van hardware, modelservices en inferentiepijplijnen.
- Voorraadaantallen uit deterministische logica in plaats van LLM-schattingen.
Drie demo-ervaringen
1. Slim schap met één camera en spraakassistent

reCamera levert een RTSP-stream met detecties en de actuele productstatus aan de reComputer. Medewerkers kunnen vragen:
- Hoeveel flessen staan nog op het schap?
- Hoeveel producttypen zijn aanwezig?
- Welke producten ontbreken?
Het gestructureerde antwoord verschijnt in de browser en kan via de aangesloten luidspreker worden uitgesproken.
Het LLM bepaalt alleen de intentie. Productnamen en aantallen worden berekend uit een recente reCamera-status. Als die status ontbreekt of verouderd is, meldt de toepassing dat de voorraad niet beschikbaar is.
2. Bewaking met vier streams
Vier onafhankelijke opname- en inferentieprocessen draaien gelijktijdig op de RK3588. Het dashboard toont:
- vier geannoteerde videostreams;
- opname-, inferentie- en weergave-FPS per stream;
- status van de NPU-workers;
- een gedeelde tijdlijn voor aanvulgebeurtenissen;
- voorraadwijzigingen en aanvullingsmeldingen.
De repository bevat twee FP16 RKNN-modellen, de RKNN Lite 2.3.2 arm64-wheel, een voorbeeldvideo en de demo-configuratie.
De schapregio's en gebeurtenisregels zijn afgestemd op de meegeleverde video. Kalibreer ROI's en bedrijfsregels opnieuw bij een andere camera- of schapopstelling.
3. Analyse van verkoopgesprekken

ReSpeaker XVF3800 neemt het gesprek op. De lokale pijplijn voert daarna uit:
- detectie van spraaksegmenten met Silero VAD;
- sprekerkenmerken en sprekeronderscheiding met CAM++;
- realtime transcriptie met Qwen3-ASR;
- samenvatting, klantintentie en aanbevolen vervolgstap met RKLLM.
Transcripties en analyses worden voortdurend naar de browser gestuurd. Overlappende spraak wordt niet gescheiden en kan de nauwkeurigheid verlagen.
Systeemarchitectuur
| Component | Standaardverbinding | Doel |
|---|---|---|
| Browser → reComputer | http://<RK3588-IP>:8080 | UI, REST API en WebSocket-events |
| reCamera → reComputer | RTSP :8554, WebSocket :9002 | Gedetecteerde video en productstatus |
| ReSpeaker → reComputer | USB Audio, ALSA-kaart met Array | Verre-veld audio-opname |
| reComputer → luidspreker | ES8311 3,5-mm-uitgang | Piper-spraakweergave |
| Lokale ASR / RKLLM | :8621 / :8001 | Herkenning, intentie en samenvatting |
Hardwarevereisten
| Hardware | Vereiste |
|---|---|
| Edgecomputer | reComputer RK3588, minimaal 8 GB aanbevolen |
| Camera | reCamera bereikbaar via USB-netwerk of Ethernet |
| Microfoon | ReSpeaker XVF3800 USB-microfoonarray |
| Audio | Hoofdtelefoon of actieve luidspreker op ES8311 3,5 mm |
| Opslag | Minimaal 12 GB voor de volledige offline spraakassets |
| Bedieningsscherm | Lokale browser of apparaat op hetzelfde LAN |
Voor alleen de demo met vier streams kunnen reCamera, ReSpeaker en de spraakservices worden weggelaten.
Softwarevereisten
- Debian 12 arm64
- Werkende RKNPU-driver en RKNN Runtime
- Python 3.11 en
python3-venv - Node.js 18 of nieuwer
curlenalsa-utils- Docker en Docker Compose voor ASR en RKLLM
- Optioneel go2rtc; MJPEG dient als fallback
Snel starten
1. Code ophalen
git clone https://github.com/Seeed-Projects/Lab-Prooject-RK.git
cd Lab-Prooject-RK
cp .env.example .envPas .env aan, vooral het reCamera-adres, de ALSA-kaart, audio-uitvoer en lokale modelendpoints.
2. Applicatie voorbereiden
./scripts/bootstrap.sh
./scripts/verify.shbootstrap.sh maakt de backend- en RKNN-omgevingen, installeert RKNN Lite, bouwt de Vue-frontend en downloadt gecontroleerde Piper-assets. Zonder cache is internettoegang nodig.
3. Optioneel: spraakruntime voorbereiden
Deze stap kan worden overgeslagen voor de meerkanaals demo. De voorraadassistent en gespreksanalyse vereisen extra ASR- en RKLLM-resources.
Plaats de offline bundel in:
services/voice-pipeline/deploy/bundle/cd services/voice-pipeline
./deploy/restore.sh ./deploy/bundle
docker compose -f deploy/docker-compose.asr-realtime.yml up -d
docker compose -f deploy/docker-compose.llm-summary.yml up -d
./bootstrap.sh
cd ../..4. Democentrum starten
./scripts/start.sh
./scripts/status.shOpen http://<RK3588-IP>:8080 in een browser op hetzelfde netwerk. Stoppen kan met:
./scripts/stop.shValidatie en status
./scripts/verify.shcurl -fsS http://127.0.0.1:8080/api/v1/health
curl -fsS http://127.0.0.1:8080/api/v1/hardware/status
curl -fsS http://127.0.0.1:8080/api/v1/showcase/status
curl -fsS http://127.0.0.1:8621/health
curl -fsS http://127.0.0.1:8001/healthAPI-documentatie: http://<RK3588-IP>:8080/docs
Bekende beperkingen
- De volledige spraakervaring vereist ASR-, RKLLM- en modelassets die niet allemaal in Git staan.
bootstrap.shheeft netwerktoegang nodig wanneer afhankelijkheden niet zijn gecachet.- ROI's en sommige gebeurtenisregels van de vierstreamdemo zijn afgestemd op de voorbeeldvideo.
- Voorraadantwoorden vereisen een recente reCamera-productstatus en schatten geen aantallen uit video alleen.
- Overlappende spraak wordt niet ondersteund.
- UI en WebSocket hebben geen publieke authenticatie; gebruik een vertrouwd LAN of beveiligde reverse proxy.
Bronnen
De integratiecode valt onder Apache-2.0. Modellen, voorbeeldmedia, leverancierswheels en upstream-services behouden hun eigen licenties.